Fix
Cursor MCP Not Working / 'No Tools Found' Fix
An MCP server fails in Cursor usually because the start command or path is wrong, an API key or env var is missing or the transport does not match the server. Check the MCP Logs in the Output panel first, test the exact command in a terminal, supply the required env vars and confirm the server shows enabled tools after a reload.
On this page
Why does my Cursor MCP server show 'no tools found'?
"No tools found" almost always means the server never started or started and immediately crashed. Cursor launches the command you gave it; if the path is wrong or a required API key is missing, the process dies before it can report any tools. The other common case is a transport mismatch: a remote server wants a URL, not a command to run.
- The command/path is wrong or the package isn't installed.
- Missing env vars / API keys, so the server crashes on start.
- stdio vs remote mismatch (a remote server needs a URL, not a command).
- The server started but exposes no tools. Too many tools may also be enabled across servers.
The list above misses the cause that costs the most time. The config you are editing is not always the config that loaded. A project .cursor/mcp.json and a global ~/.cursor/mcp.json can both define a server, and the project file wins when the names clash. Editing the global one while a project entry shadows it produces a fix that changes nothing, which is miserable to debug because everything you are looking at is correct.
On a managed install the answer may not be in your config either.
Enterprise admins can allowlist which MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. servers members may connect to, and set each tool inside a server to auto-run or to wait for manual approval. When a server you added never appears at all, ask whether it is on the approved list before you spend an hour on the JSON.
This is covered hands-on in Troubleshooting and Operating Cursor Reliably — 7 short modules, free to read.
How do I fix an MCP server that won't connect?
Read the crash report first, then prove the server runs outside Cursor. Cursor writes each server's startup output to a dedicated log, and most failures show up right there as a missing binary or a crash on a missing key. Once it runs by hand, match the transport in your config, reload and confirm the tools come up green.
Keep Wait for MCP Authentication on
0:18 · narratedRead this demo as text
- Wait for MCP Authentication stays on so a run does not race ahead of a half-authed server. Logout lives on the row — there is no mid-run approval modal to invent here.
Practice next: Practice this yourself in the hands-on module.
Simulated Cursor 3.12 (macOS, light) — beta educational reconstruction, not the real product.
- 1Check the MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. Logs: open the Output panel (⌘⇧U) and pick 'MCP Logs' from the dropdown. Startup crashes and auth failures land there.
- 2Run the exact start command in a terminal and confirm it launches.
- 3Add the required env vars / API keys to the MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. config.
- 4Match the transport:
commandfor stdio,urlfor remote (SSE or streamable HTTP). - 5Reload Cursor and check the server shows enabled (green) tools.
- 6Trim to the tools you need so the agent isn't overwhelmed.
Step one is first because most of these failures look identical from outside the log: no tools, and nothing saying why. In the log they stop looking identical, and a missing binary reads nothing like a crash on a missing key.
The terminal test feels like the decisive one, so it is where most people start. Start with the log instead. It is cheaper and it usually names the failure outright, so keep the terminal for the case the log does not settle. A server that starts in your shell and dies under Cursor points at the environment rather than the command, and that is the argument for putting keys in the MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. config instead of your shell profile.
The last step reads like housekeeping and is doing real work. A long tool list spread across several servers gives the agent more ways to pick wrong, and a short relevant one produces steadier behaviour. It is also the only step here that helps in the case where everything technically connects and the agent still reaches for the wrong tool.
For auth, the most reliable first pass is an API key set directly in mcp.json. If the server only does OAuth, prefer a marketplace one-click install: the 'Add to Cursor' deeplink runs the OAuth flow for you. Failing that, spin up an agent in the CLI and run /MCP login, then pick the MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. identifier to authenticate.
Why won't MCP connect in JetBrains or with Xcode?
Outside the one-click Cursor or VS Code experience, MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. needs manual setup and each host has its own trap. The server config is the same shape, but where you put it and what you have to enable changes.
There's no marketplace install in the JetBrains integration. Create a .cursor/mcp.json at the user root with your servers, then go to IntelliJ Settings, search 'MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. server' and tick the enable box. IntelliJ disables MCP by default as a security feature, so a perfectly valid config will simply show nothing until that box is checked.
The second gotcha which took me about 30 minutes the other day to find out is you have to go to IntelliJ settings, type in MCPModel Context Protocol. A standard that lets an AI agent pull in context from outside the repo, like Jira tickets or internal docs. Press Enter for the full definition. server, you have to check mark this.
An Xcode MCPAn MCP server Apple maintains inside Xcode that exposes the simulator, build logs and debugging to Cursor, so the agent can run and iterate on iOS apps it writes. Press Enter for the full definition. installs into the user-level ~/.cursor/mcp.json, often via a deep-link file that auto-populates the config. After install, Xcode prompts you to 'allow' the bridge. You'll re-confirm those allows (roughly five of them) every single time you open Xcode. That is Apple, not a broken setup.
Frequently asked questions
Why won't my MCP server connect in Cursor?
Most often the start command fails because the path is wrong, a dependency is missing or an API key is missing. Check the MCP Logs in the Output panel, run the command in a terminal, then re-check the env vars and transport.
How do I add an MCP server to Cursor?
Easiest is a one-click install from the MCP marketplace ('Add to Cursor' handles OAuth). Manually, add the server to .cursor/mcp.json in the project or ~/.cursor/mcp.json globally, with a command (stdio) or url (remote) plus any env vars. See the MCP setup guide.
MCP works in Cursor but not in IntelliJ. What's missing?
IntelliJ disables MCP by default. Open Settings, search 'MCP server' and check the enable box, then confirm your .cursor/mcp.json sits at the user root level. The disabled-by-default checkbox is the most common cause of an otherwise-correct config showing no tools.
Sources & last verified
Cursor ships frequently. Last updated July 28, 2026.