# Affinity — how to use (mcp.ai)

Connect your Affinity account and use 20 tools for CRM straight from your AI agent. Connect with your own API key. Affinity helps private capital investors to find, manage, and close more deals.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_affinity?ms=1787293320000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `affinity_get_a_company_s_list_entries`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/affinity`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/affinity/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/affinity/get/a/company/s/list/entries` — Summarize company data across all lists, including list-specific fields and metadata like creation date and author. Access requires "Export data from Lists" permission.
  - body: { id: integer, limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/a/company/s/lists` — Returns metadata for all the Lists on which the given Company appears.
  - body: { id: integer, limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/a/person/s/list/entries` — Summary: Browse rows for a Person in all Lists, showing field data and entry metadata like creation time and author. Requires "Export data from Lists" permission.
  - body: { id: integer, limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/a/person/s/lists` — Returns metadata for all the Lists on which the given Person appears.
  - body: { id: integer, limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/a/single/company` — Retrieve basic company info and specific field data by using `fieldIds` or `fieldTypes` parameters. Multiple fields can be queried. No field data if parameters aren't specified. Requires "Export All O
  - body: { id: integer, fieldIds?: string[], fieldTypes?: string[] }
- `POST https://api.mcp.ai/api/affinity/get/a/single/opportunity` — Get basic details about an Opportunity without field data via provided endpoints. Field data requires using specific list entry APIs and the "Export data from Lists" permission.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/affinity/get/a/single/person` — Use GET `/v2/persons/fields` with `fieldIds` or `fieldTypes` for detailed data; basic info by default. Request multiple fields at once. "Export All People" permission needed.
  - body: { id: integer, fieldIds?: string[], fieldTypes?: string[] }
- `POST https://api.mcp.ai/api/affinity/get/all/companies` — Affinity API allows paginated access to company info and custom fields. Use `fieldIds` or `fieldTypes` to specify data in a request. Retrieve field IDs/Types via GET `/v2/companies/fields`. Export per
  - body: { ids?: integer[], limit?: integer, cursor?: string, fieldIds?: string[], fieldTypes?: string[] }
- `POST https://api.mcp.ai/api/affinity/get/all/list/entries/on/a/list` — Access and export essential data and metadata for Companies, Persons, or Opportunities from a List, specifying data via `fieldIds` or `fieldTypes`. "Export data from Lists" permission is necessary.
  - body: { limit?: integer, cursor?: string, listId: integer, fieldIds?: string[], fieldTypes?: string[] }
- `POST https://api.mcp.ai/api/affinity/get/all/list/entries/on/a/saved/view` — Use the endpoint to access rows in a Saved View with specific filters and selected fields from a web app. It doesn't maintain sort order, supports only sheet-type views, and requires export permission
  - body: { limit?: integer, cursor?: string, listId: integer, viewId: integer }
- `POST https://api.mcp.ai/api/affinity/get/all/opportunities` — Pagination through Opportunities in Affinity yields basic info but excludes field data. For field data, use specified GET endpoints. "Export data from Lists" permission needed.
  - body: { ids?: integer[], limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/all/persons` — The Affinity API offers paginated access to Person data using `fieldIds` or `fieldTypes`. Bulk extraction needs special permissions and supports multiple parameters.
  - body: { ids?: integer[], limit?: integer, cursor?: string, fieldIds?: string[], fieldTypes?: string[] }
- `POST https://api.mcp.ai/api/affinity/get/current/user` — Returns metadata about the current user.
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/a/single/list` — Returns metadata on a single List.
  - body: { listId: integer }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/a/single/list/s/fields` — Returns metadata on the Fields available on a single List. Use the returned Field IDs to request field data from the GET `/v2/lists/{listId}/list-entries` endpoint.
  - body: { limit?: integer, cursor?: string, listId: integer }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/a/single/saved/view` — Returns metadata on a single Saved View.
  - body: { listId: integer, viewId: integer }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/all/lists` — Returns metadata on Lists.
  - body: { limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/company/fields` — Returns metadata on non-list-specific Company Fields. Use the returned Field IDs to request field data from the GET `/v2/companies` and GET `/v2/companies/{id}` endpoints.
  - body: { limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/person/fields` — Returns metadata on non-list-specific Person Fields. Use the returned Field IDs to request field data from the GET `/v2/persons` and GET `/v2/persons/{id}` endpoints.
  - body: { limit?: integer, cursor?: string }
- `POST https://api.mcp.ai/api/affinity/get/metadata/on/saved/views` — Returns metadata on the Saved Views on a List.
  - body: { limit?: integer, cursor?: string, listId: integer }

## Example prompts
- "What can I do in Affinity?"
- "Show me a summary of my Affinity account"

## More
- Page: https://mcp.ai/affinity
- Agent spec (llms.txt): https://mcp.ai/affinity/llms.txt
- Postman collection: https://mcp.ai/affinity/postman.json
