Skip to content

Connecting Claude Code

Step-by-step guide to connect Claude Code (VSCode extension) to your Seed MCP server.

Prerequisites

Before you begin:

  • [ ] Visual Studio Code installed - Download from code.visualstudio.com
  • [ ] Claude Code extension installed - Install from VSCode marketplace
  • [ ] Seed server URL - Get this from your administrator (e.g., https://mcp.example.com)
  • [ ] OAuth endpoints - Authorization and token URLs from your administrator
  • [ ] Credentials - Login credentials for your organization's identity provider

Quick Setup

Step 1: Open Claude Code Settings

  1. Open Visual Studio Code
  2. Install Claude Code extension if not already installed
  3. Open VS Code settings:
    • Mac: Cmd+,
    • Windows/Linux: Ctrl+,
  4. Search for "Claude Code: MCP Servers"

Step 2: Configure MCP Server

Option A: Using Settings UI

  1. In settings, find Claude Code > MCP Servers
  2. Click "Edit in settings.json"
  3. Add the Seed server configuration

Option B: Direct JSON Configuration

Edit your VSCode settings.json (replace YOUR_SERVER_URL with your actual server):

json
{
  "claudeCode.mcpServers": {
    "seed": {
      "url": "https://YOUR_SERVER_URL/mcp",
      "transport": "http",
      "authentication": {
        "type": "oauth2",
        "authorizationUrl": "https://YOUR_SERVER_URL/oauth/authorize",
        "tokenUrl": "https://YOUR_SERVER_URL/oauth/token",
        "clientId": "claude-code",
        "scope": "openid profile email"
      }
    }
  }
}

Step 3: Reload VSCode

  1. Reload window: Open Command Palette (Cmd+Shift+P or Ctrl+Shift+P)
  2. Type "Reload Window" and press Enter
  3. Claude Code will load the new server configuration

Step 4: Authenticate

When you open Claude Code:

  1. Open Claude Code panel (click Claude icon in sidebar)
  2. Claude Code will detect OAuth requirement
  3. Your browser will open to the login page
  4. Log in with your organization credentials
  5. Grant consent when prompted
  6. Browser will show "Authentication successful"
  7. Return to VSCode

Authentication is saved and persists across sessions.

Verify Connection

Test that everything is working:

  1. Open Claude Code panel in VSCode
  2. Start a new conversation
  3. Try a command: "Check the server health"
  4. Claude should use the healthcheck tool from Seed

You should see server status information in the response.

Configuration Details

Settings Location

Claude Code settings can be configured at different levels:

User Settings (Global):

~/.config/Code/User/settings.json

Workspace Settings (Project-specific):

.vscode/settings.json

Workspace settings override user settings.

OAuth 2.0 Authentication

Seed uses OAuth 2.0 for secure authentication:

json
{
  "authentication": {
    "type": "oauth2",
    "authorizationUrl": "https://mcp.example.com/oauth/authorize",
    "tokenUrl": "https://mcp.example.com/oauth/token",
    "clientId": "claude-code",
    "scope": "openid profile email",
    "redirectUri": "http://localhost:3000/callback"
  }
}

Parameters:

  • authorizationUrl - OAuth authorization endpoint
  • tokenUrl - OAuth token endpoint
  • clientId - Client identifier (use "claude-code" or from admin)
  • scope - OAuth scopes to request
  • redirectUri - Callback URL (default: http://localhost:3000/callback)

Multiple Servers

Connect to multiple MCP servers simultaneously:

json
{
  "claudeCode.mcpServers": {
    "seed-production": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "authentication": {
        "type": "oauth2",
        "authorizationUrl": "https://mcp.example.com/oauth/authorize",
        "tokenUrl": "https://mcp.example.com/oauth/token",
        "clientId": "claude-code",
        "scope": "openid profile email"
      }
    },
    "seed-staging": {
      "url": "https://staging.example.com/mcp",
      "transport": "http",
      "authentication": {
        "type": "oauth2",
        "authorizationUrl": "https://staging.example.com/oauth/authorize",
        "tokenUrl": "https://staging.example.com/oauth/token",
        "clientId": "claude-code",
        "scope": "openid profile email"
      }
    }
  }
}

Claude Code will make all servers' tools available simultaneously.

Workspace-Specific Configuration

For project-specific MCP servers, add to .vscode/settings.json in your project:

json
{
  "claudeCode.mcpServers": {
    "project-seed": {
      "url": "https://project.example.com/mcp",
      "transport": "http",
      "authentication": {
        "type": "oauth2",
        "authorizationUrl": "https://project.example.com/oauth/authorize",
        "tokenUrl": "https://project.example.com/oauth/token",
        "clientId": "claude-code",
        "scope": "openid profile email"
      }
    }
  }
}

This configuration only applies when that workspace is open.

Testing Your Connection

Test Basic Connectivity

In Claude Code chat:

"Use the echo tool to send 'Hello from VSCode'"

Expected response:

Echo: Hello from VSCode
Timestamp: 2025-01-05T...
User: your.email@example.com

Test Authentication

For authenticated servers:

"Show me my user information"

Claude will use the user-info tool to display your authenticated identity.

List Available Features

"What tools are available from Seed?"

Claude Code will show all available tools and resources from connected servers.

Using MCP Prompts

MCP prompts are available via slash commands. Type / in the chat to see available prompts:

/mcp__seed__greeting
/mcp__seed__user-context

Note: Due to a known limitation, you must invoke prompts directly via slash commands. Asking Claude to "use the greeting prompt" won't work because Claude cannot see MCP prompts in its context. See Prompts Overview for details.

Troubleshooting

Connection Issues

"Cannot connect to MCP server"

  • Verify server URL is correct (include /mcp path)
  • Check server is running (contact administrator)
  • Test URL in browser: https://YOUR_SERVER_URL/health
  • Check for typos in settings.json

"Invalid settings.json"

  • Validate JSON syntax (use VSCode's JSON validator)
  • Check for missing commas or quotes
  • Reload window after fixing: Cmd+Shift+P → "Reload Window"

"Server not responding"

  • Check network connectivity
  • Verify firewall rules allow connection
  • Try from browser to isolate VSCode issues

Authentication Issues

"OAuth authentication failed"

  • Verify authorizationUrl and tokenUrl are correct
  • Check you can access the auth URL in browser
  • Clear browser cookies for the domain
  • Try incognito/private browsing mode

"Token expired" or "Unauthorized"

  • Normal after extended periods of inactivity
  • Claude Code will prompt to re-authenticate
  • Follow the OAuth flow again

"Access denied"

  • Your account may not have server access
  • Contact administrator to verify permissions
  • Check you're using correct identity provider

"Redirect URI mismatch"

  • Default is http://localhost:3000/callback
  • May need custom URI from administrator
  • Add redirectUri to authentication config

Extension Issues

"Claude Code not loading MCP servers"

  • Check extension is up to date
  • Reload VSCode window
  • Check VSCode developer tools for errors:
    • HelpToggle Developer ToolsConsole tab

"Tools not appearing"

  • Verify server is connected (check status bar)
  • Reload window after configuration changes
  • Check server logs with administrator

Advanced Configuration

Custom Client Registration

Some servers require pre-registration. If your admin requires this:

  1. Get client_id from administrator
  2. Use it in your configuration:
json
{
  "authentication": {
    "type": "oauth2",
    "clientId": "YOUR_CLIENT_ID",
    ...
  }
}

Proxy Configuration

For corporate proxies:

json
{
  "claudeCode.mcpServers": {
    "seed": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "proxy": "http://proxy.company.com:8080"
    }
  }
}

Request Timeouts

For slower servers or connections:

json
{
  "claudeCode.mcpServers": {
    "seed": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "timeout": 60000
    }
  }
}

