Connect Cursor
Add the Tabba MCP server to Cursor, for one project or for your whole machine.
Cursor reads MCP servers from an mcp.json file: one for you, one per
project. A remote server needs nothing but a URL.
Add the server
Add the server in Cursor's MCP settings, or write the file directly:
{
"mcpServers": {
"tabba": {
"url": "https://www.tabba.io/api/mcp"
}
}
}A url is what makes the entry a remote server. Reload Cursor, find tabba
in the MCP list, and log in. Cursor runs the OAuth flow itself: the browser
opens Tabba, you sign in if you are asked to, pick the company on the consent
page, and choose Approve. That is the only way Tabba authenticates an MCP
client.
No secret in the file
The entry is the URL. There is no header to add and no credential to paste.
The token is kept by Cursor, so a project's .cursor/mcp.json holds nothing
secret. Each collaborator logs in and is connected as themselves: with
their own role in Tabba, their own work, and the company they picked.
Agents without a browser cannot connect
Signing in is a browser step, and Tabba's MCP server accepts no other credential. An agent that runs in the background, a CI job, or anything else with no person at a browser cannot authenticate.
Use the REST API for that work: a key on /api/v1, no
consent step, the same Sales data underneath.
Verify it works
In Cursor's agent chat:
Using Tabba, what work do I have open?Cursor shows the tool calls it made. A call to get_my_work that answers
with your real lines means the connection works. A read answers from the work
you hold a place on, and a list opens by saying which view produced it. See
Auth and scopes for what an admin may widen.
Mind the tool budget
Tabba registers up to 29 tools: 17 that read, 11 that plan, and commit.
That is an admin's catalogue on a connection that may issue. A standard user
is offered 15 at most: 13 that read, plan_register_work and commit.
If Cursor limits how many tools it sends to the model across all servers, an admin's Tabba catalogue takes a large part of it. Switch off the servers you are not using, or switch off the Tabba tools you never call in Cursor's MCP settings. The consent page has no control for granting a narrower scope than the client asked for, so the catalogue cannot be trimmed there.
Troubleshooting
- The tools do not appear. Check that the JSON parses and that the server is switched on in Cursor's MCP settings.
- Every call is answered 401. The token ran out and the refresh failed, you revoked the access in Tabba, or your access to the company ended. Log out and back in from the MCP settings.
406 Not Acceptable. Something between Cursor and Tabba is stripping theAcceptheader. Streamable HTTP has the client accept bothapplication/jsonandtext/event-stream, and a proxy that rewrites the header breaks the transport.- The agent plans and never writes. That is the design. A
plan_*tool answers a plan, you confirm, and the agent callscommit. See Plan and commit. - A name matches several records. The answer lists the candidates. Pick
one, or name the record by
ext:your-id.
Remove it
Delete the entry from mcp.json, then revoke the access in Tabba: under
Claude and other AI clients on your profile settings, choose Revoke
access. That ends every AI client connection of yours, not only this one.