copilot-mcp-server

wminson/copilot-mcp-server

3.2

If you are the rightful owner of copilot-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The GitHub Copilot CLI MCP Server is a Model Context Protocol server that integrates with the GitHub Copilot CLI, providing a standardized interface for AI assistants to interact with GitHub Copilot.

Tools
8
Resources
0
Prompts
0

GitHub Copilot CLI MCP Server

An MCP (Model Context Protocol) server that wraps the GitHub Copilot CLI (gh copilot), enabling AI assistants to interact with GitHub Copilot through a standardized interface.

Features

  • Command Suggestions: Get shell, git, and GitHub CLI command suggestions from natural language
  • Command Explanations: Understand what complex commands do
  • Shell Aliases: Generate convenience aliases for your shell
  • Configuration: View and manage Copilot CLI settings
  • Dual Transport Support: Both STDIO (local) and SSE (network) transports

Prerequisites

  • Python 3.10+
  • GitHub CLI (gh) installed: https://cli.github.com/
  • GitHub Copilot extension for gh:
    gh extension install github/gh-copilot
    
  • GitHub Copilot subscription (Individual, Business, or Enterprise)

Installation

Option 1: Install from source

cd /home/ward/MCP/copilot_mcp_server
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Option 2: Install with pip

pip install -e .

Usage

STDIO Transport (Local)

For local MCP client connections:

python server.py

SSE Transport (Network)

For network-accessible MCP server:

python server_sse.py

Or with custom host/port:

MCP_SERVER_HOST=0.0.0.0 MCP_SERVER_PORT=8602 python server_sse.py

Available Tools

copilot_suggest

Get a command suggestion from GitHub Copilot based on natural language.

Parameters:

  • prompt (required): Natural language description of what you want to do
  • target: Target type - 'shell' (default), 'gh', or 'git'

Examples:

copilot_suggest(prompt="Install git", target="shell")
copilot_suggest(prompt="Create pull request", target="gh")
copilot_suggest(prompt="Undo the most recent local commits", target="git")

copilot_suggest_shell

Convenience wrapper for shell command suggestions.

Parameters:

  • prompt (required): Natural language description

Examples:

  • "Kill processes holding onto deleted files"
  • "Convert SVG to PNG and resize"

copilot_suggest_git

Convenience wrapper for git command suggestions.

Parameters:

  • prompt (required): Natural language description

Examples:

  • "Undo the most recent local commits"
  • "Clean up local branches"

copilot_suggest_gh

Convenience wrapper for GitHub CLI command suggestions.

Parameters:

  • prompt (required): Natural language description

Examples:

  • "Create pull request"
  • "List pull requests waiting for my review"

copilot_explain

Get an explanation of a command from GitHub Copilot.

Parameters:

  • command (required): The command to explain

Examples:

copilot_explain(command="du -sh | sort -h")
copilot_explain(command="git log --oneline --graph --decorate --all")

copilot_version

Get the GitHub Copilot CLI version information.

copilot_help

Get help information.

Parameters:

  • command: Optional command to get help for ('suggest', 'explain', 'config', 'alias')

copilot_config_get

Get GitHub Copilot CLI configuration.

Parameters:

  • key: Optional specific config key (empty shows all)

copilot_alias

Generate shell aliases for convenience commands.

Parameters:

  • shell: Shell type - 'bash', 'zsh', 'fish', or 'powershell'

MCP Client Configuration

Claude Code / Claude Desktop

Add to your MCP settings:

{
  "mcpServers": {
    "copilot": {
      "command": "python",
      "args": ["/home/ward/MCP/copilot_mcp_server/server.py"]
    }
  }
}

SSE Client Configuration

{
  "mcpServers": {
    "copilot-remote": {
      "url": "http://localhost:8602/sse"
    }
  }
}

Environment Variables

VariableDefaultDescription
MCP_SERVER_HOST0.0.0.0SSE server bind address
MCP_SERVER_PORT8602SSE server port

Examples

Get a Shell Command Suggestion

copilot_suggest_shell(prompt="Find all files larger than 100MB")

Explain a Complex Command

copilot_explain(command="find . -name '*.log' -mtime +30 -delete")

Get Git Help

copilot_suggest_git(prompt="Squash last 3 commits into one")

Get GitHub CLI Help

copilot_suggest_gh(prompt="List all open issues assigned to me")

Systemd Service (Optional)

Create /etc/systemd/user/copilot-mcp.service:

[Unit]
Description=GitHub Copilot MCP Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/ward/MCP/copilot_mcp_server
ExecStart=/home/ward/MCP/copilot_mcp_server/venv/bin/python server_sse.py
Restart=always
RestartSec=5
Environment=MCP_SERVER_PORT=8602

[Install]
WantedBy=default.target

Enable and start:

systemctl --user enable copilot-mcp
systemctl --user start copilot-mcp

License

MIT License

Related Projects

  • - Similar MCP wrapper for Claude Code CLI
  • - Similar MCP wrapper for Gemini CLI