Here's the short version so you don't waste an afternoon on it. Affinity now runs its own MCP server. If your fund is on the right plan, you can wire your live CRM into Claude in a few minutes through a clean OAuth flow — click, consent, done. Cursor works too, and gets exactly the same data access, but it takes the manual path: you paste an API key into a config instead of clicking a consent screen. Everything past that is knowing the two plan gates that will stop you cold, and the handful of errors that trip everyone on day one.
I build and operate AI systems for venture funds for a living, and connector plumbing like this is most of the job. So this is the tested walkthrough, not a feature list — what to click, what to skip, and what breaks.
IWhat Affinity MCP Actually Is (and Isn't)
Affinity launched its own MCP server on May 26, 2026, and the framing in its announcement is the useful part: it turns the CRM "from a system of record into a system of action." In plain terms, it lets an AI tool — Claude, ChatGPT, Gemini, or Copilot — read from and write back to your live Affinity data instead of just staring at a static export.
Two things to be clear about. First, this is Affinity's own hosted server, run by Affinity, not a third-party plugin you're trusting with your CRM keys. Second, it isn't the first Affinity MCP to exist. Before the official one shipped, developers were already running unofficial servers built against Affinity's API — the open-source alludium/affinity-mcp-server is the well-known one, a Node server you point at your API key. Those still work, but now that Affinity ships and maintains its own, the official server is the one I'd wire in.
If the acronym is new to you: MCP is the Model Context Protocol, an open standard Anthropic released in November 2024 for connecting AI assistants to outside data and tools. OpenAI and Google adopted it, and in December 2025 Anthropic handed it to the Agentic AI Foundation under the Linux Foundation. It's the reason one connector now works across Claude, ChatGPT, and Cursor at all. And if you're still deciding whether Affinity is even the CRM to build this on, I've made my case in Affinity vs. Attio: The VC CRM That Actually Sticks.
IIBefore You Touch Claude or Cursor: Plan and Permissions
Two gates stop most people before they start. Check both first.
The plan gate. MCP access — and Affinity API access generally — is only available on the Scale, Advanced, and Enterprise plans. It is not on the lower tiers. If your fund is on a cheaper plan, none of the steps below will work, and no amount of clever config fixes it. That's a sales conversation with Affinity, not a setup problem.
The permission gate. Generating an API key requires the "Generate an API key" role permission in Affinity. Most users have it by default. If you don't, an Affinity admin has to grant it before you can create a key — so if the button isn't there, that's why.
aGenerating Your Affinity API Key
Even if you plan to use the one-click OAuth path in Claude, generate a key anyway — it's the credential every non-OAuth client needs, Cursor included. Affinity's docs walk it, and it's quick:
- Log in to Affinity and open Settings → Manage Apps.
- Click New App, give it a clear name like "my MCP connection" and a short description.
- Copy the generated key immediately and store it somewhere safe.
That key is your bearer-token credential. Anywhere a client can't do OAuth, you'll hand it this key instead.
IIISetting Up Affinity MCP in Claude (the Polished OAuth Path)
Claude is one of the five clients Affinity wrote a dedicated setup guide for, and it shows — this is the smooth path.
The server lives at one address: mcp.affinity.co/mcp. You add it as a connector in Claude and authenticate with OAuth, which is the recommended method and only works against Affinity's hosted server. No key to paste — you approve a consent screen and you're in.
Claude supports the Affinity connector across Free, Pro, Max, Team, and Enterprise plans. There's one wrinkle worth knowing before you start clicking. On Free, Pro, and Max, each person adds the connector themselves and authenticates — no admin involved. On Team and Enterprise, a workspace Owner has to enable the connector org-wide first, under Organization settings → Connectors, before anyone else can authenticate. If your colleagues are hitting a wall and you're on Team or Enterprise, that missing org-level switch is almost always the reason.
aThe Claude Code (CLI) Variant
If you live in Claude Code rather than the desktop app, the shape is the same, just driven from the terminal. You register Affinity as a remote server — you give it a name, tell Claude it's an HTTP-transport connection, and point it at that same hosted address. Then you open the MCP menu inside Claude Code and choose "Re-authenticate," which kicks the OAuth handshake out to your browser to finish.
There's a fallback for headless or CI environments that can't pop open a browser: instead of the OAuth dance, you pass your API key directly as an authorization header when you register the server. Same access, no browser required — handy for anything running on a box you'll never sit in front of.
IVSetting Up Affinity MCP in Cursor (the Generic 'Other Clients' Path)
This is the part nobody else has written, because Cursor is not one of Affinity's five named guides. Affinity wrote dedicated instructions for Claude, ChatGPT, Copilot, Notion, and the Gemini CLI. Everything else — Cursor included — takes the generic "Other clients" path.
The good news: that path is simple, and it gives Cursor the exact same live data access Claude gets. You point Cursor at the same hosted server address, mcp.affinity.co/mcp, and pass your API key as an authorization header carrying the key as a bearer token.
Mechanically, Cursor keeps its MCP servers in a small config file, and this is precisely the pattern Cursor's own docs support: a remote server entry with a web-address field and a headers block. You put the hosted address in the address field and your bearer token in the headers. One thing I'd insist on — Cursor can pull that key from an environment variable rather than storing it in plain text in the config, so use that. Don't commit a live CRM key into a file that ends up in a repo.
The honest tradeoff: Cursor users get everything Claude users get, minus the one-click consent screen. It's a manual key instead of an OAuth approval. That's it. Slightly less polished, functionally identical.
VThe Self-Hosted Option: Running Affinity MCP on Your Own Infrastructure
There's a third door for teams that don't want their MCP traffic touching Affinity's hosted server at all, or that want to extend the server themselves. Affinity ships a self-hosted local version as a Python package.
You install and run it directly through a Python package runner, and it authenticates purely by reading your API key from an environment variable — no OAuth involved, nothing leaving your own infrastructure. It's the right call for a security-conscious fund that wants the CRM-to-AI bridge running entirely inside its own perimeter, or an engineering-minded team that wants to modify what the server exposes. For everyone else, the hosted server is less to babysit.
VIWhat You Can Actually Do With It on Day One
Skip the feature bullets — here's the real one. On launch day, Affinity quoted Stephen Lantz, a principal at Bain Capital, on the practical payoff: a post-meeting workflow that used to take five to ten minutes across multiple screens and apps became a 30-second natural-language request to Claude through the connector. That's the whole pitch in one example — the CRM stops being a place you go and becomes something you just ask.
A few concrete asks that work on day one, framed the way a GP or ops lead would actually use them:
- "Pull up the record for this company and summarize where the deal stands."
- "Move this opportunity to the diligence stage and log a note that we met the founders today."
- "Which co-investors have we worked with on climate deals?"
No screens, no clicking through lists. You ask, it reads or writes, you move on.
VIIFeature-Gated Tools You'll Hit Immediately
Some of the most useful tools don't work out of the box, and the error looks like a bug when it's actually a gate. Per Affinity's tool docs, two capabilities need a feature switched on at the org level — and you can't flip either one yourself.
If note search or meeting lookups throw an access error, don't debug your config — email your Affinity customer success manager and ask them to turn the feature on.
VIIIWhat Breaks: The Errors You'll Actually Hit
Here are the failure modes, straight from Affinity's troubleshooting guide, plus the rate limit from the API v2 docs. Ninety percent of setup pain is one of these four.
That last one matters if you're pointing an agent loop at Affinity rather than a human typing questions. Both API v1 and v2 draw from the same 900-per-minute pool, so a chatty agent can burn it fast and get a hard stop for the rest of the minute.
IXThe Security Model: What MCP Can and Can't Touch
This is the part I'd read carefully before letting anyone connect. Per Affinity's security docs, the model is refreshingly boring, which is what you want.
Every MCP tool call runs with the permissions of the Affinity user who authenticated it. There's no MCP-only privilege escalation — the connector can't read or write anything that person couldn't already touch directly in the CRM. The hosted server is stateless: it doesn't persist your CRM data, your prompts, or the AI's responses. And if you want to be extra careful, an OAuth connection can be locked to read-only by unchecking the write scope on the consent screen — a good default for anyone who only wants to query, not edit.
That said, "boring" isn't the same as "ignore it." When I audited my own MCP fleet, the surprises weren't in the vendor's model — they were in how the connections were wired and scoped on my side. I wrote up what I found in MCP Server Security: What My Own Audit Found, and the short lesson is: scope narrow, prefer read-only where you can, and know exactly which user each connection runs as.
XThe Honest Verdict: Who Should Set This Up Now
If you're already on Scale, Advanced, or Enterprise and you live in Claude — set it up today. The OAuth path is genuinely a few minutes, and the day-one workflow savings are real. This is the easiest yes on the list.
If you're a Cursor user, it's still worth doing — just accept the manual bearer-key path and pull the key from an environment variable so it never sits in a file in plain text.
Where I'd pause is the team that wants a packaged answer instead of managing connectors, scopes, and keys across a fund. That's a different job. It's the kind of connector work I build and operate for funds directly — for one client I built a workflow layer for a 30-year-old fund without breaking a single existing process. And if what you actually want is your CRM answerable in plain English from where your team already works, that's exactly what the Affinity Chat Bot does — Slack or ChatGPT, tuned to your fund's own schema, no MCP config for anyone to babysit.
Affinity MCP is a genuinely good piece of infrastructure. The question was never whether it works — it's whether you want to own the wiring or have it handled.
XIFAQ: Affinity Chat Bot vs. Affinity MCP
What's the difference between Affinity Chat Bot and Affinity MCP?
Affinity MCP is Affinity's own hosted connector that you wire into your AI client yourself — Claude, Cursor, ChatGPT — and then manage the auth, scopes, and keys. The Affinity Chat Bot is a productized layer I build and operate: a natural-language interface over your CRM that's tuned to your fund's exact Affinity schema and lives in Slack or a Custom GPT, with none of the connector setup on your plate.
Do I need a Scale, Advanced, or Enterprise plan to use Affinity Chat Bot?
Yes — because it talks to your CRM through the Affinity API, it sits behind the same plan gate as MCP. API access is limited to Scale, Advanced, and Enterprise, so you'll need one of those regardless of which route you take.
Can I use Affinity Chat Bot from Slack instead of Claude or Cursor?
Yes. There's a Slack-native version that lives where your team already works, and a Custom GPT version for partners who prefer ChatGPT as their interface. You don't need Claude or Cursor at all.
Is Affinity Chat Bot read-only, or can it write back to the CRM?
It does both. It reads companies, deals, co-investors, notes, and network data, and it writes structured updates back when you need it to — the same read-and-write access the MCP server offers, just wrapped in a plain-English interface.
— Michael Rouveure