MCP in Cursor lets the agent use external tools — search the web, scrape a page, query a database, hit your API — instead of only reading your codebase. You add a server by declaring it in an mcp.json file, Cursor connects to it, and its tools become available to the agent in chat and Composer. Setup is a few lines of JSON; the value is an agent that can act on the world, not just your files.
What MCP adds to Cursor
Out of the box, Cursor's agent reasons over your code. The Model Context Protocol extends that: a server exposes tools with names and descriptions, and the agent can call them mid-task. Connect a database server and the agent queries your schema; connect a web-data server and it fetches live documentation or scrapes a page it needs. The agent decides when a tool is relevant from its description — you don't script the calls. This is the same protocol Claude and other hosts use, so a server you add to Cursor works elsewhere too; we explain the mechanics in how MCP servers work.
Adding a server: the mcp.json file
Cursor reads MCP servers from a JSON config. You have two scopes:
| Scope | File | Use for |
|---|---|---|
| Project | .cursor/mcp.json in the repo | Servers specific to this project; shareable with the team |
| Global | ~/.cursor/mcp.json | Servers you want in every project |
The format is the same as other MCP hosts — a mcpServers object naming each server and how to launch it:
{
"mcpServers": {
"web-data": {
"command": "npx",
"args": ["-y", "quantumproxies-mcp"],
"env": { "QUANTUMPROXIES_API_KEY": "your_key" }
}
}
}Save the file, and Cursor picks up the server. Open Settings → MCP to confirm it connected and see the tools it exposes — a green indicator and a tool list mean it's working. If it doesn't appear, the usual cause is a bad command path or a missing env var, both visible in that settings panel.
Using the tools in a task
Once connected, just ask. In agent chat or Composer, describe what you need — "scrape the pricing page at example.com and summarize the tiers" — and the agent recognizes the web-data server's scrape tool applies, calls it, and reasons over the result. By default Cursor asks you to approve each tool call the first time, which is the right safety posture: you see exactly what the agent is about to do before it acts. You can allow-list trusted tools to skip the prompt for routine calls. The agent chooses tools from their descriptions, so a well-described server "just works" without you naming the tool explicitly.
stdio vs remote servers
Cursor supports two kinds of MCP server, and knowing which you're adding avoids confusion. A stdio server — like the npx example above — runs locally: Cursor launches the command as a subprocess on your machine and talks to it over standard input/output. This is the common case for developer tools and needs nothing but the command in your config. A remote server runs elsewhere and Cursor connects to it over HTTP with a URL instead of a command; you'd use this for a shared team server or a hosted service. For most setups you want stdio: it's simpler, has no network to configure, and the server starts and stops with Cursor. If a server's documentation gives you a URL rather than a command, it's remote, and your mcp.json entry uses a url field instead of command and args.
Project vs global, and team sharing
Put a server in .cursor/mcp.json and commit it, and everyone on the team gets the same tools when they open the repo — MCP config becomes part of the project setup, like a devcontainer. Keep personal or credentialed servers in the global ~/.cursor/mcp.json instead, and never commit API keys: reference them via environment variables the config reads, not literal values in a shared file. This split — shared tool declarations, private credentials — is the clean pattern for a team using MCP in Cursor.
A web-data server for Cursor
One of the highest-value servers to add is web data, because it's the capability the agent most often lacks: Cursor can read your code but not the live web. Our MCP server is the config shown above — an npx package that gives the Cursor agent search, scrape, crawl, map, batch and seo_audit as tools, backed by residential proxies and billed pay per success. With it connected, the agent can look up current documentation while coding, scrape an API's page to understand its shape, or pull live data into what it's building — without you leaving the editor to copy-paste. It's a free open package with $2 of usage included monthly, so trying it is a two-line addition to your mcp.json. The same web-data API is available over REST if you'd rather call it directly, and the docs cover setup for Cursor and every other MCP host.