Guide

Getting Started with MCP

Model Context Protocol servers give AI assistants access to external tools — files, databases, APIs, and more. This guide walks through installing your first server and connecting it to Claude Desktop.

What is Model Context Protocol?

The Model Context Protocol (MCP) is an open standard developed by Anthropic that defines how AI assistants communicate with external tools and data sources. Before MCP, each AI integration required custom code on both sides. MCP standardises the interface so any compliant server can plug into any compliant client.

An MCP server is a lightweight process that exposes a set of named tools. When you ask Claude to read a file, query a database, or search the web, Claude calls the corresponding tool on the server. The server executes the operation and returns structured results.

Architecture overview

Claude Desktop ──▶ MCP Client ──▶ stdio / SSE ──▶ MCP Server
                                                        │
                                               (filesystem, DB, API…)

Prerequisites

  • Claude Desktop (macOS or Windows) — download from claude.ai
  • Node.js 18 or later — required for npx-based servers
  • A terminal / command prompt

Some servers have additional requirements — for example, the PostgreSQL server needs a running Postgres instance, and the GitHub server requires a personal access token. Check the individual server page for details.

Install your first server

Most MCP servers are distributed as npm packages and run via npx— no global install needed. The Filesystem server is the recommended starting point because it has no external dependencies.

Test the server directly (optional verification step):

$ npx -y @modelcontextprotocol/server-filesystem ~/Documents

If Node.js is installed correctly you will see the server start and await connections. Press Ctrl+C to stop it — you do not need to keep it running manually. Claude Desktop manages server lifecycle automatically.

Configuration (claude_desktop_config.json)

Claude Desktop reads server configuration from a JSON file. The file location depends on your operating system:

macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

Minimal configuration with one server:

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

Each key under mcpServers is the server name shown in the Claude UI. The command and args fields specify how to launch the server process. You can add as many servers as needed.

Multi-server example:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "~/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<your-token>"
      }
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}

Verify the connection

  1. 1Save your configuration file.
  2. 2Quit Claude Desktop completely (Cmd+Q on macOS, not just close the window).
  3. 3Reopen Claude Desktop.
  4. 4Click the tools icon (hammer symbol) in the chat input bar — you should see your server listed with its available tools.
  5. 5Ask Claude: "What MCP tools do you have available?" — Claude will list them.

Troubleshooting

If the server does not appear, check the Claude Desktop logs at ~/Library/Logs/Claude/mcp*.log (macOS). Common causes: Node.js not on PATH, typo in the config file, or a missing required argument (e.g. directory path for the Filesystem server).

Next steps

Once the Filesystem server is working, explore the full directory to find servers for your workflow. Popular next additions:

Read the MCP Security Best Practices guide before granting file system or network access to servers from unknown authors.