Google People · Capability

Google People API

The Google People API provides access to information about profiles and contacts. It enables reading and managing the authenticated user's contacts and accessing profile information for authenticated users across Google services.

Run with Naftiko GooglePeopleAPI

What You Can Do

GET
Getperson — Google People Get Person
/people/{resourceName}
GET
Batchgetpeople — Google People Batch Get People
/people:batchGet
GET
Searchcontacts — Google People Search Contacts
/people:searchContacts
POST
Createcontact — Google People Create Contact
/people:createContact
DELETE
Deletecontact — Google People Delete Contact
/people/{resourceName}:deleteContact
PATCH
Updatecontact — Google People Update Contact
/people/{resourceName}:updateContact
GET
Listconnections — Google People List Connections
/people/me/connections
GET
Listcontactgroups — Google People List Contact Groups
/contactGroups
POST
Createcontactgroup — Google People Create Contact Group
/contactGroups
GET
Getcontactgroup — Google People Get Contact Group
/contactGroups/{resourceName}
PUT
Updatecontactgroup — Google People Update Contact Group
/contactGroups/{resourceName}
DELETE
Deletecontactgroup — Google People Delete Contact Group
/contactGroups/{resourceName}

MCP Tools

getperson

Google People Get Person

read-only idempotent
batchgetpeople

Google People Batch Get People

read-only idempotent
searchcontacts

Google People Search Contacts

read-only idempotent
createcontact

Google People Create Contact

deletecontact

Google People Delete Contact

idempotent
updatecontact

Google People Update Contact

listconnections

Google People List Connections

read-only idempotent
listcontactgroups

Google People List Contact Groups

read-only idempotent
createcontactgroup

Google People Create Contact Group

getcontactgroup

Google People Get Contact Group

read-only idempotent
updatecontactgroup

Google People Update Contact Group

idempotent
deletecontactgroup

Google People Delete Contact Group

idempotent

Capability Spec

