GitHub · Capability

GitHub v3 REST API — Users

GitHub v3 REST API — Users. 36 operations. Lead operation: GitHub Get the Authenticated User. Self-contained Naftiko capability covering one Github business surface.

Run with Naftiko GithubUsers

What You Can Do

GET
Usersgetauthenticated — GitHub Get the Authenticated User
/v1/user
PATCH
Usersupdateauthenticated — GitHub Update the Authenticated User
/v1/user
GET
Userslistemailsforauthenticateduser — GitHub List Email Addresses for the Authenticated User
/v1/user/emails
POST
Usersaddemailforauthenticateduser — GitHub Add an Email Address for the Authenticated User
/v1/user/emails
DELETE
Usersdeleteemailforauthenticateduser — GitHub Delete an Email Address for the Authenticated User
/v1/user/emails
GET
Userslistfollowersforauthenticateduser — GitHub List Followers of the Authenticated User
/v1/user/followers
GET
Userslistfollowedbyauthenticateduser — GitHub List the People the Authenticated User Follows
/v1/user/following
GET
Userscheckpersonisfollowedbyauthenticated — GitHub Check if a Person is Followed by the Authenticated User
/v1/user/following/{username}
PUT
Usersfollow — GitHub Follow a User
/v1/user/following/{username}
DELETE
Usersunfollow — GitHub Unfollow a User
/v1/user/following/{username}
GET
Userslistgpgkeysforauthenticateduser — GitHub List GPG Keys for the Authenticated User
/v1/user/gpg-keys
POST
Userscreategpgkeyforauthenticateduser — GitHub Create a GPG Key for the Authenticated User
/v1/user/gpg-keys
GET
Usersgetgpgkeyforauthenticateduser — GitHub Get a GPG Key for the Authenticated User
/v1/user/gpg-keys/{gpg-key-id}
DELETE
Usersdeletegpgkeyforauthenticateduser — GitHub Delete a GPG Key for the Authenticated User
/v1/user/gpg-keys/{gpg-key-id}
GET
Userslistpublicsshkeysforauthenticateduser — GitHub List Public SSH Keys for the Authenticated User
/v1/user/keys
POST
Userscreatepublicsshkeyforauthenticateduser — GitHub Create a Public SSH Key for the Authenticated User
/v1/user/keys
GET
Usersgetpublicsshkeyforauthenticateduser — GitHub Get a Public SSH Key for the Authenticated User
/v1/user/keys/{key-id}
DELETE
Usersdeletepublicsshkeyforauthenticateduser — GitHub Delete a Public SSH Key for the Authenticated User
/v1/user/keys/{key-id}
GET
Userslistpublicemailsforauthenticateduser — GitHub List Public Email Addresses for the Authenticated User
/v1/user/public-emails
GET
Userslistsocialaccountsforauthenticateduser — GitHub List Social Accounts for the Authenticated User
/v1/user/social-accounts
POST
Usersaddsocialaccountforauthenticateduser — GitHub Add Social Accounts for the Authenticated User
/v1/user/social-accounts
DELETE
Usersdeletesocialaccountforauthenticateduser — GitHub Delete Social Accounts for the Authenticated User
/v1/user/social-accounts
GET
Userslistsshsigningkeysforauthenticateduser — GitHub List SSH Signing Keys for the Authenticated User
/v1/user/ssh-signing-keys
POST
Userscreatesshsigningkeyforauthenticateduser — GitHub Create a SSH Signing Key for the Authenticated User
/v1/user/ssh-signing-keys
GET
Usersgetsshsigningkeyforauthenticateduser — GitHub Get an SSH Signing Key for the Authenticated User
/v1/user/ssh-signing-keys/{ssh-signing-key-id}
DELETE
Usersdeletesshsigningkeyforauthenticateduser — GitHub Delete an SSH Signing Key for the Authenticated User
/v1/user/ssh-signing-keys/{ssh-signing-key-id}
GET
Userslist — GitHub List Users
/v1/users
GET
Usersgetbyusername — GitHub Get a User
/v1/users/{username}
GET
Userslistfollowersforuser — GitHub List Followers of a User
/v1/users/{username}/followers
GET
Userslistfollowingforuser — GitHub List the People a User Follows
/v1/users/{username}/following
GET
Userscheckfollowingforuser — GitHub Check if a User Follows Another User
/v1/users/{username}/following/{target-user}
GET
Userslistgpgkeysforuser — GitHub List GPG Keys for a User
/v1/users/{username}/gpg-keys
GET
Usersgetcontextforuser — GitHub Get Contextual Information for a User
/v1/users/{username}/hovercard
GET
Userslistpublickeysforuser — GitHub List Public Keys for a User
/v1/users/{username}/keys
GET
Userslistsocialaccountsforuser — GitHub List Social Accounts for a User
/v1/users/{username}/social-accounts
GET
Userslistsshsigningkeysforuser — GitHub List SSH Signing Keys for a User
/v1/users/{username}/ssh-signing-keys

