Complete MCP Setup Checklist for Developers 2026
Everything you need to configure MCP correctly — prerequisites, installation, config, verification, and common fixes.
How to use this checklist
Work through each section in order. Sections 1–3 are one-time setup. Section 4 is done each time you add a new MCP. Sections 5–6 are reference material.
1Prerequisites
Node.js 18+ installed
node --version
Most MCP servers run via npx (Node.js)
npm or yarn installed
npm --version
Python 3.10+ installed (for Python MCP servers)
python --version
Only needed if using Python-based MCP servers
uv installed (for Python MCP servers)
pip install uv
Replaces pip for MCP server execution — faster, isolated
Git installed
git --version
Required by GitHub MCP
2Essential MCPs to Install
Test Filesystem MCP
npx @modelcontextprotocol/server-filesystem ~/Desktop
Should print 'MCP server started'
Test Fetch MCP
npx @modelcontextprotocol/server-fetch
No API key needed
Get GitHub Personal Access Token
github.com/settings/tokens
Scopes: repo, read:org, read:user
Get Brave Search API key
api.search.brave.com
Free tier: 2,000 searches/month
Test GitHub MCP
GITHUB_PERSONAL_ACCESS_TOKEN=xxx npx @modelcontextprotocol/server-github
3Config File Setup
Create config at correct location for your tool
# Claude Code: ~/.claude.json or .claude.json in project # Cursor: .cursor/mcp.json # Windsurf: .windsurf/mcp.json # Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
Valid JSON with correct structure
{
"mcpServers": {
"serverName": {
"command": "npx",
"args": ["-y", "package-name"]
}
}
}Validate with jsonlint.com if you get parse errors
Use -y flag with npx
npx -y @modelcontextprotocol/server-filesystem
The -y flag skips the 'install?' prompt — critical for MCP to work
Use absolute paths, not relative
"~/projects" ✓ "./projects" ✗
Relative paths cause issues — use full absolute paths
Environment variables in env object, not args
{
"env": { "MY_KEY": "value" }
}Never put secrets in args — they appear in process lists
4Verification Steps
Restart your AI tool after config change
# Fully quit and reopen — don't just close the tab
MCP servers load at startup
Check MCP server list in tool settings
# Claude Code: /mcp command # Cursor: Settings → MCP # Windsurf: Settings → Extensions → MCP
Test a basic file read
"Read the README.md in the current directory"
If AI can read it, Filesystem MCP is working
Test web search
"Search the web for latest React 19 release notes"
If AI returns current results, Search MCP is working
Check for errors in AI tool logs
# Claude Code: ~/Library/Logs/Claude/ # Cursor: Help → Toggle Developer Tools → Console
Look for connection refused or spawn errors
5Common Issues & Fixes
MCP not showing in tool: check config file path
# Wrong: mcp.json in project root for Claude Code # Right: ~/.claude.json or .claude.json
Permission denied: check filesystem path exists
ls ~/projects
Directory must exist and be readable
Module not found: run npx manually first
npx @modelcontextprotocol/server-filesystem ~
First run downloads the package; subsequent runs use cache
API key invalid: test it manually
curl -H 'X-Subscription-Token: KEY' 'https://api.search.brave.com/res/v1/web/search?q=test'
Replace KEY with your actual key
Server crashes immediately: check Node.js version
node --version # Must be 18+
Some servers require Node 20+
6Security Best Practices
Never commit API keys to git
# Add to .gitignore: .env .env.local # Or use env vars from your shell
Limit Filesystem MCP to specific directories
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~/projects/myapp"]
Don't point it at / or ~ — use specific project directories
Use read-only tokens where possible
# GitHub: only select 'Contents: Read' instead of full repo access
Review AI actions before approving in agentic mode
# Check what the AI intends to do before it executes writes
MCP write operations can't always be undone
Quick Reference: Config Locations by Tool
| Tool | Config File Location | Scope |
|---|---|---|
| Claude Code | ~/.claude.json | Global (all projects) |
| Claude Code | .claude.json in project root | Project-specific |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) | Global |
| Cursor | .cursor/mcp.json in project | Project-specific |
| Windsurf | .windsurf/mcp.json in project | Project-specific |
| VS Code Copilot | .vscode/mcp.json in project | Project-specific |
| Gemini CLI | ~/.gemini/config.json | Global |
| Codex CLI | ~/.codex/config.json | Global |
Build Your MCP Stack
Browse 2,500+ verified MCPs and use our package builder to generate your config.