google-people-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google People API
  description: The Google People API provides access to information about profiles and contacts. It enables reading and managing
    the authenticated user's contacts and accessing profile information for authenticated users across Google services.
  tags:
  - Google
  - People
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: google-people
    baseUri: https://people.googleapis.com/v1
    description: Google People API HTTP API.
    authentication:
      type: bearer
      token: '{{GOOGLE_PEOPLE_TOKEN}}'
    resources:
    - name: people-resourcename
      path: /people/{resourceName}
      operations:
      - name: getperson
        method: GET
        description: Google People Get Person
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
          description: The resource name of the person (e.g., people/me).
        - name: personFields
          in: query
          type: string
          required: true
          description: A field mask to restrict which fields on the person are returned.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-batchget
      path: /people:batchGet
      operations:
      - name: batchgetpeople
        method: GET
        description: Google People Batch Get People
        inputParameters:
        - name: resourceNames
          in: query
          type: array
          required: true
        - name: personFields
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-searchcontacts
      path: /people:searchContacts
      operations:
      - name: searchcontacts
        method: GET
        description: Google People Search Contacts
        inputParameters:
        - name: query
          in: query
          type: string
          required: true
        - name: readMask
          in: query
          type: string
          required: true
        - name: pageSize
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-createcontact
      path: /people:createContact
      operations:
      - name: createcontact
        method: POST
        description: Google People Create Contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-resourcename-deletecontact
      path: /people/{resourceName}:deleteContact
      operations:
      - name: deletecontact
        method: DELETE
        description: Google People Delete Contact
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-resourcename-updatecontact
      path: /people/{resourceName}:updateContact
      operations:
      - name: updatecontact
        method: PATCH
        description: Google People Update Contact
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
        - name: updatePersonFields
          in: query
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people-me-connections
      path: /people/me/connections
      operations:
      - name: listconnections
        method: GET
        description: Google People List Connections
        inputParameters:
        - name: personFields
          in: query
          type: string
          required: true
        - name: pageSize
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
        - name: sortOrder
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contactgroups
      path: /contactGroups
      operations:
      - name: listcontactgroups
        method: GET
        description: Google People List Contact Groups
        inputParameters:
        - name: pageSize
          in: query
          type: integer
        - name: pageToken
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontactgroup
        method: POST
        description: Google People Create Contact Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contactgroups-resourcename
      path: /contactGroups/{resourceName}
      operations:
      - name: getcontactgroup
        method: GET
        description: Google People Get Contact Group
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecontactgroup
        method: PUT
        description: Google People Update Contact Group
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecontactgroup
        method: DELETE
        description: Google People Delete Contact Group
        inputParameters:
        - name: resourceName
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: google-people-rest
    description: REST adapter for Google People API.
    resources:
    - path: /people/{resourceName}
      name: getperson
      operations:
      - method: GET
        name: getperson
        description: Google People Get Person
        call: google-people.getperson
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /people:batchGet
      name: batchgetpeople
      operations:
      - method: GET
        name: batchgetpeople
        description: Google People Batch Get People
        call: google-people.batchgetpeople
        outputParameters:
        - type: object
          mapping: $.
    - path: /people:searchContacts
      name: searchcontacts
      operations:
      - method: GET
        name: searchcontacts
        description: Google People Search Contacts
        call: google-people.searchcontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /people:createContact
      name: createcontact
      operations:
      - method: POST
        name: createcontact
        description: Google People Create Contact
        call: google-people.createcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /people/{resourceName}:deleteContact
      name: deletecontact
      operations:
      - method: DELETE
        name: deletecontact
        description: Google People Delete Contact
        call: google-people.deletecontact
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /people/{resourceName}:updateContact
      name: updatecontact
      operations:
      - method: PATCH
        name: updatecontact
        description: Google People Update Contact
        call: google-people.updatecontact
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /people/me/connections
      name: listconnections
      operations:
      - method: GET
        name: listconnections
        description: Google People List Connections
        call: google-people.listconnections
        outputParameters:
        - type: object
          mapping: $.
    - path: /contactGroups
      name: listcontactgroups
      operations:
      - method: GET
        name: listcontactgroups
        description: Google People List Contact Groups
        call: google-people.listcontactgroups
        outputParameters:
        - type: object
          mapping: $.
    - path: /contactGroups
      name: createcontactgroup
      operations:
      - method: POST
        name: createcontactgroup
        description: Google People Create Contact Group
        call: google-people.createcontactgroup
        outputParameters:
        - type: object
          mapping: $.
    - path: /contactGroups/{resourceName}
      name: getcontactgroup
      operations:
      - method: GET
        name: getcontactgroup
        description: Google People Get Contact Group
        call: google-people.getcontactgroup
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /contactGroups/{resourceName}
      name: updatecontactgroup
      operations:
      - method: PUT
        name: updatecontactgroup
        description: Google People Update Contact Group
        call: google-people.updatecontactgroup
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /contactGroups/{resourceName}
      name: deletecontactgroup
      operations:
      - method: DELETE
        name: deletecontactgroup
        description: Google People Delete Contact Group
        call: google-people.deletecontactgroup
        with:
          resourceName: rest.resourceName
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: google-people-mcp
    transport: http
    description: MCP adapter for Google People API for AI agent use.
    tools:
    - name: getperson
      description: Google People Get Person
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.getperson
      with:
        resourceName: tools.resourceName
        personFields: tools.personFields
      inputParameters:
      - name: resourceName
        type: string
        description: The resource name of the person (e.g., people/me).
        required: true
      - name: personFields
        type: string
        description: A field mask to restrict which fields on the person are returned.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: batchgetpeople
      description: Google People Batch Get People
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.batchgetpeople
      with:
        resourceNames: tools.resourceNames
        personFields: tools.personFields
      inputParameters:
      - name: resourceNames
        type: array
        description: resourceNames
        required: true
      - name: personFields
        type: string
        description: personFields
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: searchcontacts
      description: Google People Search Contacts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.searchcontacts
      with:
        query: tools.query
        readMask: tools.readMask
        pageSize: tools.pageSize
      inputParameters:
      - name: query
        type: string
        description: query
        required: true
      - name: readMask
        type: string
        description: readMask
        required: true
      - name: pageSize
        type: integer
        description: pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: createcontact
      description: Google People Create Contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-people.createcontact
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecontact
      description: Google People Delete Contact
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: google-people.deletecontact
      with:
        resourceName: tools.resourceName
      inputParameters:
      - name: resourceName
        type: string
        description: resourceName
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updatecontact
      description: Google People Update Contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-people.updatecontact
      with:
        resourceName: tools.resourceName
        updatePersonFields: tools.updatePersonFields
      inputParameters:
      - name: resourceName
        type: string
        description: resourceName
        required: true
      - name: updatePersonFields
        type: string
        description: updatePersonFields
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listconnections
      description: Google People List Connections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.listconnections
      with:
        personFields: tools.personFields
        pageSize: tools.pageSize
        pageToken: tools.pageToken
        sortOrder: tools.sortOrder
      inputParameters:
      - name: personFields
        type: string
        description: personFields
        required: true
      - name: pageSize
        type: integer
        description: pageSize
      - name: pageToken
        type: string
        description: pageToken
      - name: sortOrder
        type: string
        description: sortOrder
      outputParameters:
      - type: object
        mapping: $.
    - name: listcontactgroups
      description: Google People List Contact Groups
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.listcontactgroups
      with:
        pageSize: tools.pageSize
        pageToken: tools.pageToken
      inputParameters:
      - name: pageSize
        type: integer
        description: pageSize
      - name: pageToken
        type: string
        description: pageToken
      outputParameters:
      - type: object
        mapping: $.
    - name: createcontactgroup
      description: Google People Create Contact Group
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-people.createcontactgroup
      outputParameters:
      - type: object
        mapping: $.
    - name: getcontactgroup
      description: Google People Get Contact Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-people.getcontactgroup
      with:
        resourceName: tools.resourceName
      inputParameters:
      - name: resourceName
        type: string
        description: resourceName
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updatecontactgroup
      description: Google People Update Contact Group
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: google-people.updatecontactgroup
      with:
        resourceName: tools.resourceName
      inputParameters:
      - name: resourceName
        type: string
        description: resourceName
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecontactgroup
      description: Google People Delete Contact Group
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: google-people.deletecontactgroup
      with:
        resourceName: tools.resourceName
      inputParameters:
      - name: resourceName
        type: string
        description: resourceName
        required: true
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    GOOGLE_PEOPLE_TOKEN: GOOGLE_PEOPLE_TOKEN