Timeout is in milliseconds (60000 = 60 seconds).

Development Tips

Using Local Seed Server

When developing against local Seed:

json
{
  "claudeCode.mcpServers": {
    "seed-local": {
      "url": "http://localhost:3000/mcp",
      "transport": "http"
    }
  }
}

No authentication needed for local development.

Multiple Environments

Configure different environments:

json
{
  "claudeCode.mcpServers": {
    "seed-dev": {
      "url": "https://dev.example.com/mcp",
      "transport": "http"
    },
    "seed-staging": {
      "url": "https://staging.example.com/mcp",
      "transport": "http",
      "authentication": { ... }
    },
    "seed-prod": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "authentication": { ... }
    }
  }
}

Enable/disable by commenting out configurations as needed.

VSCode Integration Tips

Keyboard Shortcuts

Set up custom shortcuts for Claude Code:

  1. Cmd+K then Cmd+S (Mac) or Ctrl+K then Ctrl+S (Windows/Linux)
  2. Search for "Claude Code"
  3. Assign shortcuts to common commands

Workspace Settings

For team projects, commit .vscode/settings.json with Seed configuration:

json
{
  "claudeCode.mcpServers": {
    "team-seed": {
      "url": "https://team-mcp.example.com/mcp",
      "transport": "http",
      "authentication": {
        "type": "oauth2",
        "authorizationUrl": "https://team-mcp.example.com/oauth/authorize",
        "tokenUrl": "https://team-mcp.example.com/oauth/token",
        "clientId": "team-project",
        "scope": "openid profile email"
      }
    }
  }
}

Team members will automatically connect when opening the project.

What's Next?

Now that you're connected:

Getting Help

Released under the MIT License.