When I heard of project level mcp.json, I immediately thought of transforming development process when the project and assistant for it can evolve together in the same repository.
I did few experiments today with FastMCP, and results were less than satisfying. I was bashing my head why is my Hello World MCP server (run locally with uv run fastmcp run server.py
) does not hookup to Cursor, until I tried running pwd
as a command. In MCP logs I saw that pwd output is not at all my current workspace path, it is a Cursor user folder on Windows. Quite unexpected to say the least, and I found no workaround. I eventually made it work with starting my server in remote mode, and hooking up Cursor to a URL, but it is a hacky and fragile solution. Local script should work through stdio, its what it is for.
Its quite a deal breaker, as I am looking for a coding assistant fully integrated with local and remote MCPs. I advocated for using Cursor in my company, and we just finished trial. I was planning to push for wide integration of project specific MCP to automate development routines, and this problem blocks me.
Hi can you tell me more about what you’re looking for here? Is the problem that its running in the wrong environment (ie its in your WSL or remote-ssh env when you want it in your local env) or that the PATH env var is wrong?
If the latter, we offer a WORKSPACE_FOLDER_PATHS env var that should give you the workspace folders.
Hi @msfeldstein ! Its the latter, and I am not sure this variable is working, or am I using it wrong. See my example:
mcp.json:
{
"mcpServers": {
"showWorkspacePaths": {
"command": "uv",
"args": [
"run",
"--directory",
"$WORKSPACE_FOLDER_PATHS",
"fastmcp",
"run",
"mcp/mcp_server.py:mcp"
]
}
}
}
mcp_server.py:
from fastmcp import FastMCP
# Create MCP server instance
mcp = FastMCP("Hello World MCP Server")
@mcp.tool()
def say_hello(name: str = "World") -> str:
"""
Say hello to someone.
Args:
name: Name of the person to greet (defaults to "World")
Returns:
A greeting message
"""
return f"Hello, {name}! Welcome to the Hello World MCP Server! 🌍"
I am not seeing any tools for this server, and it there are not much in logs:
2025-06-03 21:39:40.291 [info] aths: Starting new stdio process with command: uv run --directory $WORKSPACE_FOLDER_PATHS fastmcp run mcp/mcp_server.py:mcp
2025-06-03 21:39:40.296 [info] aths: Client closed for command
2025-06-03 21:39:40.299 [info] near: Handling ListOfferings action
2025-06-03 21:39:40.299 [error] near: No server info found
2025-06-03 21:39:40.301 [info] tant: Handling ListOfferings action
2025-06-03 21:39:40.301 [error] tant: No server info found
2025-06-03 21:39:40.303 [info] tHub: Handling ListOfferings action
2025-06-03 21:39:40.303 [error] tHub: No server info found
2025-06-03 21:39:40.306 [info] aths: Handling ListOfferings action
2025-06-03 21:39:40.306 [error] aths: No server info found
I tested uv run --directory %my dir% fastmcp run mcp/mcp_server.py:mcp
and it works well, I also debugged this server. But I can’t make it work in the Cursor.