MCP Tools

github-get-authenticated-user

GitHub Get the Authenticated User

read-only idempotent
github-update-authenticated-user

GitHub Update the Authenticated User

idempotent
github-list-email-addresses-authenticated

GitHub List Email Addresses for the Authenticated User

read-only idempotent
github-add-email-address-authenticated

GitHub Add an Email Address for the Authenticated User

github-delete-email-address-authenticated

GitHub Delete an Email Address for the Authenticated User

idempotent
github-list-followers-authenticated-user

GitHub List Followers of the Authenticated User

read-only idempotent
github-list-people-authenticated-user

GitHub List the People the Authenticated User Follows

read-only idempotent
github-check-if-person-is

GitHub Check if a Person is Followed by the Authenticated User

read-only idempotent
github-follow-user

GitHub Follow a User

idempotent
github-unfollow-user

GitHub Unfollow a User

idempotent
github-list-gpg-keys-authenticated

GitHub List GPG Keys for the Authenticated User

read-only idempotent
github-create-gpg-key-authenticated

GitHub Create a GPG Key for the Authenticated User

github-get-gpg-key-authenticated

GitHub Get a GPG Key for the Authenticated User

read-only idempotent
github-delete-gpg-key-authenticated

GitHub Delete a GPG Key for the Authenticated User

idempotent
github-list-public-ssh-keys

GitHub List Public SSH Keys for the Authenticated User

read-only idempotent
github-create-public-ssh-key

GitHub Create a Public SSH Key for the Authenticated User

github-get-public-ssh-key

GitHub Get a Public SSH Key for the Authenticated User

read-only idempotent
github-delete-public-ssh-key

GitHub Delete a Public SSH Key for the Authenticated User

idempotent
github-list-public-email-addresses

GitHub List Public Email Addresses for the Authenticated User

read-only idempotent
github-list-social-accounts-authenticated

GitHub List Social Accounts for the Authenticated User

read-only idempotent
github-add-social-accounts-authenticated

GitHub Add Social Accounts for the Authenticated User

github-delete-social-accounts-authenticated

GitHub Delete Social Accounts for the Authenticated User

idempotent
github-list-ssh-signing-keys

GitHub List SSH Signing Keys for the Authenticated User

read-only idempotent
github-create-ssh-signing-key

GitHub Create a SSH Signing Key for the Authenticated User

github-get-ssh-signing-key

GitHub Get an SSH Signing Key for the Authenticated User

read-only idempotent
github-delete-ssh-signing-key

GitHub Delete an SSH Signing Key for the Authenticated User

idempotent
github-list-users

GitHub List Users

read-only idempotent
github-get-user

GitHub Get a User

read-only idempotent
github-list-followers-user

GitHub List Followers of a User

read-only idempotent
github-list-people-user-follows

GitHub List the People a User Follows

read-only idempotent
github-check-if-user-follows

GitHub Check if a User Follows Another User

read-only idempotent
github-list-gpg-keys-user

GitHub List GPG Keys for a User

read-only idempotent
github-get-contextual-information-user

GitHub Get Contextual Information for a User

read-only idempotent
github-list-public-keys-user

GitHub List Public Keys for a User

read-only idempotent
github-list-social-accounts-user

GitHub List Social Accounts for a User

