MCP servers: giving your AI tool hands
Your AI tool can read your files and run commands in your terminal. That is the whole list. An MCP server is how it reaches anything else: a browser, a database, your error tracker, a design file. This is what they are, when one is worth adding, and what it costs you.
Out of the box, your AI coding tool can do two things to the outside world: read and write files in your project, and run commands in your terminal. That is genuinely it. Everything else it appears to know, it is inferring from your code. Ask whether your deployed site is up and it will reason from the config. Ask what is in your database and it will read the schema file and guess.
An MCP server closes one of those gaps. It is a small program that exposes a specific thing — a browser, a database, an issue tracker, a payments dashboard — as a set of actions your tool can take. Install the Playwright one and your tool can open a page and tell you what is on it. Install the Supabase one and it can query your actual data instead of your schema file.
When one is worth it
The test is whether the answer exists somewhere your tool cannot currently look. Worth it: checking whether the page you just changed actually renders. Reading real rows out of a database. Pulling the text of a ticket you are about to work on. Anything where you would otherwise copy and paste something in by hand, repeatedly. Not worth it: writing code, explaining an error, refactoring, anything already in the files. Your tool is better at those without help, and every server you add makes it slightly worse at all of them. That is the next section.
What it costs
There is a second cost, and it is the one worth being careful about. An MCP server is a program running on your machine with whatever access you gave it. A database server can usually write as well as read. A browser server can act as you on any site you are logged into. That is not a reason to avoid them. It is a reason to install the one you need rather than the ten that looked interesting, and to prefer read-only access when a server offers it.
Install one
Playwright is a good first one: it gives your tool a browser, which is the gap you notice most, and it needs no account or key. Pick your tool below.
Install it in
bash
claude mcp add playwright -- npx @playwright/mcp@latestWhat you should see
A line confirming the server was added. Restart Claude Code, then check its MCP list for playwright.Put it in .mcp.json in the project, committed so everyone who clones the repo gets it, or ~/.claude.json for every project on your machine, just you.
Claude Desktop has no add command — you write the config yourself.
json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}What you should see
playwright appears in Claude Desktop's MCP list once it connects.Put it in ~/Library/Application Support/Claude/claude_desktop_config.json for every project on your machine, just you.
bash
codex mcp add playwright -- npx @playwright/mcp@latestWhat you should see
A line confirming the server was added. Restart Codex, then check its MCP list for playwright.Put it in .codex/config.toml in the project, committed so everyone who clones the repo gets it, or ~/.codex/config.toml for every project on your machine, just you.
Cursor has no add command — you write the config yourself.
json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}What you should see
playwright appears in Cursor's MCP list once it connects.Put it in .cursor/mcp.json in the project, committed so everyone who clones the repo gets it, or ~/.cursor/mcp.json for every project on your machine, just you.
bash
code --add-mcp '{"name":"playwright","command":"npx","args":["@playwright/mcp@latest"]}'What you should see
A line confirming the server was added. Restart VS Code, then check its MCP list for playwright.Put it in .vscode/mcp.json in the project, committed so everyone who clones the repo gets it.
Antigravity has no add command — you write the config yourself.
json
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}What you should see
playwright appears in Antigravity's MCP list once it connects.Put it in .agents/mcp_config.json in the project, committed so everyone who clones the repo gets it, or ~/.gemini/config/mcp_config.json for every project on your machine, just you.
bash
gemini mcp add playwright npx @playwright/mcp@latestWhat you should see
A line confirming the server was added. Restart Gemini CLI, then check its MCP list for playwright.Put it in .gemini/settings.json in the project, committed so everyone who clones the repo gets it, or ~/.gemini/settings.json for every project on your machine, just you.
opencode has no add command — you write the config yourself.
json
{
"mcp": {
"playwright": {
"type": "local",
"command": [
"npx",
"@playwright/mcp@latest"
]
}
}
}What you should see
playwright appears in opencode's MCP list once it connects.Put it in opencode.json in the project, committed so everyone who clones the repo gets it, or ~/.config/opencode/opencode.json for every project on your machine, just you.
Whether that lands in the project or on your whole machine is the one real decision here, and it is the same decision for skills and CLIs. The scope guide covers it properly.
Check it actually connected
This matters more than it sounds. A tool with no server connected will often answer the question anyway, from memory, in a confident voice. You want a question it cannot possibly answer without really looking.
Paste this into your AI tool
Using Playwright, open example.com and tell me exactly what the main heading says.
Open it in your AI tool. Clicking copies the prompt, and ChatGPT and Grok open with it already filled in.
- Claude(opens in a new tab)
- ChatGPT(opens in a new tab)
- Qwen(opens in a new tab)
- DeepSeek(opens in a new tab)
- Kimi(opens in a new tab)
- Grok(opens in a new tab)
More tools
App builders, in your browser:
Code editors on your computer. Open app only works once it is installed, so use Get it first if you do not have it.
- CursorOpen appGet it(opens in a new tab)
- VS CodeOpen appGet it(opens in a new tab)
- Antigravity IDEOpen appGet it(opens in a new tab)
- Antigravity 2.0Open appGet it(opens in a new tab)
Want the full list? Browse all app builders and coding editors (IDEs).
A browser window should open and it should answer "Example Domain". If it answers without opening anything, it is working from memory and the server is not connected — check the MCP list in your tool, and restart it if you installed the server mid-session.
Where to find servers worth having
Start from what you already use. The best first server is almost always one for a service that is already part of your day, because that is where the copying and pasting is. Two warnings on browsing. An official server from the company that makes the product is a different proposition from one person's weekend project with access to your database. And a server that has not been updated in a year is usually a server whose API has moved on.
Comments
Sign in to join the discussion.
Nothing here yet. If something in this piece worked, or did not, say so.