An MCP server is a program that gives AI clients like Claude Desktop or Cursor a standard way to use tools, read data, and take actions outside the chat. It follows the Model Context Protocol, so one server can work across many clients without custom glue code.
Why this page matters
MCP stands for Model Context Protocol. Anthropic published the protocol in November 2024 so AI clients and tool providers could speak the same language. Before MCP, every AI app needed its own one-off integration for files, databases, browsers, ticketing tools, or internal systems. That meant repeated work, repeated bugs, and a lot of copy-paste setup.
With MCP, the client side and the server side have clearer roles. The client is the app a person uses, such as Claude Desktop, Cursor, VS Code with GitHub Copilot, Windsurf, Continue.dev, or Zed. The server is the package that exposes a capability: local file access, GitHub actions, SQL queries, browser automation, web search, or app-specific actions. Once both sides support MCP, the client can discover tools, show them to the model, and call them in a standard format.
That is why MCP matters for both developers and end users. Developers can build one server and reach many clients. Users can add new powers to the AI tool they already use, instead of waiting for a native integration. The result is simple: more useful AI, less custom wiring.
How MCP works
- An MCP client starts and connects to one or more servers.
- Each server tells the client which tools or resources it offers.
- The client shows those tools to the model in a standard format.
- The model picks a tool when it needs outside data or an action.
- The client sends the request to the server and gets back structured output.
- The model uses that output to answer, act, or ask for the next step.
MCP vs REST API
MCP and REST APIs are not enemies. In many setups, an MCP server is the adapter layer that turns an existing API or local system into something an AI client can use directly. The table below shows the practical difference.
| MCP server | REST API |
|---|---|
| Made for AI clients and tool calling. | Made for general software-to-software requests. |
| Can advertise available tools to the client. | Needs separate docs or code to explain endpoints. |
| Uses structured tool inputs and outputs for model use. | Returns whatever the API designer defines. |
| Often runs locally through a package command. | Often runs as a hosted HTTP service. |
| Fits clients like Claude Desktop and Cursor. | Fits apps, websites, scripts, and backend services. |
| Usually wraps a tool, local resource, or another API. | Usually exposes raw business logic or data operations. |
| Helps one integration work across many MCP clients. | Needs a separate AI-side adapter if a client cannot use it directly. |
Common MCP use cases
Let an AI client read, write, and inspect files in allowed folders. Good for code edits, content updates, and local documentation work.
Work with repositories, pull requests, and issues from inside the client. Useful for review, release prep, and repo search.
Run PostgreSQL queries with natural language help. Good for analytics checks, table inspection, and data debugging.
Pull live web search results into an AI workflow. Useful for current research, source gathering, and fact lookup.
Drive a browser for page testing, form filling, screenshots, and step-by-step UI checks from the chat window.
Search or inspect Slack messages so the model can pull team context, summarize threads, or answer channel questions.
How to install an MCP server
You can run most MCP servers with npx for Node.js packages, uvx for Python packages distributed through uv, or Docker when a server ships as a container. The install flow is short once you know which config file your client reads.
1. Pick a server and package type
Start with one focused server. Filesystem, GitHub, Postgres, Brave Search, and Playwright are common first picks because their value is easy to test.
2. Run the server package
Use npx for Node-based packages and uvx for Python-based packages.
npx -y @modelcontextprotocol/server-filesystem /absolute/path/you-want-to-share
npx -y @modelcontextprotocol/server-github
uvx mcp-server-sqlite --db-path ./local.db
3. Add the server to your client config
Claude Desktop reads claude_desktop_config.json. Cursor reads .cursor/mcp.json. Add the command, arguments, and any paths or environment variables the server needs.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/absolute/path/you-want-to-share"]
}
}
}
4. Restart the client
Close and reopen Claude Desktop, Cursor, or your other client so it reloads the config and starts the server.
5. Test a small action
Ask the client to list tools, inspect a folder, run a query, or open a page. If the tool responds, the install is done. If not, check the package command, config path, and any auth or environment settings.
6. Use Docker when that is the easier runtime
Some teams prefer Docker to keep dependencies isolated. The MCP flow stays the same: run the server, point your client at the command, restart the client, and test one tool call.
Top 10 MCP servers to know
If you want a short starter list, these are the names most developers look for first. Together they cover local files, source control, databases, web search, browser control, chat, cloud storage, billing data, and project tracking.
npx -y @modelcontextprotocol/server-filesystem /absolute/path
npx -y @modelcontextprotocol/server-github
npx -y @modelcontextprotocol/server-postgres
npx -y @modelcontextprotocol/server-brave-search
npx -y playwright-mcp
uvx mcp-server-sqlite --db-path ./local.db
npx -y @modelcontextprotocol/server-slack
npx -y @modelcontextprotocol/server-google-drive
npx -y stripe-mcp
npx -y linear-mcp
Which MCP clients support these servers?
The main clients to know are Claude Desktop, Cursor, VS Code with GitHub Copilot, Windsurf, Continue.dev, and Zed. All of them use the same core idea: run one or more servers, expose the available tools to the model, and let the user approve or inspect results as needed.
That shared protocol is what makes the MCP ecosystem move quickly. A useful server can show up in many clients without being rewritten from scratch. If you switch from one editor to another, your server list often moves with you with only small config changes.
Are MCP servers free?
Many MCP servers are free packages. The package itself may cost nothing to run, especially if it wraps a local resource like files or a local SQLite database. What can still cost money is the system behind the server. If the server talks to GitHub, Slack, Stripe, Brave Search, or a cloud database, your usage rules and account plan for that service still apply.
That means "free" has two parts: the MCP package and the underlying tool. For planning, think of the server as the connector and the external app as the thing that may have its own limits, API quotas, or paid account requirements.
How to write your own MCP server
If an existing package does not match your workflow, writing your own MCP server is a direct next step. Start by deciding what the client should be able to do. Good first targets are actions with a narrow input and a clear output, such as "search tickets," "run a saved SQL query," or "fetch a customer record."
Then define the tools your server will expose, the arguments each tool accepts, and the result shape it returns. Keep the interface small at first. A short tool list is easier to test than a giant server with overlapping actions. Once the tool shape is stable, connect it to your real system, run the server locally, add it to Claude Desktop or Cursor, and test it with short prompts. If the model can reliably pick the right tool and interpret the response, you are on the right path.
FAQ
1. What is an MCP server?
An MCP server is a program that exposes tools, files, search, databases, or other capabilities to an AI client through the Model Context Protocol. It gives the client a standard way to discover and use those capabilities.
2. What is the Model Context Protocol?
The Model Context Protocol, or MCP, is a standard published by Anthropic in November 2024. It defines how AI clients and external servers exchange tool descriptions, requests, and results.
3. How do I install an MCP server?
Choose a package, run it with npx, uvx, or Docker, add the command to your client config, restart the client, and test a tool call. Claude Desktop uses claude_desktop_config.json and Cursor uses .cursor/mcp.json.
4. What MCP clients are available?
Common MCP clients include Claude Desktop, Cursor, VS Code with GitHub Copilot, Windsurf, Continue.dev, and Zed.
5. What is the difference between MCP and a REST API?
A REST API is a general software interface. MCP is aimed at AI clients and includes standard tool discovery and structured context. In practice, many MCP servers wrap an existing REST API.
6. Are MCP servers free?
Many are free packages, but the service they connect to may have its own price or usage limits. A local filesystem or SQLite setup can be cheap, while hosted apps may not be.
7. How do I write my own MCP server?
Use an MCP SDK, define clear tools, set input and output schemas, connect the server to the system you want to expose, then test it in a client such as Claude Desktop or Cursor.
8. What are the best MCP servers for Claude Desktop?
Strong starting picks are @modelcontextprotocol/server-filesystem, @modelcontextprotocol/server-github, @modelcontextprotocol/server-postgres, @modelcontextprotocol/server-brave-search, and playwright-mcp.