read-only idempotent
github-list-ssh-signing-keys-2

GitHub List SSH Signing Keys for a User

read-only idempotent

Capability Spec

github-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitHub v3 REST API — Users
  description: 'GitHub v3 REST API — Users. 36 operations. Lead operation: GitHub Get the Authenticated User. Self-contained
    Naftiko capability covering one Github business surface.'
  tags:
  - Github
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITHUB_API_KEY: GITHUB_API_KEY
capability:
  consumes:
  - type: http
    namespace: github-users
    baseUri: ''
    description: GitHub v3 REST API — Users business capability. Self-contained, no shared references.
    resources:
    - name: user
      path: /user
      operations:
      - name: usersgetauthenticated
        method: GET
        description: GitHub Get the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersupdateauthenticated
        method: PATCH
        description: GitHub Update the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: user-emails
      path: /user/emails
      operations:
      - name: userslistemailsforauthenticateduser
        method: GET
        description: GitHub List Email Addresses for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersaddemailforauthenticateduser
        method: POST
        description: GitHub Add an Email Address for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: usersdeleteemailforauthenticateduser
        method: DELETE
        description: GitHub Delete an Email Address for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: user-followers
      path: /user/followers
      operations:
      - name: userslistfollowersforauthenticateduser
        method: GET
        description: GitHub List Followers of the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-following
      path: /user/following
      operations:
      - name: userslistfollowedbyauthenticateduser
        method: GET
        description: GitHub List the People the Authenticated User Follows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-following-username
      path: /user/following/{username}
      operations:
      - name: userscheckpersonisfollowedbyauthenticated
        method: GET
        description: GitHub Check if a Person is Followed by the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersfollow
        method: PUT
        description: GitHub Follow a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersunfollow
        method: DELETE
        description: GitHub Unfollow a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-gpg_keys
      path: /user/gpg_keys
      operations:
      - name: userslistgpgkeysforauthenticateduser
        method: GET
        description: GitHub List GPG Keys for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: userscreategpgkeyforauthenticateduser
        method: POST
        description: GitHub Create a GPG Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-gpg_keys-gpg_key_id
      path: /user/gpg_keys/{gpg_key_id}
      operations:
      - name: usersgetgpgkeyforauthenticateduser
        method: GET
        description: GitHub Get a GPG Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersdeletegpgkeyforauthenticateduser
        method: DELETE
        description: GitHub Delete a GPG Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-keys
      path: /user/keys
      operations:
      - name: userslistpublicsshkeysforauthenticateduser
        method: GET
        description: GitHub List Public SSH Keys for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: userscreatepublicsshkeyforauthenticateduser
        method: POST
        description: GitHub Create a Public SSH Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-keys-key_id
      path: /user/keys/{key_id}
      operations:
      - name: usersgetpublicsshkeyforauthenticateduser
        method: GET
        description: GitHub Get a Public SSH Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersdeletepublicsshkeyforauthenticateduser
        method: DELETE
        description: GitHub Delete a Public SSH Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-public_emails
      path: /user/public_emails
      operations:
      - name: userslistpublicemailsforauthenticateduser
        method: GET
        description: GitHub List Public Email Addresses for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-social_accounts
      path: /user/social_accounts
      operations:
      - name: userslistsocialaccountsforauthenticateduser
        method: GET
        description: GitHub List Social Accounts for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersaddsocialaccountforauthenticateduser
        method: POST
        description: GitHub Add Social Accounts for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: usersdeletesocialaccountforauthenticateduser
        method: DELETE
        description: GitHub Delete Social Accounts for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-ssh_signing_keys
      path: /user/ssh_signing_keys
      operations:
      - name: userslistsshsigningkeysforauthenticateduser
        method: GET
        description: GitHub List SSH Signing Keys for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: userscreatesshsigningkeyforauthenticateduser
        method: POST
        description: GitHub Create a SSH Signing Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: user-ssh_signing_keys-ssh_signing_key_id
      path: /user/ssh_signing_keys/{ssh_signing_key_id}
      operations:
      - name: usersgetsshsigningkeyforauthenticateduser
        method: GET
        description: GitHub Get an SSH Signing Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: usersdeletesshsigningkeyforauthenticateduser
        method: DELETE
        description: GitHub Delete an SSH Signing Key for the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users
      path: /users
      operations:
      - name: userslist
        method: GET
        description: GitHub List Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username
      path: /users/{username}
      operations:
      - name: usersgetbyusername
        method: GET
        description: GitHub Get a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-followers
      path: /users/{username}/followers
      operations:
      - name: userslistfollowersforuser
        method: GET
        description: GitHub List Followers of a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-following
      path: /users/{username}/following
      operations:
      - name: userslistfollowingforuser
        method: GET
        description: GitHub List the People a User Follows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-following-target_user
      path: /users/{username}/following/{target_user}
      operations:
      - name: userscheckfollowingforuser
        method: GET
        description: GitHub Check if a User Follows Another User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target_user
          in: path
          type: string
          required: true
    - name: users-username-gpg_keys
      path: /users/{username}/gpg_keys
      operations:
      - name: userslistgpgkeysforuser
        method: GET
        description: GitHub List GPG Keys for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-hovercard
      path: /users/{username}/hovercard
      operations:
      - name: usersgetcontextforuser
        method: GET
        description: GitHub Get Contextual Information for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: subject_type
          in: query
          type: string
          description: Identifies which additional information you'd like to receive about the person's hovercard. Can be
            `organization`, `repository`, `issue`, `pull_request`. **Requ
        - name: subject_id
          in: query
          type: string
          description: Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`.
    - name: users-username-keys
      path: /users/{username}/keys
      operations:
      - name: userslistpublickeysforuser
        method: GET
        description: GitHub List Public Keys for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-social_accounts
      path: /users/{username}/social_accounts
      operations:
      - name: userslistsocialaccountsforuser
        method: GET
        description: GitHub List Social Accounts for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-username-ssh_signing_keys
      path: /users/{username}/ssh_signing_keys
      operations:
      - name: userslistsshsigningkeysforuser
        method: GET
        description: GitHub List SSH Signing Keys for a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: github-users-rest
    port: 8080
    description: REST adapter for GitHub v3 REST API — Users. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/user
      name: user
      description: REST surface for user.
      operations:
      - method: GET
        name: usersgetauthenticated
        description: GitHub Get the Authenticated User
        call: github-users.usersgetauthenticated
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: usersupdateauthenticated
        description: GitHub Update the Authenticated User
        call: github-users.usersupdateauthenticated
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/emails
      name: user-emails
      description: REST surface for user-emails.
      operations:
      - method: GET
        name: userslistemailsforauthenticateduser
        description: GitHub List Email Addresses for the Authenticated User
        call: github-users.userslistemailsforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: usersaddemailforauthenticateduser
        description: GitHub Add an Email Address for the Authenticated User
        call: github-users.usersaddemailforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersdeleteemailforauthenticateduser
        description: GitHub Delete an Email Address for the Authenticated User
        call: github-users.usersdeleteemailforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/followers
      name: user-followers
      description: REST surface for user-followers.
      operations:
      - method: GET
        name: userslistfollowersforauthenticateduser
        description: GitHub List Followers of the Authenticated User
        call: github-users.userslistfollowersforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/following
      name: user-following
      description: REST surface for user-following.
      operations:
      - method: GET
        name: userslistfollowedbyauthenticateduser
        description: GitHub List the People the Authenticated User Follows
        call: github-users.userslistfollowedbyauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/following/{username}
      name: user-following-username
      description: REST surface for user-following-username.
      operations:
      - method: GET
        name: userscheckpersonisfollowedbyauthenticated
        description: GitHub Check if a Person is Followed by the Authenticated User
        call: github-users.userscheckpersonisfollowedbyauthenticated
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: usersfollow
        description: GitHub Follow a User
        call: github-users.usersfollow
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersunfollow
        description: GitHub Unfollow a User
        call: github-users.usersunfollow
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/gpg-keys
      name: user-gpg-keys
      description: REST surface for user-gpg_keys.
      operations:
      - method: GET
        name: userslistgpgkeysforauthenticateduser
        description: GitHub List GPG Keys for the Authenticated User
        call: github-users.userslistgpgkeysforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: userscreategpgkeyforauthenticateduser
        description: GitHub Create a GPG Key for the Authenticated User
        call: github-users.userscreategpgkeyforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/gpg-keys/{gpg-key-id}
      name: user-gpg-keys-gpg-key-id
      description: REST surface for user-gpg_keys-gpg_key_id.
      operations:
      - method: GET
        name: usersgetgpgkeyforauthenticateduser
        description: GitHub Get a GPG Key for the Authenticated User
        call: github-users.usersgetgpgkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersdeletegpgkeyforauthenticateduser
        description: GitHub Delete a GPG Key for the Authenticated User
        call: github-users.usersdeletegpgkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/keys
      name: user-keys
      description: REST surface for user-keys.
      operations:
      - method: GET
        name: userslistpublicsshkeysforauthenticateduser
        description: GitHub List Public SSH Keys for the Authenticated User
        call: github-users.userslistpublicsshkeysforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: userscreatepublicsshkeyforauthenticateduser
        description: GitHub Create a Public SSH Key for the Authenticated User
        call: github-users.userscreatepublicsshkeyforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/keys/{key-id}
      name: user-keys-key-id
      description: REST surface for user-keys-key_id.
      operations:
      - method: GET
        name: usersgetpublicsshkeyforauthenticateduser
        description: GitHub Get a Public SSH Key for the Authenticated User
        call: github-users.usersgetpublicsshkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersdeletepublicsshkeyforauthenticateduser
        description: GitHub Delete a Public SSH Key for the Authenticated User
        call: github-users.usersdeletepublicsshkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/public-emails
      name: user-public-emails
      description: REST surface for user-public_emails.
      operations:
      - method: GET
        name: userslistpublicemailsforauthenticateduser
        description: GitHub List Public Email Addresses for the Authenticated User
        call: github-users.userslistpublicemailsforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/social-accounts
      name: user-social-accounts
      description: REST surface for user-social_accounts.
      operations:
      - method: GET
        name: userslistsocialaccountsforauthenticateduser
        description: GitHub List Social Accounts for the Authenticated User
        call: github-users.userslistsocialaccountsforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: usersaddsocialaccountforauthenticateduser
        description: GitHub Add Social Accounts for the Authenticated User
        call: github-users.usersaddsocialaccountforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersdeletesocialaccountforauthenticateduser
        description: GitHub Delete Social Accounts for the Authenticated User
        call: github-users.usersdeletesocialaccountforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/ssh-signing-keys
      name: user-ssh-signing-keys
      description: REST surface for user-ssh_signing_keys.
      operations:
      - method: GET
        name: userslistsshsigningkeysforauthenticateduser
        description: GitHub List SSH Signing Keys for the Authenticated User
        call: github-users.userslistsshsigningkeysforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: userscreatesshsigningkeyforauthenticateduser
        description: GitHub Create a SSH Signing Key for the Authenticated User
        call: github-users.userscreatesshsigningkeyforauthenticateduser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user/ssh-signing-keys/{ssh-signing-key-id}
      name: user-ssh-signing-keys-ssh-signing-key-id
      description: REST surface for user-ssh_signing_keys-ssh_signing_key_id.
      operations:
      - method: GET
        name: usersgetsshsigningkeyforauthenticateduser
        description: GitHub Get an SSH Signing Key for the Authenticated User
        call: github-users.usersgetsshsigningkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: usersdeletesshsigningkeyforauthenticateduser
        description: GitHub Delete an SSH Signing Key for the Authenticated User
        call: github-users.usersdeletesshsigningkeyforauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users
      name: users
      description: REST surface for users.
      operations:
      - method: GET
        name: userslist
        description: GitHub List Users
        call: github-users.userslist
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}
      name: users-username
      description: REST surface for users-username.
      operations:
      - method: GET
        name: usersgetbyusername
        description: GitHub Get a User
        call: github-users.usersgetbyusername
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/followers
      name: users-username-followers
      description: REST surface for users-username-followers.
      operations:
      - method: GET
        name: userslistfollowersforuser
        description: GitHub List Followers of a User
        call: github-users.userslistfollowersforuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/following
      name: users-username-following
      description: REST surface for users-username-following.
      operations:
      - method: GET
        name: userslistfollowingforuser
        description: GitHub List the People a User Follows
        call: github-users.userslistfollowingforuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/following/{target-user}
      name: users-username-following-target-user
      description: REST surface for users-username-following-target_user.
      operations:
      - method: GET
        name: userscheckfollowingforuser
        description: GitHub Check if a User Follows Another User
        call: github-users.userscheckfollowingforuser
        with:
          target_user: rest.target_user
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/gpg-keys
      name: users-username-gpg-keys
      description: REST surface for users-username-gpg_keys.
      operations:
      - method: GET
        name: userslistgpgkeysforuser
        description: GitHub List GPG Keys for a User
        call: github-users.userslistgpgkeysforuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/hovercard
      name: users-username-hovercard
      description: REST surface for users-username-hovercard.
      operations:
      - method: GET
        name: usersgetcontextforuser
        description: GitHub Get Contextual Information for a User
        call: github-users.usersgetcontextforuser
        with:
          subject_type: rest.subject_type
          subject_id: rest.subject_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/keys
      name: users-username-keys
      description: REST surface for users-username-keys.
      operations:
      - method: GET
        name: userslistpublickeysforuser
        description: GitHub List Public Keys for a User
        call: github-users.userslistpublickeysforuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/social-accounts
      name: users-username-social-accounts
      description: REST surface for users-username-social_accounts.
      operations:
      - method: GET
        name: userslistsocialaccountsforuser
        description: GitHub List Social Accounts for a User
        call: github-users.userslistsocialaccountsforuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{username}/ssh-signing-keys
      name: users-username-ssh-signing-keys
      description: REST surface for users-username-ssh_signing_keys.
      operations:
      - method: GET
        name: userslistsshsigningkeysforuser
        description: GitHub List SSH Signing Keys for a User
        call: github-users.userslistsshsigningkeysforuser
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: github-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitHub v3 REST API — Users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: github-get-authenticated-user
      description: GitHub Get the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.usersgetauthenticated
      outputParameters:
      - type: object
        mapping: $.
    - name: github-update-authenticated-user
      description: GitHub Update the Authenticated User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: github-users.usersupdateauthenticated
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-email-addresses-authenticated
      description: GitHub List Email Addresses for the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userslistemailsforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-add-email-address-authenticated
      description: GitHub Add an Email Address for the Authenticated User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: github-users.usersaddemailforauthenticateduser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-email-address-authenticated
      description: GitHub Delete an Email Address for the Authenticated User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: github-users.usersdeleteemailforauthenticateduser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-followers-authenticated-user
      description: GitHub List Followers of the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userslistfollowersforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-people-authenticated-user
      description: GitHub List the People the Authenticated User Follows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userslistfollowedbyauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-check-if-person-is
      description: GitHub Check if a Person is Followed by the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userscheckpersonisfollowedbyauthenticated
      outputParameters:
      - type: object
        mapping: $.
    - name: github-follow-user
      description: GitHub Follow a User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: github-users.usersfollow
      outputParameters:
      - type: object
        mapping: $.
    - name: github-unfollow-user
      description: GitHub Unfollow a User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: github-users.usersunfollow
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-gpg-keys-authenticated
      description: GitHub List GPG Keys for the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userslistgpgkeysforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-gpg-key-authenticated
      description: GitHub Create a GPG Key for the Authenticated User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: github-users.userscreategpgkeyforauthenticateduser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-get-gpg-key-authenticated
      description: GitHub Get a GPG Key for the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.usersgetgpgkeyforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-gpg-key-authenticated
      description: GitHub Delete a GPG Key for the Authenticated User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: github-users.usersdeletegpgkeyforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-public-ssh-keys
      description: GitHub List Public SSH Keys for the Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: github-users.userslistpublicsshkeysforauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-public-ssh-key
      description: GitHub Create a Public SSH Key for the Authenticated User

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/capabilities/github-users.yaml