Attio MCP Server Cursor IDE Setup (2026): OAuth, No API Key, 48+ CRM Tools
Connect Attio's official hosted MCP server to Cursor IDE with a one-time OAuth login and no API key: the mcp.attio.com/mcp endpoint, the read-auto-approve/write-confirm permission model, and the record, list, note, and reporting tools it exposes.
How do you connect Attio to Cursor? Add a url entry pointing at https://mcp.attio.com/mcp to Cursor's mcp.json, restart, and complete a one-time OAuth login with your existing Attio account credentials. There's no API key to generate or paste anywhere — Attio's official server is hosted and remote-only, available on every plan, and it authenticates the same way you'd log into the Attio web app itself.
Once connected, Cursor gets over 48 tools covering the bulk of what you'd otherwise do by clicking around Attio's UI: searching and editing records, managing list entries, creating notes and tasks, and pulling meeting or email history tied to a CRM record. Reads are auto-approved; anything that writes data asks for confirmation first, which is worth understanding before you point an agent at production CRM data.
What You Get, in Plain Terms
| Publisher | Attio (official, first-party server) |
| Endpoint | https://mcp.attio.com/mcp — remote/hosted only, no local install option |
| Auth | OAuth against your existing Attio login, no API key |
| Tool count | 48+, covering records, lists, notes, tasks, meetings, emails, workspace info, and reporting |
| Permission model | Reads auto-approved; writes require confirmation |
| Availability | All Attio plans, any workspace member |
| Rate limits | Tiered — reads 100 req/sec, writes 25 req/sec, search 300 req/min, semantic search 2 req/sec |
Why This Is Worth Setting Up
Attio is a relationship-first CRM that leans on flexible, custom object types rather than the fixed Contact/Deal/Company schema older CRMs impose — which also makes it awkward to query by hand if you don't remember exactly how a workspace's objects and attributes are named. Asking an agent "what deals do we have with companies in the fintech space that haven't been touched in 30 days" and getting a real answer, sourced from the actual CRM instead of a stale export, is the core pitch.
It's also useful for the unglamorous parts of CRM hygiene: deduplicating records, backfilling missing fields from a CSV or email thread you have open in another tab, or drafting a note on a record right after a call without switching to the Attio tab to do it. Because the server exposes meeting and email search alongside records, an agent can also answer "what did we last discuss with this account" by pulling from linked communications rather than just the structured fields.
If you're evaluating this against Salesforce or HubSpot's MCP servers (both covered elsewhere on this site), the practical difference is setup friction: Salesforce's CLI-based auth inherits your full org session, and HubSpot's Private App token is something you generate and scope by hand. Attio's hosted OAuth server needs neither — it's closer to a one-click connection, which fits Attio's broader design philosophy of minimizing config surface.
Prerequisites
url-based) server supportNo API key, no CLI tool, no separate developer account to register anywhere.
Step 1: Add the Server to Cursor's mcp.json
Open (or create) ~/.cursor/mcp.json for a global setup, or .cursor/mcp.json in a specific project if you only want Attio access scoped to that project's Cursor session:
{
"mcpServers": {
"attio": {
"url": "https://mcp.attio.com/mcp"
}
}
}
That's the entire config. Unlike most of the setup guides on this site, there's no command, args, or env block to fill in — the hosted-only design means the JSON entry is just a name and a URL.
Step 2: Restart Cursor and Complete OAuth
Restart Cursor so it picks up the new config, then open the MCP settings panel and find the attio entry. On first use — either from the settings panel or the first time a chat message triggers an Attio tool call — Cursor opens a browser window with Attio's OAuth authorization screen. Log in (or confirm you're already logged in) and approve the connection.
This grants Cursor a session tied to your actual Attio user account and whatever workspace permissions that account has — not a separate, narrower "integration" scope. If your Attio role can see and edit a record in the web app, the agent can too, and if it can't, the agent will hit the same permission wall you would.
Step 3: Verify the Connection
Check the MCP settings panel for a connected/green status next to attio, then try a read-only prompt to confirm data is actually flowing:
Search my Attio workspace for companies tagged as customers and list the five most recently updated.
A working connection returns real records from your workspace. If nothing comes back or you get an authorization error, see Troubleshooting below.
The Permission Model: Reads vs. Writes
This is the detail worth understanding before handing an agent broad CRM access. Attio's server uses MCP's safety-annotation mechanism to split tools into two behaviors:
That default is sensible for exploratory use, but it's worth actually reading the confirmation prompts rather than reflexively approving them, especially for merge operations — merging two CRM records is not always cleanly reversible, and an agent confidently proposing a merge based on a fuzzy name match is a real failure mode, not a hypothetical one.
Available Tools by Category
Practical Prompts Once Connected
Rate Limits Worth Knowing
Attio tiers its API rate limits by operation type: reads at 100 requests/second, writes at 25/second, keyword search at 300 requests/minute, and semantic search at a much tighter 2 requests/second, with separate limits for merge and reporting operations. In normal chat-driven usage you're unlikely to hit these, but a prompt that fans out into a large batch of individual record updates — "update these 200 records one by one" — is the kind of workflow that can. If you need genuinely bulk operations, Attio's CSV import/export tools in the web app are a better fit than routing hundreds of individual writes through an agent.
Troubleshooting
OAuth browser window never opens. Confirm your Cursor version supports url-based remote MCP servers — this is a newer capability, and an outdated build may add the config entry without actually triggering the authorization flow. Update Cursor and retry.
Connects, but the agent says it has no access to a workspace. You may be logged into the wrong Attio account in your default browser. The OAuth flow authorizes against whichever session is already active, which matters if you use multiple Attio workspaces or accounts across different clients/projects.
Write actions never show a confirmation prompt, or confirmations are getting missed. Check that you're not running Cursor in a fully autonomous/auto-approve mode that suppresses tool-call confirmations generally — that setting affects every MCP server's write operations, not just Attio's, and is worth reviewing separately from this setup.
Search comes back empty for records you know exist. Confirm the object type actually matches — Attio workspaces often define custom objects beyond the default Company/Person/Deal set, and a search scoped to the wrong object type returns nothing rather than an error.
Hitting rate limit errors. Almost always a batch-style prompt asking for many individual writes at once. Break the request into smaller batches, or use Attio's native CSV tools for genuinely bulk changes instead.
When Not to Use This
If your workflow needs a fixed, auditable set of permissions for a shared or automated integration — a CI system posting to Attio, or a service account with deliberately narrower access than any one human user — the OAuth-tied-to-your-account model here isn't the right fit; that's a case for Attio's API and a scoped integration instead of the MCP server, which inherits full personal-account access by design. For genuinely bulk data operations (thousands of records), Attio's own import/export tools are faster and don't compete with the tiered rate limits above.
Frequently Asked Questions
Q: Do I need an API key to set this up?
A: No. Attio's official MCP server authenticates entirely through OAuth against your existing Attio account login — there's no API key to generate, store, or rotate.
Q: Is there a local/self-hosted version of the Attio MCP server?
A: The official server is hosted-only, at mcp.attio.com/mcp. Community-built alternatives exist separately on GitHub for teams that specifically need a self-hosted or more customizable setup, but they aren't Attio's own server and aren't covered by this guide.
Q: Can the agent delete records?
A: Deletion isn't listed among the documented tool categories — available write operations center on create, update, upsert, and merge. Merge in particular can consolidate data in ways that are hard to fully reverse, so treat merge confirmations with the same caution as a delete.
Q: Will every workspace member get the same access if they set this up?
A: No. The OAuth grant is tied to whichever Attio account completes the login, so each person's agent access matches their own role and permissions in the workspace — not a shared or admin-level grant.
Q: What happens if I hit a rate limit?
A: Attio tiers limits by operation — 100 req/sec for reads, 25 req/sec for writes, 300 req/min for keyword search, and 2 req/sec for semantic search. Normal conversational use rarely reaches these; a prompt that triggers many rapid individual writes is the most common way to hit one.
Related Guides
Official docs cited
Related guides
- Auth0 MCP Server Setup for Cursor IDE (2026): Manage Tenants, Apps, and Actions from Chat
- AWS MCP Server Setup for Cursor IDE (2026): Query S3, Lambda & CloudWatch from Chat
- Azure MCP Server Cursor IDE Setup (2026): Entra ID Auth, No API Key to Manage
- BigQuery MCP Server Cursor IDE Setup 2026: Query Your Data Warehouse with AI