cursor mcpindependent directory

Posts / The 40-tool limit

The 40-tool limit

Cursor will load the servers. The agent will not use forty tools well. How to keep a small set.

Direct answer

Cursor will connect several MCP servers. Each server registers tools, and those definitions occupy context. In March 2025, users on the Cursor forum found the agent only received the first 40 tools. Later builds may have raised or softened that cap. Cursor's public MCP docs do not print a number. Treat tool count as a budget: fewer servers, toggle unused ones off.

An overflowing toolbox beside three well-used tools in a patch of window light
The rest of the drawer still counts against you.

Here is the failure I care about. GitHub is connected. The tools are listed. You ask for open pull requests. The agent apologizes and says it cannot access GitHub.

That is not always a bad token. Sometimes the tools were never in the request.

What people measured

In March 2025, a Cursor forum thread described an effective cap: across every MCP server, the agent was given the first 40 tools. Slack tools at the end of the list vanished until GitHub was turned off. The limit was on the list presented to the model, not on how many times a tool could be called.

That matches how tool calling works. Each tool is a schema in the prompt. Schemas are tokens. Tokens are the thing you already pay for.

Later, people said the cap moved. A March 2026 thread has a user running more than 80 tools with no warning, and a claim that older Cursor versions warned around 50. Reddit also circulated a "40 to 80" bump. Cursor's own MCP docs, the ones that tell you where mcp.json lives, do not mention 40 or 80.

So I will not pretend 40 is a law. I will pretend that stuffing twenty servers into one chat is still how you hide the one you wanted.

GitHub's MCP is hungry. Pair it with Figma (one report listed 12 tools on that server alone) and Playwright, and you have already spent a grocery budget before Linear gets a seat.

Why "ten servers" is not ten tools

This directory has ten servers on purpose. That is not ten tools.

GitHub exposes issues, pull requests, search, checks, and whatever else they shipped this quarter. Figma's remote server is a pile of read and write tools: get_design_context, get_screenshot, get_variable_defs, get_metadata, plus write tools if you grant them. Playwright is a browser API. One vendor "server" is a surface area.

Enable all ten and you are not being thorough. You are holding a bake sale in the system prompt.

What I do instead

Paste what you need into mcp.json. Then treat Tools & MCP like a mixer board.

Working on a Figma frame: Figma on, Playwright on if you will check the page, Context7 on if you will write React. GitHub can stay on. Linear, Stripe, Sentry, Firecrawl off.

Working a Sentry issue: Sentry and GitHub on. Figma off. You do not need variables from a file you are not implementing.

New chat after you toggle. Old conversations keep old tool lists in their heads.

If you want a default, keep Context7 and GitHub connected and let the rest sleep. That pair covers "what does this library do" and "what does this PR say." It is the stack in miniature.

How you know you blew the budget

The new server is green. The agent never calls it, even when you name the tool. You disable two other servers, start a fresh agent, and suddenly GitHub works again.

That was the 2025 forum story. If your build is more generous, you still pay in worse tool choice. Models get sloppy when forty functions all look like "search."

Cursor can also ask for approval per tool, and enterprise allowlists can hide tools on purpose. Check those before you blame a cap.

The fix is not a bigger number. The fix is a smaller board.

FAQ

Does Cursor still cap MCP tools at 40?

Cursor's public MCP documentation does not state a number. A March 2025 forum thread described the agent receiving only the first 40 tools. Later users have reported 80 tools, or no warning at all. Do not treat 40 as a documented, stable spec. Do treat extra tools as context you are spending.

Why does a connected server never get called?

The row in Tools & MCP can be green while the agent never sees those tools, if the list of definitions is long. Toggle other servers off and start a new chat. Name the server in the prompt.

Sources

Install JSON: GitHub, Figma, Playwright.