# `find_people`

Finds people by name or email in your own private Rolodex. Use it to resolve the exact person before reading or changing their notes.

Annotations: `readOnlyHint: true` · `destructiveHint: false` · `idempotentHint: true` · `openWorldHint: false`

## Inputs

| Input | Required | Description |
| --- | --- | --- |
| `query` | yes | Name or email fragment, 2–200 characters after trimming. Empty queries are rejected. |
| `limit` | no | Integer from 1 to 20; defaults to 10. |

## Returns

`{ people, hasMore }`. Each identity has `personId`, nullable `contactAuthoredName` and `ownerAuthoredName`, and `emails`. Exact matches come before prefix and substring matches. Matching ignores case and accents. `hasMore` means the query needs narrowing. Multiple results remain ambiguous; ask the member rather than choosing for them.

An empty list is a successful result. This tool searches only your own identities and returns no relationship context, notes, or another member’s contacts.

## Example

```json find_people
{
  "query": "Pat",
  "limit": 10
}
```

Result (synthetic data):

```json result:find_people
{
  "people": [
    {
      "personId": "00000000-0000-4000-a000-000000000005",
      "contactAuthoredName": "Synthetic Pat",
      "ownerAuthoredName": null,
      "emails": [
        "pat@example.test"
      ]
    }
  ],
  "hasMore": false
}
```

## Related

See the [private notes workflow](/docs/mcp/agent-guide#private-person-notes) and [errors and limits](/docs/mcp/errors-and-limits).
