Advertisement
Verified Partner
Enterprise Cloud Infrastructure, GPU Clusters & AI APIs
Deploy high-throughput inference and quant trading pipelines with ultra-low latency.
Explore Platform →

MCP Servers Cheatsheet: Concepts, Configs, Useful Servers and Debugging

By Dr. Aris Thorne • Beginner • 5 min read • Updated 2026-09-15

What You Will Master in This Tutorial

  • Set up Python 3.12+ and write clean, readable, PEP 8-compliant code.
  • Work with fundamental data structures: Lists, Dictionaries, Sets, and Tuples.
  • Control program execution flow with conditionals, loops, and list comprehensions.
  • Encapsulate logic into reusable functions with type hints and default arguments.
  • Understand Object-Oriented Programming (OOP) in Python: Classes, Methods, and Inheritance.
  • Test and execute your scripts interactively using the Online Code Playground.

The Model Context Protocol (MCP) is the open standard that lets AI assistants call real tools — files, databases, browsers, APIs — through one plug. This page is the working reference: concepts in one table, copy-paste configs for the two clients most people use, the servers worth installing first, and how to debug the failures everyone hits. For the full story and your first custom server, read our MCP guide.

Concepts in 60 seconds

TermWhat it means
HostThe AI app you use: Claude Desktop, Cursor, Claude Code, VS Code, Windsurf…
ClientThe connector inside the host that talks to one server (1 client ↔ 1 server).
ServerA small program exposing capabilities in a standard way. Runs locally (stdio) or remotely (HTTP).
ToolsActions the model can call: read_file, query_database, create_issue…
ResourcesRead-only data the server offers as context: files, schemas, documents.
PromptsReusable prompt templates the server ships (for example a code-review routine).
stdio transportThe host launches the server as a subprocess and talks over stdin/stdout. The local default.
Streamable HTTPThe server runs remotely at a URL; the host connects over HTTPS, usually with OAuth or a token.
Roots / Sampling / ElicitationAdvanced: which folders a server may touch; a server asking the host's model for help; a server asking the user for input mid-task.

Config: Claude Desktop

File locations — macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json. Fully quit and restart Claude Desktop after editing.

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem",
               "/Users/you/projects", "/Users/you/notes"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token" }
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

Config: Cursor

Project scope: .cursor/mcp.json in the repo. Global scope: ~/.cursor/mcp.json. Same JSON shape; remote servers use url instead of command:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    },
    "my-remote-server": {
      "url": "https://mcp.example.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

In Claude Code you can edit the same files or use claude mcp add name -- command… — see the Claude Code cheatsheet for the exact commands and scopes (user, project, local).

Useful servers to install first

ServerGives the modelInstall (stdio)
FilesystemRead/write inside folders you whitelistnpx -y @modelcontextprotocol/server-filesystem /path
GitHubIssues, PRs, repo search, reviewsnpx -y @modelcontextprotocol/server-github + token in env
PlaywrightA real browser: navigate, click, screenshot, scrape dynamic pagesnpx -y @playwright/mcp@latest
FetchClean web-page-to-markdown fetchinguvx mcp-server-fetch
MemoryA persistent knowledge graph across sessionsnpx -y @modelcontextprotocol/server-memory
Sequential ThinkingStructured step-by-step problem solving toolnpx -y @modelcontextprotocol/server-sequential-thinking
Postgres / SQLiteQuery your database in natural languagenpx -y @modelcontextprotocol/server-postgres <url>
Brave SearchWeb search results with citationsnpx -y @modelcontextprotocol/server-brave-search + API key
SentryProduction errors and stack traces in contextRemote: https://mcp.sentry.dev/mcp (OAuth)
Context7Up-to-date library documentation, version-correctnpx -y @upstash/context7-mcp

Rule of three for beginners: start with Filesystem + GitHub + Playwright. Add a server only when you feel a specific missing capability — every server is more context, more permissions and more things that can break.

Security rules (non-negotiable)

  • Whitelist narrowly: give Filesystem one project folder, not your home directory; give database servers read-only users for exploration.
  • Secrets live in env, never in prompts or repos. If a config with real keys gets committed, rotate the keys — deleting the commit is not enough.
  • Only install servers you can inspect. Prefer the official reference servers and well-known publishers; a random MCP server runs with your user's permissions.
  • Watch tool calls: approve writes/deletes deliberately. A prompt-injected web page can try to talk your assistant into abusing its tools.

Debugging: the fixes that solve most problems

SymptomCheck / command
Server does not appear in the clientValidate the JSON (one trailing comma kills it), confirm the file path for your OS, then fully restart the host app — most clients only load MCP config at launch
npx server fails to startRun the exact command in a terminal: npx -y @modelcontextprotocol/server-filesystem /tmp — if it errors there, fix Node version (18+) or the package name first
Server starts, tools never fireOpen the client's MCP panel/logs and look for handshake errors; check the server is not printing stray logs to stdout (stdio servers must keep stdout clean — logs go to stderr)
Auth errors (GitHub, databases)Confirm the env var name matches the server's README exactly and the token has the scopes the tool needs
Works in one client, not anotherTransports differ: a client may not support remote HTTP servers or a specific auth flow; test the same config in the MCP Inspector
Inspect any server interactivelynpx @modelcontextprotocol/inspector — opens a UI to call tools by hand and see raw requests/responses
Claude Code specificclaude mcp list for status, /mcp inside a session to authenticate and inspect, claude mcp get <name> for the resolved config
Python server logsRun with uvx/python directly and read stderr; add the server's documented debug flag or MCP_LOG_LEVEL=debug where supported

Workflow that saves hours: terminal first (does the command run?), Inspector second (do the tools respond?), client last (is the config right?). Ninety percent of "MCP is broken" is a JSON typo, a stale client that was never restarted, or an env var pasted into the wrong server block.

Building agents on top of all this? Continue with the AI agents tutorial and the rest of our cheatsheets.

Knowledge Check: Test Your Understanding

1. Which Python data structure provides constant-time O(1) key lookups?

Frequently Asked Questions

How long does it take to learn Python for beginners?
With daily practice of 1-2 hours, most beginners grasp core syntax, data structures, and functions within 3 to 4 weeks, and can build basic automation scripts and data projects in 6 to 8 weeks.
Can I run Python directly in my browser?
Yes! You can use our built-in Online Code Playground (/tools/online-code-playground/) to run Python code instantly without setting up any local environment.