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:
- Open VS Code
- Go to Code → About Visual Studio Code (Mac) or Help → About (Windows/Linux)
- Check version number
- Update if needed: Code → Check for Updates
Step 2: Configure MCP Server
Option A: Using Settings UI
- Open VS Code settings:
Cmd+,(Mac) orCtrl+,(Windows/Linux) - Search for "GitHub Copilot MCP"
- Click "Edit in settings.json"
- Add Seed configuration
Option B: Direct JSON Configuration
Edit your VS Code settings.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
- Open Command Palette:
Cmd+Shift+P(Mac) orCtrl+Shift+P(Windows/Linux) - Type "Reload Window" and press Enter
- GitHub Copilot will load the MCP configuration
Step 4: Authenticate
On first use:
- Open GitHub Copilot Chat panel
- Try using a Seed tool:
"Check server health" - Your browser will open to the OAuth login page
- Log in with your organization credentials
- Grant consent to allow GitHub Copilot access
- Browser shows "Authentication successful"
- Return to VS Code
Authentication persists across sessions.
Step 5: Verify Connection
Test the connection:
@seed Check the server healthGitHub 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
- Ensure your JetBrains IDE is up to date (2024.3+)
- Update GitHub Copilot plugin:
- Settings → Plugins
- Search for "GitHub Copilot"
- Click Update if available
Step 2: Configure MCP Server
- Open Settings/Preferences:
Cmd+,(Mac) orCtrl+Alt+S(Windows/Linux) - Navigate to Tools → GitHub Copilot → MCP Servers
- Click Add Server
- Enter configuration:
Name: 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"
}- Click OK to save
Step 3: Restart IDE
- Close and reopen your JetBrains IDE
- GitHub Copilot will initialize MCP connections
Step 4: Authenticate
- Open GitHub Copilot Chat tool window
- Try a Seed command:
"Show my user information" - Browser opens to OAuth login
- Log in and grant consent
- 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:
{
"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:
{
"github.copilot.advanced": {
"mcpConfigFile": "${workspaceFolder}/mcp-config.json"
}
}Step 3: Share with Team
Commit mcp-config.json to your repository:
git add mcp-config.json
git commit -m "Add Seed MCP configuration for GitHub Copilot"
git pushTeam members will automatically connect when they open the project.
Configuration Options
Multiple MCP Servers
Connect to multiple Seed environments:
{
"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:
{
"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:
{
"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:
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.comList Available Tools
@seed What tools are available?Copilot lists all tools from your Seed server.
Test Authenticated Actions
@seed Show me my user profileCopilot uses the user-info tool with your authenticated identity.
Troubleshooting
Connection Issues
"Cannot connect to MCP server"
- Verify server URL is correct (include
/mcppath) - 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
authorizationUrlandtokenUrlare 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:
- Create organization-level MCP configuration
- Deploy via settings policy or configuration management
- 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:
{
"mcpServers": {
"seed": {
"url": "https://mcp.example.com/mcp",
"allowedTeams": ["engineering", "devops"],
"authentication": { /* ... */ }
}
}
}Best Practices
Tool Discovery
Let Copilot discover tools naturally:
- Use
@seedprefix to target Seed explicitly - Allow Copilot to suggest tools contextually
- Ask "What can Seed do?" to see capabilities
Authentication Management
- Keep tokens fresh - Re-authenticate when prompted
- Use secure storage - Tokens stored in IDE keychain
- Monitor access - Review OAuth consent regularly
- Rotate credentials - Follow your organization's policy
Performance
- Use timeouts - Configure reasonable timeout values
- Monitor latency - Report slow responses to admin
- Cache locally - Copilot caches tool metadata
- Rate limiting - Respect server rate limits
Security
- Verify server URLs - Ensure HTTPS for production
- Review OAuth scopes - Only request needed permissions
- Check certificates - Validate SSL/TLS certificates
- Report issues - Contact admin for security concerns
Advanced Configuration
Custom Client Registration
If your administrator requires pre-registration:
- Get
client_idfrom administrator - Use it in your configuration:
{
"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:
{
"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:
{
"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
@seedto 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
- Tools Overview - Learn about available Seed tools
- Prompts - Explore prompt templates
- Resources - Access configuration and user data
- GitHub Copilot Documentation - Official GitHub Copilot docs
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