Skip to content

Learn MCP Server

A comprehensive guide to installing and configuring Model Context Protocol (MCP) servers for Claude Code, Zed, and Visual Studio Code. MCP servers provide AI assistants with access to external tools, APIs, and documentation.

Model Context Protocol (MCP) is an open protocol that enables AI assistants to:

  • Access external APIs and services
  • Query documentation in real-time
  • Interact with development tools
  • Extend capabilities beyond basic code editing

Before installing MCP servers, ensure you have:

  • Node.js 18+ or Bun installed
  • Claude Code, Zed, or VS Code installed
  • Basic command line knowledge
  • API keys for services you want to use optional
Terminal window
# Check Bun version
bun --version # Any recent version

MCP servers can be installed in two ways:

  • Hosted remotely
  • No local installation required
  • Just add URL to config
  • Examples: Sentry, Astro Docs, Exa, Neon
  • Run locally via npm/npx
  • More control and customization
  • Examples: shadcn, custom servers

Claude Code stores MCP configuration in:

Terminal window
~/.config/claude/claude_desktop_config.json
  1. Create Configuration File

    If the file doesn’t exist, create it:

    Terminal window
    mkdir -p ~/.config/claude
    touch ~/.config/claude/claude_desktop_config.json
  2. Add MCP Server Configuration

    Open the configuration file and add:

    claude_desktop_config.json
    {
    "mcpServers": {
    "sentry": {
    "type": "http",
    "url": "https://mcp.sentry.dev/mcp"
    },
    "astro-docs": {
    "type": "http",
    "url": "https://mcp.docs.astro.build/mcp"
    },
    "exa": {
    "type": "http",
    "url": "https://mcp.exa.ai/mcp",
    "headers": {}
    },
    "neon": {
    "type": "http",
    "url": "https://mcp.neon.tech/mcp"
    },
    "shadcn": {
    "command": "npx",
    "args": [
    "shadcn@latest",
    "mcp"
    ]
    }
    }
    }
  3. Add API Keys Optional

    Some MCP servers require authentication. Add headers:

    claude_desktop_config.json
    {
    "mcpServers": {
    "exa": {
    "type": "http",
    "url": "https://mcp.exa.ai/mcp",
    "headers": {
    "Authorization": "Bearer YOUR_EXA_API_KEY"
    }
    },
    "neon": {
    "type": "http",
    "url": "https://mcp.neon.tech/mcp",
    "headers": {
    "Authorization": "Bearer YOUR_NEON_API_KEY"
    }
    }
    }
    }
  4. Restart Claude Code

    Terminal window
    # Quit Claude Code completely (Cmd+Q)
    # Then relaunch from Applications
  5. Verify Installation

    1. Open Claude Code
    2. Start a new conversation
    3. Type: “Can you access Astro documentation?”
    4. Claude should respond with access to Astro docs

Zed stores MCP configuration in:

Terminal window
~/.config/zed/settings.json
  1. Open Zed Settings

    Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
    Type: "zed: open settings"
  2. Add MCP Configuration

    Add or merge this into your settings.json:

    settings.json
    {
    "assistant": {
    "version": "2",
    "provider": {
    "name": "anthropic",
    "default_model": {
    "model": "claude-3-5-sonnet-20241022"
    }
    }
    },
    "context_servers": {
    "sentry": {
    "type": "http",
    "url": "https://mcp.sentry.dev/mcp"
    },
    "astro-docs": {
    "type": "http",
    "url": "https://mcp.docs.astro.build/mcp"
    },
    "exa": {
    "type": "http",
    "url": "https://mcp.exa.ai/mcp",
    "headers": {}
    },
    "neon": {
    "type": "http",
    "url": "https://mcp.neon.tech/mcp"
    },
    "shadcn": {
    "command": "npx",
    "args": [
    "shadcn@latest",
    "mcp"
    ]
    }
    }
    }
  3. Add API Keys Optional

    settings.json
    {
    "context_servers": {
    "exa": {
    "type": "http",
    "url": "https://mcp.exa.ai/mcp",
    "headers": {
    "Authorization": "Bearer YOUR_EXA_API_KEY"
    }
    }
    }
    }
  4. Reload Zed

    Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
    Type: "zed: reload"
  5. Verify Installation

    1. Open Zed Assistant (Cmd+Shift+A or Ctrl+Shift+A)
    2. Ask: “Can you search the Astro documentation?”
    3. Assistant should confirm access to MCP servers

VS Code uses MCP through the Continue extension.

  1. Install Continue Extension

    1. Open VS Code
    2. Click Extensions icon (Cmd+Shift+X)
    3. Search “Continue”
    4. Click “Install” on “Continue - AI Code Assistant”
  2. Configuration File Location

    Continue stores config in:

    Terminal window
    ~/.continue/config.json
  3. Create/Edit Configuration

    Open the config file:

    Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
    Type: "Continue: Open Config"
  4. Add MCP Configuration

    Add to your config.json:

    config.json
    {
    "models": [
    {
    "title": "Claude 3.5 Sonnet",
    "provider": "anthropic",
    "model": "claude-3-5-sonnet-20241022",
    "apiKey": "YOUR_ANTHROPIC_API_KEY"
    }
    ],
    "contextProviders": [
    {
    "name": "mcp",
    "params": {
    "servers": {
    "sentry": {
    "type": "http",
    "url": "https://mcp.sentry.dev/mcp"
    },
    "astro-docs": {
    "type": "http",
    "url": "https://mcp.docs.astro.build/mcp"
    },
    "exa": {
    "type": "http",
    "url": "https://mcp.exa.ai/mcp",
    "headers": {}
    },
    "neon": {
    "type": "http",
    "url": "https://mcp.neon.tech/mcp"
    },
    "shadcn": {
    "command": "npx",
    "args": [
    "shadcn@latest",
    "mcp"
    ]
    }
    }
    }
    }
    ]
    }
  5. Reload VS Code Window

    Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
    Type: "Developer: Reload Window"
  6. Verify Installation

    1. Open Continue chat (Cmd+Shift+L or Ctrl+Shift+L)
    2. Type: “@mcp Can you access Astro docs?”
    3. Continue should respond with MCP access

