Skip to content

Connecting GitHub Copilot

Step-by-step guide to connect GitHub Copilot to your Seed MCP server in VS Code, JetBrains IDEs, and other supported environments.

Prerequisites

Before you begin:

  • [ ] GitHub Copilot subscription - Individual, Business, or Enterprise
  • [ ] Supported IDE - VS Code 1.102+, JetBrains, Eclipse, or Xcode
  • [ ] 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

Overview

GitHub Copilot gained MCP support in December 2024 (GA in VS Code 1.102). When connected to Seed, GitHub Copilot can:

  • Access your organization's custom tools
  • Use company-specific prompt templates
  • Retrieve configuration and user data
  • Maintain authenticated sessions with your infrastructure

Option 1: VS Code

Connect Seed to GitHub Copilot in Visual Studio Code.

Step 1: Update VS Code

Ensure you're running VS Code 1.102 or later:

  1. Open VS Code
  2. Go to CodeAbout Visual Studio Code (Mac) or HelpAbout (Windows/Linux)
  3. Check version number
  4. Update if needed: CodeCheck for Updates

Step 2: Configure MCP Server

Option A: Using Settings UI

  1. Open VS Code settings: Cmd+, (Mac) or Ctrl+, (Windows/Linux)
  2. Search for "GitHub Copilot MCP"
  3. Click "Edit in settings.json"
  4. Add Seed configuration

Option B: Direct JSON Configuration

Edit your VS Code settings.json:

json
{
  "github.copilot.advanced": {
    "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": "github-copilot",
          "scope": "openid profile email"
        }
      }
    }
  }
}

Step 3: Reload VS Code

  1. Open Command Palette: Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)
  2. Type "Reload Window" and press Enter
  3. GitHub Copilot will load the MCP configuration

Step 4: Authenticate

On first use:

  1. Open GitHub Copilot Chat panel
  2. Try using a Seed tool: "Check server health"
  3. Your browser will open to the OAuth login page
  4. Log in with your organization credentials
  5. Grant consent to allow GitHub Copilot access
  6. Browser shows "Authentication successful"
  7. Return to VS Code

Authentication persists across sessions.

Step 5: Verify Connection

Test the connection:

@seed Check the server health

GitHub Copilot should use the healthcheck tool from Seed and display server status.

Option 2: JetBrains IDEs

Connect Seed to GitHub Copilot in JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm, etc.).

Step 1: Update IDE and Plugin

  1. Ensure your JetBrains IDE is up to date (2024.3+)
  2. Update GitHub Copilot plugin:
    • SettingsPlugins
    • Search for "GitHub Copilot"
    • Click Update if available

Step 2: Configure MCP Server

  1. Open Settings/Preferences: Cmd+, (Mac) or Ctrl+Alt+S (Windows/Linux)
  2. Navigate to ToolsGitHub CopilotMCP Servers
  3. Click Add Server
  4. Enter configuration:

Name: Seed

URL: https://YOUR_SERVER_URL/mcp

Transport: HTTP

Authentication:

json
{
  "type": "oauth2",
  "authorizationUrl": "https://YOUR_SERVER_URL/oauth/authorize",
  "tokenUrl": "https://YOUR_SERVER_URL/oauth/token",
  "clientId": "github-copilot",
  "scope": "openid profile email"
}
  1. Click OK to save

Step 3: Restart IDE

  1. Close and reopen your JetBrains IDE
  2. GitHub Copilot will initialize MCP connections

Step 4: Authenticate

  1. Open GitHub Copilot Chat tool window
  2. Try a Seed command: "Show my user information"
  3. Browser opens to OAuth login
  4. Log in and grant consent
  5. Return to IDE

Option 3: Remote MCP Servers

Configure Seed as a remote MCP server for centralized team access.

Step 1: Create MCP Configuration File

Create mcp-config.json in your project:

json
{
  "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": "github-copilot",
        "scope": "openid profile email"
      }
    }
  }
}

Step 2: Reference in VS Code Settings

Point VS Code to the config file:

json
{
  "github.copilot.advanced": {
    "mcpConfigFile": "${workspaceFolder}/mcp-config.json"
  }
}

Step 3: Share with Team

Commit mcp-config.json to your repository:

bash
git add mcp-config.json
git commit -m "Add Seed MCP configuration for GitHub Copilot"
git push

Team members will automatically connect when they open the project.

Configuration Options

Multiple MCP Servers

Connect to multiple Seed environments:

json
{
  "github.copilot.advanced": {
    "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": "github-copilot",
          "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": "github-copilot",
          "scope": "openid profile email"
        }
      }
    }
  }
}

Workspace-Specific Configuration

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

json
{
  "github.copilot.advanced": {
    "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": "github-copilot",
          "scope": "openid profile email"
        }
      }
    }
  }
}

This configuration only applies when the workspace is open.

Request Timeouts

For slower connections:

json
{
  "github.copilot.advanced": {
    "mcpServers": {
      "seed": {
        "url": "https://mcp.example.com/mcp",
        "transport": "http",
        "timeout": 60000,
        "authentication": { /* ... */ }
      }
    }
  }
}

Timeout is in milliseconds (60000 = 60 seconds).

Using Seed Tools in Copilot

Direct Tool Invocation

Reference Seed tools in chat:

@seed Check server health
@seed Show my user information
@seed Echo back "Hello from GitHub Copilot"

Context-Aware Suggestions

GitHub Copilot automatically suggests Seed tools when relevant:

You: "What's the server status?" Copilot: [Uses healthcheck tool from Seed]

You: "Who am I logged in as?" Copilot: [Uses user-info tool from Seed]

Code Generation with Tools

Copilot can generate code that uses Seed tools:

You: "Write code to check if the server is healthy" Copilot:

typescript
async function checkServerHealth() {
  // Uses Seed healthcheck tool via MCP
  const health = await copilot.useTool('seed', 'healthcheck');
  return health.status === 'ok';
}

Testing Your Connection

Test Basic Connectivity

In GitHub Copilot Chat:

@seed Use the echo tool to send "Hello from GitHub Copilot"

Expected response:

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

List Available Tools

@seed What tools are available?

Copilot lists all tools from your Seed server.

Test Authenticated Actions

@seed Show me my user profile

Copilot uses the user-info tool with your authenticated identity.

Troubleshooting

Connection Issues

"Cannot connect to MCP server"

  • Verify server URL is correct (include /mcp path)
  • Check server is accessible from your network
  • Test URL in browser: https://YOUR_SERVER_URL/health
  • Ensure VS Code/IDE is updated to minimum version

"MCP configuration invalid"

  • Validate JSON syntax in settings.json
  • Check all required fields are present
  • Reload window after fixing: Cmd+Shift+P → "Reload Window"

"Server not responding"

  • Check network connectivity
  • Verify firewall rules allow connections
  • Contact administrator about server status

Authentication Issues

"OAuth authentication failed"

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

"Token expired" or "Unauthorized"

  • Normal after long periods of inactivity
  • GitHub Copilot will prompt to re-authenticate
  • Follow the OAuth flow again

"Access denied"

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

"Redirect URI mismatch"

  • GitHub Copilot uses specific redirect URIs
  • Contact administrator to register the correct URIs
  • Check OAuth client registration

GitHub Copilot Issues

"GitHub Copilot not loading MCP servers"

  • Check GitHub Copilot extension is up to date
  • Reload IDE/editor window
  • Check IDE developer console for errors

"Tools not appearing in chat"

  • Verify server is connected (check Copilot status)
  • Try mentioning server explicitly: @seed
  • Reload window after configuration changes
  • Check server logs with administrator

