MCP guides

Practical, tested guides for setting up MCP servers in Claude Code, Claude Desktop and Cursor, and for fixing the problems that come up. Looking for a specific server? See the server directory.

How to set up MCP servers in Claude Code, Claude Desktop and CursorWhere the config file goes, what it looks like, and how to check it worked, for Claude Code, Claude Desktop, and Cursor. The MCP servers worth installing firstA short, honest list of MCP servers for developers: what each one does, what it needs, and what to watch out for. Includes servers to avoid. MCP server "Failed to connect" or "Connection closed": how to fix itWhy an MCP server shows Failed to connect or Connection closed in Claude Code, and a step-by-step way to find the real cause in a few minutes. Test an MCP server without an AI: the MCP Inspector command lineUse the official MCP Inspector in CLI mode to list a server's tools, call one, and see the real error behind Connection closed. Tested on Windows against your own .mcp.json. How to keep API keys out of your MCP configKeep API keys out of git: reference an environment variable in your MCP config for Claude Code and Cursor, what Claude Desktop can't do, and how to set it on each OS. How to block git push, rm -rf and .env reads in Claude CodeClaude Code permission rules miss git -C . push. How to block git push, rm -rf and .env reads with deny rules plus a tested PreToolUse hook, with Windows notes. Claude Code hooks: five examples that workFive Claude Code hooks you can copy: auto-format after edits, git context at session start, run tests before Claude stops, log commands, block git push. Each one tested. Claude Code keeps asking permission: allow rules that actually workStop Claude Code permission prompts with allow rules. Which spellings match, what the exact-match trap is, and why rules in .claude/settings.json can silently do nothing. Run Claude Code from a script: claude -p, cost caps and permissionsHow claude -p behaves in scripts: the JSON output, what --max-budget-usd really does, and which commands run in default, dontAsk and acceptEdits mode. Tested, with costs. CLAUDE.md and AGENTS.md: where they go, how they load, and what they can't enforceWhere CLAUDE.md goes, how Claude Code loads it, and the AGENTS.md gotcha: adding CLAUDE.local.md makes Claude ignore AGENTS.md. Tested in Claude Code 2.1.278. How to create a custom slash command in Claude CodeHow to make your own Claude Code slash command with a SKILL.md file: arguments, positional $0 $1 $2, live context, and the naming detail we found. Every example was run. How to create a custom subagent in Claude CodeHow to create a Claude Code subagent with a markdown file, and how to limit its tools. We ran one: it followed its own instructions and could not run a shell command. claude mcp add: the command for each MCP server, and the mistakes to avoidThe claude mcp add command for popular MCP servers, tested against Claude Code 2.1.278. Covers the -- separator, keeping keys out of the file, scopes, and PowerShell quirks. The MCP memory server forgets everything: where it saves and how to fix itThe MCP memory server saves to a file inside npm's npx cache, and we watched an update erase it. Where the file is, what deletes it, and how to keep your memories. Filesystem MCP server: "Access denied - path outside allowed directories"The Filesystem MCP server refuses a file with 'Access denied - path outside allowed directories'. What it means, how to allow the folder, and the errors that look similar.
Open the config builder Get early access to Pro