MCP Servers and Cursor: Troubleshooting the Problems


Model Context Protocol servers have become very popular. And Cursor is the most popular developer's tool for using MCP servers. Unfortunately, from time to time, some MCP servers don’t work. There could be tons of reasons why. Today, I will tell you how to find the reason why MCP may not work. And how to fix it!
The problem
Model Context Protocol can be written in almost any popular language. If we open the Model Context Protocol organization on GitHub, we will see SDKs for TypeScript, Python, Java, Kotlin, and C#. MCP servers are not distributed as executables. They are distributed as packages. You will need the runtime to run them. This runtime could be Node.js, could be Python, could be JVM, could be .NET. And that is only SDKs in the official repository. In theory, it can be any language and any runtime. And if something is wrong with your environment, the MCP server will fail to start. It may be a different version, different permissions, absence or presence of some libraries. Everything! A small difference may stop you from running the MCP server.
Cursor
Cursor is the most popular AI-based code editor. You can configure an MCP server and it will not work. You may say, that ok, I got the problem, I can understand why does it happen and fix it. But, unfortunately it is not so easy with Cursor. MCP server fell silently with a few unclear messages in the MCP logs output.
2025-05-24 17:50:03.690 [info] Sitecore82: Handling ReloadClient action
2025-05-24 17:50:03.690 [info] Sitecore82: Starting new stdio process with command: npx @antonytm/mcp-sitecore-server@0.8.2-bundle-uuid
2025-05-24 17:50:04.450 [info] Sitecore82: Client closed for command
2025-05-24 17:50:04.450 [error] Sitecore82: Failed to reload client: MCP error -32000: Connection closed
2025-05-24 17:50:04.451 [info] Sitecore82: Handling ListOfferings action
2025-05-24 17:50:04.451 [error] Sitecore82: No server info found
The keywords here are Starting new stdio process with command
, Client closed for command
, Failed to reload client: MCP error -32000: Connection closed
, Failed to reload client: MCP error -32001: Request timed out
, Handling ListOfferings action
, and No server info found
.
What happened? Cursor tried to start the MCP server using the stdio transport by running the command npx @antonytm/mcp-sitecore-server@0.8.2-bundle-uuid
and failed. Why? You can’t say it from these logs. Cursor does not redirect output logs from the command line terminal back to the MCP logs output. The version doesn’t exist in this case, but you can’t tell that it is the reason…
I made a quick search, and that is the common problem for Cursor and different MCP servers. I saw problems with @modelcontextprotocol/server-filesystem
, @agentdeskai/browser-tools-mcp
, @smithery/cli
, @modelcontextprotocol/server-postgres
, @smithery-ai/github
, @supabase/mcp-server-supabase
, openai-pdf
, sql-explorer
, mcp-server-git
, @upstash/context7-mcp
, mcp-weather
, mcp-server-git
, and many-many others!
The troubleshooting
You need to run the same command that Cursor runs by itself. The straightforward way is to copy these values from your MCP server configuration.
{
"mcpServers": {
"Sitecore-0.8.2": {
"type": "stdio",
"command": "npx",
"args": [
"@antonytm/mcp-sitecore-server@0.8.2-bundle-uuid"
],
...
},
}
}
For our case, it will be npx @antonytm/mcp-sitecore-server@0.8.2-bundle-uuid
And after running it, we will get the error message:
npm error code ETARGET
npm error notarget No matching version found for @antonytm/mcp-sitecore-server@0.8.2-bundle-uuid.
npm error notarget In most cases you or one of your dependencies are requesting
npm error notarget a package version that doesn't exist.
Now, it is clear what is wrong! A package version doesn’t exist. But you may not be lucky… You may get a blank screen with no error message. You may get the MCP server that is running fine in the terminal, but it fails in Cursor. In this case, you need to get the exact command that is executed by Cursor! And you will need the additional tools, as the MCP server fails immediately, and you can’t catch it.
The Process Explorer
The Process Explorer is the Task Manager on steroids. You can do many more things with it, compared to the default Task Manager. And the one important thing for us, you can see the processes that are already killed!
First of all, you need to install it. You can download it from the Microsoft website, or you can run and install it via Chocolatey if you use by command choco install procexp
.
Now we need to configure Options > Difference Highlight Duration
And set it to 9 seconds. Now we see each process 9 seconds after it was killed or exited. Unfortunately, 9 seconds is the highest value that you can set via the user interface.
However, it is still a short period of time, and if we don’t want to rush clicking, we can set it to a higher value using Registry Editor. We need to find the key HKEY_CURRENT_USER\Software\Sysinternals\Process Explorer\HighlightDuration
and set it to some comfort value, for example 90 seconds.
Now, we are ready to go back to Cursor and try restarting our MCP server that fails.
We go back to the Process Explorer and see three processes in red:
If we click on this process, we will see the details
And as you can see C:\Windows\system32\cmd.exe /d /s /c "npx ^"@antonytm/mcp-sitecore-server@0.8.2-bundle-uuid^""
is not the same as what we tried before npx @antonytm/mcp-sitecore-server@0.8.2-bundle-uuid
Now, we run this command separately, look at the error messages, and fix them. Once you are able to run this command and see the console window that didn’t exit the process and is waiting for input, you are ready. Go back to Cursor, correct the command if needed, and try again.
The conclusion
I hope that Cursor developers will add the transfer the output of the MCP server command line to MPC logs output in Cursor, and troubleshooting will become much more easier.
But until then, you know how to find the problem, why your MCP server doesn’t want to work. And knowing the exact error message, and not only a meaningless MCP error -32000: Connection closed
, it is much easier to fix the reason.