Set up MCP in Claude Desktop without guesswork. Pick a safe server, copy a working config snippet, understand the required files and env vars, and make your first tool call.
Add MCP Servers to Claude Desktop
If your goal is “get one MCP server working in Claude Desktop today without breaking local security,” this is the shortest path.
Recommended starting points
| Server or guide | Best for | Not ideal when | Auth / setup | Permission risk |
|---|---|---|---|---|
| Connect Claude to SQL Databases with MCP | Analytics, app databases, read-only data questions | You need mail, calendar, or local terminal access | DB credentials | Medium |
| Connect Claude to Kubernetes with MCP | Cluster visibility and rollout troubleshooting | You only need local file or email workflows | Kubeconfig / cloud auth | High |
| MCP GSuite Server | Gmail and Calendar in one setup | You only need lightweight task management | OAuth2 + local auth files | High |
| MCP Shell Server | Whitelisted local shell commands | You need broad host control or zero local-risk rollout | Allowed command list | High |
| CLI MCP Server | Restricted command execution inside a chosen directory | You need a polished SaaS integration first | Allowed directory + command/flag policy | High |
Quick selection (30 seconds)
- Pick a read-oriented data server first if you want the safest first success.
- Pick GSuite if your workflow lives in Gmail or Calendar.
- Pick Shell or CLI only if you are comfortable reviewing every command scope and local permission boundary.
- Avoid starting with a high-blast-radius server if the only goal is to prove Claude Desktop MCP works.
Copy-paste config (Claude Desktop)
This generic starter pattern is the lowest-friction way to add one server and verify Claude Desktop can see it.
{
"mcpServers": {
"my-first-server": {
"command": "uvx",
"args": [
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "pwd,ls,cat"
}
}
}
}If you prefer a local checkout instead of a published package, switch uvx to uv and add --directory /absolute/path/to/repo run <server-command>.
Setup checklist
| Item | Required | Sensitive | Notes |
|---|---|---|---|
claude_desktop_config.json access | Yes | No | macOS path: ~/Library/Application Support/Claude/claude_desktop_config.json |
Correct command binary | Yes | No | Common values are uv, uvx, node, or npx |
| Server-specific auth files | Sometimes | Yes | OAuth JSON, API keys, or credentials dir depending on the server |
| Least-privilege env vars | Yes | Sometimes | Start with read-only or whitelisted scopes only |
| Claude restart after config update | Yes | No | Claude Desktop usually needs a restart to load changes |
First tool-call prompts
- “List the tools exposed by this MCP server and explain which one is safest to test first.”
- “Run a low-risk read-only check so I can confirm the server is connected.”
- “Tell me which credentials or local files this server can access before we do anything else.”
Fastest failure checks
- If Claude does not show the server, check the JSON for trailing commas or the wrong
command. - If the server starts but tools fail, verify auth files and env vars before debugging prompts.
- If the workflow touches local files or shell commands, reduce permissions first and retest with a single safe command.
Risk and permission notes
- Local execution servers: never start with unrestricted command access if a small whitelist is enough.
- Workspace tools: keep OAuth scopes narrow and isolate auth files outside your repo.
- Database and infra tools: begin with read-only roles, not production write credentials.
- Approval discipline: if the server can execute commands or write data, review the first several actions manually.
FAQ
What is the safest first MCP server for Claude Desktop?
A read-only data or task server is usually the safest first step because you can validate connectivity without giving Claude host-level control.
Should I use uvx, npx, or a local checkout?
Use the published command when you want the shortest setup path. Use a local checkout when you need to inspect source, pin a branch, or supply local config files next to the repo.
Why does Claude Desktop still not see my server after editing the config?
The most common causes are invalid JSON, the wrong executable name, or forgetting to restart Claude Desktop after saving the file.
Related pages
- Connect Claude to SQL Databases with MCP
- Connect Claude to Kubernetes with MCP
- Connect Claude to Google Workspace with MCP
- Connect Claude to Local Files and Shell with MCP
- MCP intro blog post
Sources and freshness
- Sources: existing server detail pages linked above.
- Updated: March 15, 2026.