levels-fyi-mcp
MCP Server for querying compensation data from levels.fyi.
What this server provides
Server name: MyPlayground
Tools:
calculate_addition(a: int, b: int) -> intget_mock_weather(city: str) -> str(mock weather, not real API data)generate_username(base_name: str, add_numbers: bool = true) -> str
End User Installation (Use in Cursor)
This section is for users who only want to install and run the MCP server in Cursor.
Requirements
- Python
>=3.11 - uv
Cursor MCP configuration (recommended)
Use uv run so Cursor uses the project environment directly.
{
"mcpServers": {
"user-MyPlayground": {
"command": "uv",
"args": ["run", "python", "main.py"],
"cwd": "/absolute/path/to/levels-fyi-mcp"
}
}
}
Start using it
- Open Cursor MCP settings and add the server config above.
- Ensure
cwdpoints to your local clone of this repo. - Start/reload MCP servers in Cursor.
- Call tools such as
calculate_addition,get_mock_weather, andgenerate_username.
Optional: direct fastmcp command
If you prefer command: "fastmcp" in Cursor, install it as a global tool:
uv tool install fastmcp
If Cursor cannot find fastmcp, use the recommended uv run config above.
Developer Setup
This section is for contributors working on code changes.
Install dependencies
From the project root:
uv sync
Run server locally
uv run python main.py
Add or update dependencies
uv add <package>
uv sync
Quick environment check
uv run python -c "import fastmcp; print('fastmcp ok')"
Project structure
.
├── main.py
├── pyproject.toml
└── README.md
Troubleshooting
Failed to spawn: fastmcp (os error 2)
Cause: Cursor cannot find the fastmcp executable.
Fix:
- Prefer Cursor config with
uv run python main.py, or - Install global tool with
uv tool install fastmcpand ensure PATH includes the uv tool bin (commonly~/.local/bin).
Tool argument type errors
generate_username.add_numbersmust be boolean (true/false), not numbers or strings.
Notes
get_mock_weatherreturns randomized mock data for demos.- Tool logs are printed from
main.pyand appear in server output.