CLSkills Hub
← Back to the blog
July 3, 2026Samarth at CLSkills

MCP Servers Explained: What Model Context Protocol Actually Does

Plain-English guide to MCP (Model Context Protocol) servers for Claude. What they are, how they work, the 8 worth installing, and the common mistakes to avoid.

mcpmodel context protocolclaudeclaude codebeginner guide

MCP stands for Model Context Protocol. It has nothing to do with Minecraft or game servers. If you landed here looking for that, you want a different guide. This one is about the open standard Anthropic released in late 2024 that lets Claude connect to your files, your APIs, and your tools in a safe, structured way.

I have been running Claude Code with three MCP servers wired up daily for the last six months. This post is what I wish someone had handed me before I spent my first weekend fighting the config.

The Short Answer

An MCP server is a small program that gives Claude a controlled way to reach outside its own text window. Without MCP, Claude can only see what you paste into the chat. With an MCP server, Claude can read files from your disk, query a database, hit a private API, or call a local script, but only through the specific actions the server exposes.

Think of it as a USB port for Claude. The port itself is standardized. Each MCP server is a specific device you plug into it. Claude can talk to the device, but only in the ways the device advertises. That is the whole idea.

Why MCP Exists

Before MCP, every tool that wanted Claude integrated had to build its own custom bridge. If you used Cursor and Continue and Claude Code, you had three different plumbing standards for the same idea. MCP replaces that with one protocol. Any tool that speaks MCP can talk to any AI client that speaks MCP.

For Claude specifically, MCP is the reason Claude Code can now:

  • Read and edit files in your project without you pasting them into chat
  • Query a Postgres database and pull real rows into its reasoning
  • Search your Notion or Google Drive
  • Run a shell command and read the output
  • Call a private internal API you have wired up

All of that used to require a hand-rolled integration. With MCP, one config file wires everything up.

How MCP Actually Works

MCP has three moving pieces:

  1. The client. This is the thing running Claude, for example Claude Code or Claude Desktop.
  2. The server. A small local program that exposes a set of tools, resources, or prompts.
  3. The protocol. A JSON-RPC message format that the two sides use to negotiate what the server can do and how Claude can call it.

When you start Claude Code with an MCP server configured, three things happen in order:

  1. Claude Code starts the server as a subprocess.
  2. The server introspects and tells Claude Code which tools it offers (for example, read_file, query_database, search_notion).
  3. Every message you send to Claude includes those tool definitions in the system context, so Claude knows they exist and can decide to call them.

When Claude decides to use a tool, the client sends a structured request to the server, the server runs the requested action, and the result comes back into Claude's context. You see the whole exchange in the Claude Code UI.

Where MCP Servers Live

Most MCP servers run as local processes on your own machine. That is a deliberate design choice. It means:

  • Your files never leave your laptop unless you explicitly configure a remote server
  • The MCP server has whatever permissions you have, no more
  • You can inspect and audit the server's code before you run it

Some MCP servers do run remotely (for example, a hosted Notion MCP server that connects to your Notion workspace via OAuth). Those are the exception. The default and safer pattern is local.

The 8 MCP Servers Worth Installing First

Ranked by how often I actually reach for them. Every one of these is free and open source.

1. Filesystem

What it does: Gives Claude read and write access to a specific directory on your machine.

Why it matters: This is the single most valuable MCP server for anyone doing coding or writing work. Without it, you paste files into chat. With it, Claude reads them itself.

Watch out for: Give it the narrowest directory scope you can. Never point it at your home folder or /.

2. GitHub

What it does: Reads issues, PRs, commits, and file contents from a GitHub repo.

Why it matters: Ask Claude "what did I merge last week" and get real answers pulled from the repo, not a hallucination.

Watch out for: Use a fine-grained personal access token with read-only scope unless you also want Claude to write.

3. Postgres

What it does: Runs read-only SQL queries against a Postgres database.

Why it matters: Real data in Claude's context beats prompting from memory. "How many users signed up last week and what did they order" becomes a single conversation.

Watch out for: Point it at a read replica or a copy, not production.

4. Fetch

What it does: Fetches arbitrary URLs and returns the content.

Why it matters: Claude can pull live docs, GitHub READMEs, or blog posts into the conversation instead of relying on training data.