"MCP not available in my IDE"

  • VS Code: Requires 1.102+
  • JetBrains: Requires 2024.3+ with updated Copilot plugin
  • Eclipse/Xcode: Check for latest versions

Enterprise Configuration

Centralized MCP Configuration

For GitHub Copilot Business or Enterprise, administrators can deploy MCP configurations:

  1. Create organization-level MCP configuration
  2. Deploy via settings policy or configuration management
  3. Users automatically inherit Seed connections

GitHub Copilot Enterprise Features

Organization-wide MCP Servers:

  • Configure Seed at organization level
  • All developers automatically connect
  • Centralized authentication and access control

Audit Logging:

  • Track MCP tool usage
  • Monitor authentication events
  • Review in GitHub Enterprise audit log

Access Control

Limit Seed access by team or role:

json
{
  "mcpServers": {
    "seed": {
      "url": "https://mcp.example.com/mcp",
      "allowedTeams": ["engineering", "devops"],
      "authentication": { /* ... */ }
    }
  }
}

Best Practices

Tool Discovery

Let Copilot discover tools naturally:

  • Use @seed prefix to target Seed explicitly
  • Allow Copilot to suggest tools contextually
  • Ask "What can Seed do?" to see capabilities

Authentication Management

  1. Keep tokens fresh - Re-authenticate when prompted
  2. Use secure storage - Tokens stored in IDE keychain
  3. Monitor access - Review OAuth consent regularly
  4. Rotate credentials - Follow your organization's policy

Performance

  1. Use timeouts - Configure reasonable timeout values
  2. Monitor latency - Report slow responses to admin
  3. Cache locally - Copilot caches tool metadata
  4. Rate limiting - Respect server rate limits

Security

  1. Verify server URLs - Ensure HTTPS for production
  2. Review OAuth scopes - Only request needed permissions
  3. Check certificates - Validate SSL/TLS certificates
  4. Report issues - Contact admin for security concerns

Advanced Configuration

Custom Client Registration

If your administrator requires pre-registration:

  1. Get client_id from administrator
  2. Use it in your configuration:
json
{
  "authentication": {
    "type": "oauth2",
    "clientId": "YOUR_REGISTERED_CLIENT_ID",
    "authorizationUrl": "https://mcp.example.com/oauth/authorize",
    "tokenUrl": "https://mcp.example.com/oauth/token",
    "scope": "openid profile email"
  }
}

Proxy Configuration

For corporate proxies:

json
{
  "github.copilot.advanced": {
    "mcpServers": {
      "seed": {
        "url": "https://mcp.example.com/mcp",
        "transport": "http",
        "proxy": "http://proxy.company.com:8080",
        "authentication": { /* ... */ }
      }
    }
  }
}

Custom Headers

Add custom headers to MCP requests:

json
{
  "github.copilot.advanced": {
    "mcpServers": {
      "seed": {
        "url": "https://mcp.example.com/mcp",
        "transport": "http",
        "headers": {
          "X-Custom-Header": "value",
          "X-Team": "engineering"
        },
        "authentication": { /* ... */ }
      }
    }
  }
}

Platform-Specific Notes

VS Code

  • MCP servers appear in GitHub Copilot Chat
  • Use @seed to target specific server
  • Configuration in user or workspace settings
  • Supports remote MCP configuration files

JetBrains IDEs

  • MCP servers in GitHub Copilot tool window
  • Configure in IDE settings under Tools → GitHub Copilot
  • Supports workspace-specific configuration
  • Auto-reload on configuration changes

Eclipse & Xcode

  • MCP support varies by version
  • Check GitHub Copilot plugin documentation
  • Configuration similar to VS Code
  • May require additional setup steps

Next Steps

Resources

Getting Help

  • Connection problems: Contact your server administrator
  • GitHub Copilot issues: See GitHub Copilot support
  • IDE problems: Check your IDE's documentation
  • Feature requests: Ask your administrator about enabling additional tools

Released under the MIT License.