Purpose: Error tracking and monitoring integration

Features:

  • Query error logs
  • Check issue status
  • Get performance metrics
  • Access release information
Configuration
{
"sentry": {
"type": "http",
"url": "https://mcp.sentry.dev/mcp"
}
}

Use Cases:

  • “Show me recent errors in production”
  • “What’s the error rate for the last deployment?”
  • “Get details about error ID 123456”

API Key Required No (for public data), Yes (for private projects)


Purpose: Real-time access to Astro documentation

Features:

  • Search Astro documentation
  • Get latest API references
  • Access guides and tutorials
  • Query best practices
Configuration
{
"astro-docs": {
"type": "http",
"url": "https://mcp.docs.astro.build/mcp"
}
}

Use Cases:

  • “How do I configure Astro for Cloudflare?”
  • “What are the latest Astro 5 features?”
  • “Show me Astro routing examples”

API Key Required No


Purpose: AI-powered web search for developers

Features:

  • Semantic code search
  • Find technical documentation
  • Discover libraries and tools
  • Search GitHub repositories
Configuration
{
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_EXA_API_KEY"
}
}
}

Use Cases:

  • “Find React component libraries for dashboards”
  • “Search for Tailwind CSS animation examples”
  • “What are the best practices for Drizzle ORM?”

API Key Required Yes
Get API Key: https://exa.ai


Purpose: PostgreSQL database management

Features:

  • Query database schema
  • Run SQL queries
  • Manage database branches
  • Monitor connection pools
Configuration
{
"neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp",
"headers": {
"Authorization": "Bearer YOUR_NEON_API_KEY"
}
}
}

Use Cases:

  • “Show me the schema for the users table”
  • “Create a new database branch for testing”
  • “What are the current connection pool stats?”

API Key Required Yes
Get API Key: https://neon.tech/dashboard > API Keys


Purpose: shadcn/ui component CLI integration

Features:

  • Browse available components
  • Get component installation commands
  • Access component documentation
  • Check component dependencies
Configuration
{
"shadcn": {
"command": "npx",
"args": [
"shadcn@latest",
"mcp"
]
}
}

Use Cases:

  • “How do I add the dialog component?”
  • “What shadcn components are available?”
  • “Show me the button component documentation”

API Key Required No


  1. Visit https://exa.ai
  2. Click “Sign Up” or “Get API Key”
  3. Create account (GitHub sign-in available)
  4. Navigate to Dashboard > API Keys
  5. Click “Create New API Key”
  6. Copy the key (starts with exa_)

Free Tier 1,000 requests/month

  1. Visit https://neon.tech
  2. Sign in to your account
  3. Go to Account Settings > API Keys
  4. Click “Create API Key”
  5. Give it a name (e.g., “MCP Server”)
  6. Copy the key

Free Tier 10 GB storage, 100 hours compute/month

  1. Visit https://sentry.io
  2. Sign in to your organization
  3. Go to Settings > Developer Settings > Auth Tokens
  4. Click “Create New Token”
  5. Select scopes: project:read, event:read
  6. Copy the token

Free Tier 5,000 events/month


Instead of hardcoding API keys, use environment variables:

claude_desktop_config.json
{
"mcpServers": {
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp",
"headers": {
"Authorization": "Bearer ${EXA_API_KEY}"
}
}
}
}

Set environment variables:

Terminal window
# Add to ~/.zshrc or ~/.bashrc
export EXA_API_KEY="your_key_here"

Zed automatically reads from environment variables:

settings.json
{
"context_servers": {
"exa": {
"type": "http",
"url": "https://mcp.exa.ai/mcp",
"headers": {
"Authorization": "Bearer ${EXA_API_KEY}"
}
}
}
}

Use .env file in your project:

.env
# .env
EXA_API_KEY=your_key_here
NEON_API_KEY=your_key_here

Reference in config.json:

config.json
{
"contextProviders": [
{
"name": "mcp",
"params": {
"servers": {
"exa": {
"headers": {
"Authorization": "Bearer ${EXA_API_KEY}"
}
}
}
}
}
]
}


ServerTypeAPI KeyFree TierBest For
SentryHTTPOptional5k events/moError tracking
Astro DocsHTTPNoUnlimitedAstro development
ExaHTTPYes1k searches/moCode search
NeonHTTPYes10GB/100hrsDatabase queries
shadcnCommandNoUnlimitedUI components


After installing MCP servers:

  1. Test Each Server

    • Ask AI to query each MCP server
    • Verify responses are accurate
  2. Explore Capabilities

    • Try different queries
    • Learn what each server can do
  3. Integrate into Workflow

    • Use MCP servers in daily coding
    • Create custom workflows
  4. Build Custom MCP Servers

    • Learn MCP protocol
    • Create server for your tools


Terminal window
~/.config/claude/claude_desktop_config.json
Terminal window
~/.config/zed/settings.json
Terminal window
~/.continue/config.json
Minimal config
{
"mcpServers": {
"astro-docs": {
"type": "http",
"url": "https://mcp.docs.astro.build/mcp"
}
}
}

You now have MCP servers configured for your AI coding assistant! This enables:

  • Real-time documentation access
  • External tool integration
  • Enhanced AI capabilities
  • More productive coding

Happy coding with MCP!