5. Puppeteer

What it does: Drives a headless browser. Claude can navigate pages, click, and screenshot.

Why it matters: Useful when you want Claude to test a UI flow or scrape a page that fetch alone cannot handle.

6. Slack

What it does: Reads messages from Slack channels and DMs you have access to.

Why it matters: "Summarize what my team said about the launch last week" is now a single prompt.

7. Google Drive

What it does: Searches and reads your Drive files.

Why it matters: Same reason as Notion or Slack. Real content beats guessed content.

8. Sqlite

What it does: Reads local SQLite databases.

Why it matters: Almost every mobile app and desktop app stores data in SQLite. This is often the fastest way to give Claude context about your own tools.

How to Install an MCP Server

The exact steps depend on your client. For Claude Code:

  1. Open your MCP config file at ~/.claude/mcp.json
  2. Add an entry for the server, pointing at the command that runs it
  3. Restart Claude Code
  4. Verify the server shows up in /mcp status

A minimal filesystem server config looks like this:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
    }
  }
}

The server will start when Claude Code starts, and Claude will see the tools it exposes.

Common Mistakes

Giving Every Server Full Access

Each server runs as your user and has whatever permissions you do. Give the narrowest scope you can. Point filesystem at one project directory, not your home folder. Use a read-only database URL. Use a scoped GitHub token.

Installing Servers You Do Not Use

Every MCP server adds tool definitions to Claude's system prompt, which eats context window and slows the first response of a session. Only enable the servers you actually reach for in the current project.

Confusing MCP with Skills

MCP servers give Claude access to external systems. Skills teach Claude how to do a specific kind of work well. They are complementary, not alternatives. Most serious Claude Code setups use both.

Trusting the Server Blindly

An MCP server can execute code on your machine or make API calls with your credentials. Read the source before you install anything you did not write. Anthropic's official servers are safe; some third-party ones are not.

MCP vs Function Calling

Older tool-use patterns had you define functions inside the API call itself. MCP moves that definition outside the client, into a running server. The advantage is reuse. One MCP server works with Claude Code, Claude Desktop, Cursor, Continue, and any other client that supports the protocol. Old-style function calling had to be reimplemented per client.

If you are building for one client and never plan to reuse the tool anywhere else, function calling is fine. If you want the tool to work everywhere, MCP is the answer.

Getting Started

If this is your first MCP server, install the filesystem one. Point it at one project directory. Restart Claude Code. Ask Claude to read a file and tell you about it. When that works, add GitHub or Postgres next based on what you actually do.

Build the habit before you build the collection.

Where the rest of this lives

MCP gives Claude the tools. Prompt codes tell Claude how to think about the task once it has them. If you liked this and want the 160+ prompt patterns we ship with the actual temperature, system prompt, and role we use for each, the Cheat Sheet is where the rest of this lives. $15 for Full, $35 for Pro with the deeper analysis. clskillshub.com/cheat-sheet

For the setup basics, the free 75-page Claude guide covers the whole install path: clskillshub.com/guide

The Cheat Sheet is where the rest of this lives

160+ prompt patterns, each with the temperature, top_p, and system prompt we actually use, why we picked it, and what breaks when you get it wrong. If a lookup table is what you needed, this is the same thing at 20x the depth.

Get the Cheat Sheet, from $10 →Free 75-page guide first
More reading

Recent posts

Jul 12, 2026
Claude Fast Mode Removed July 24: What Breaks and Fix

Claude Opus 4.7 fast mode is deleted July 24, 2026. Requests error, no fallback. Here is the exact migration path to Opus 4.8 and the 3x price cut you get.

Read post →
Jul 10, 2026
Claude Prompt Caching: The Real Setup Guide (Cut API Costs Up to 90%)

How Claude's prompt caching actually works, when it saves you money, when it costs you more, and the exact break-point pattern that gets a 90% discount. Verified against Anthropic's official spec.

Read post →
Jul 9, 2026
Claude Fable + Token Monitoring: How to Cut Your Claude Code Bill Without Cutting Quality

Fable is the fast light Claude 5 model built for cost efficiency. Here is when to use Fable vs Sonnet vs Opus, how to monitor tokens live inside VS Code, and the honest math on what each saves.

Read post →