Cursor refuses to use my MCP server

I developed an MCP server which publishes one tool. The MCP server is correctly added into the settings and able to be reached by Cursor, as evidenced by the fact the one tool is correctly discovered and listed under the settings (see screenshot).

Everything works in Claude Desktop.

Yet I can’t seem to trigger Cursor to actually use the tool.

Even when I specifically ask Cursor to run the tool by its name, it never does it and instead answers based on the underlying model’s training (in this case Claude).

Composer (in agent mode):

Me: According to the search-my-docs MCP tool, what is the latest version of tailwindcss?

Let me search through the files to find information about the tailwindcss version.

I apologize, but I don’t have access to the search-my-docs MCP tool or its data in this environment. Without access to that specific tool or documentation, I cannot tell you what version of tailwindcss it references.

If you’d like to know the latest version of tailwindcss, I’d recommend:

  1. Checking the official tailwindcss website (https://tailwindcss.com)
  2. Looking at the npm package page (tailwindcss - npm)
  3. Or checking your project’s package.json file if you have tailwindcss installed

Would you like me to help you find this information in any of these ways?

3 Likes

I lost access to command mcp running locally in the middle of a session yesterday. Haven’t had it since. When I request Cursor/Sonnet to use MCP it obviously doesn’t know what I am referring to.

I’m quite sure something was changed in the system prompt yesterday and MCP tools were made unavailable. If only there was some transparency.

1 Like

The same issue occurs in my environment.

$ cursor --version
0.45.11
f5f18731406b73244e0558ee7716d77c8096d150
arm64

The tools/json file is as follows:

Try using underscores (_) instead of dashes (-) in the name. It think Cursor doesn’t recognize tools with dashes. Although it worked until yesterday, I had my selfmade MCP working with dashes

7 Likes

Thanks! I got it to finally work by removing the dashes from my tool names

4 Likes

Same, using underscores instead of dashes fixed it for me.

1 Like

Yes. I have some problem.
but I using underscores instead of dashes fixed it for me too

Same here, have no idea how to fix this…

try on the latest version of cursor and make sure you’re in agent mode

I am having the same issues. Cursor is in agent mode, claude 3.7.
Both servers I have work in Claude Desktop. The AI refuses to believe it can have tools. I have tried so many ways. Yes the tools have underscores. =)
-J

Maybe it believes a picture. =)

haha nope.

What should I try next?

-J

Same here. Agent mode and claude sonnet 3.7, it doesn’t recognize these tools. But it works well with Claude Desktop.


As you can see those tool names are using underscore and no dash. But Cursor still doesn’t give it a shoot. :sob:

2 Likes

I have the next MCPs:

  • Clickup
  • Docker
  • MongoDB
  • Github
  • Confluence
  • Figma

I didn’t manage to convince it to access Figma.

As a last try, I moved the Figma config to the head of the mcp.json, and suddenly it found it :angry:

Has anyone gotten a fix to this? All my tools are underscored and cursor recognizes it has the tools but it refuses to make calls to some of them.

it seems only recognise for 5 mcp plugin,when i moved 6th unrecognised plugin to 1th ,cursor worked.but the meantime 5th moved to last one occurred the same problem。

it is possible you are maxed out on tools. this is not an issue on Claude Desktop. I moved up supabase to the top of my mcp.json file then it went from not recognizing it for 20 minutes to immediately using it in the next message.

i don’t understand why Cursor is capping it to 40 tools. I mean yes at a certain point the AI will get overwhelmed potentially, but 40… cmon man…

some of these servers come with 20-30 tools out of the gate…

This is also happening to me. An interesting point is that it is sometimes successful to call the MCP tool. However, it fails almost every time, and it behaves as if it believes that it is actually calling the MCP tool until I correct it.

Ideally there was a way to concretely tag a MCP tool for usage. Is this a feature request already?

This has been already implemented in the upcoming 0.50 version, where you can deactivate any tool from all your MCPs that you dont need or dont want the model to access.

v0.50 is in beta now, accessible through EAP but will roll out soon to all users.

Thanks, I know. But that feature “to disable MCP selectively” is different from being able to @ tag an MCP tool in chat like you would with @folder i.e.