copilot-mcp-server

copilot-mcp-server

Connects MCP-enabled editors to GitHub Copilot CLI for non-interactive code analysis, batch processing, and code review.

Category
Visit Server

README

Copilot MCP Tool

<div align="center">

GitHub Release npm version npm downloads License: MIT Open Source

</div>

Copilot MCP Tool is an open‑source Model Context Protocol (MCP) server that connects your IDE or AI assistant (Claude, Cursor, etc.) to GitHub Copilot CLI. It enables non‑interactive automation, safe tool execution with permissions, and large‑scale code analysis via @ file references. Built for reliability and speed, it streams progress updates, and integrates cleanly with standard MCP clients for code review, refactoring, documentation, and CI automation.

  • Primary: Ask GitHub Copilot CLI questions from your MCP client, with comprehensive tool management
  • Advanced: Batch processing, code review, and brainstorming capabilities

<a href="https://glama.ai/mcp/servers/@trishchuk/copilot-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@trishchuk/copilot-mcp-server/badge" alt="Copilot MCP server" /> </a>

TLDR: Claude + GitHub Copilot CLI

Goal: Use GitHub Copilot CLI directly from your MCP-enabled editor to analyze and edit code efficiently.

Prerequisites

Before using this tool, ensure you have:

  1. Node.js (v18.0.0 or higher)
  2. GitHub Copilot CLI - Required

One-Line Setup

claude mcp add copilot-cli -- npx -y @trishchuk/copilot-mcp-server

Verify Installation

Type /mcp inside Claude Code to verify the Copilot MCP is active.


Alternative: Import from Claude Desktop

If you already have it configured in Claude Desktop:

  1. Add to your Claude Desktop config:
"copilot-cli": {
  "command": "npx",
  "args": ["-y", "@trishchuk/copilot-mcp-server"]
}
  1. Import to Claude Code:
claude mcp add-from-claude-desktop

Configuration

Register the MCP server with your MCP client:

For NPX Usage (Recommended)

Add this configuration to your Claude Desktop config file:

{
  "mcpServers": {
    "copilot-cli": {
      "command": "npx",
      "args": ["-y", "@trishchuk/copilot-mcp-server"],
      "env": {
        "COPILOT_MODEL": "claude-sonnet-4.5"
      }
    }
  }
}

For Global Installation

If you installed globally, use this configuration instead:

{
  "mcpServers": {
    "copilot-cli": {
      "command": "copilot-mcp",
      "env": {
        "COPILOT_MODEL": "claude-sonnet-4.5"
      }
    }
  }
}

Configuration File Locations:

  • Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/claude/claude_desktop_config.json

After updating the configuration, restart your terminal session.

Environment Variables

Configure default behavior with environment variables:

COPILOT_MODEL - Default AI Model

Method 1: In MCP Configuration (Recommended)

Add the env field to your MCP server configuration:

{
  "mcpServers": {
    "copilot-cli": {
      "command": "npx",
      "args": ["-y", "@trishchuk/copilot-mcp-server"],
      "env": {
        "COPILOT_MODEL": "claude-sonnet-4.5"
      }
    }
  }
}

Method 2: System Environment Variable

# Set for current session
export COPILOT_MODEL=claude-sonnet-4.5

# Permanently (add to ~/.bashrc or ~/.zshrc)
echo 'export COPILOT_MODEL=claude-sonnet-4.5' >> ~/.zshrc

Available models:

  • claude-sonnet-4.5 - Default, best for code generation
  • claude-sonnet-4 - Faster version
  • gpt-5 - OpenAI GPT-5

Priority: model parameter > COPILOT_MODEL env > Copilot CLI default (claude-sonnet-4.5)

Override in requests:

# Uses COPILOT_MODEL
Use ask tool to analyze @src/

# Overrides with gpt-5
Use ask tool with model gpt-5 to analyze @src/

COPILOT_MCP_CWD - Working Directory

Purpose: Sets the working directory for Copilot CLI command execution. This is especially important when the MCP server starts from a different directory than your project (e.g., from home directory in IDE integrations).

Method 1: In MCP Configuration (Recommended for IDE)

{
  "mcpServers": {
    "copilot-cli": {
      "command": "npx",
      "args": ["-y", "@trishchuk/copilot-mcp-server"],
      "env": {
        "COPILOT_MCP_CWD": "/absolute/path/to/your/project"
      }
    }
  }
}

Method 2: System Environment Variable

# Set for current session
export COPILOT_MCP_CWD=/path/to/your/project

# Permanently (add to ~/.bashrc or ~/.zshrc)
echo 'export COPILOT_MCP_CWD=/path/to/your/project' >> ~/.zshrc

Resolution Priority:

  1. workingDir parameter in request (highest)
  2. COPILOT_MCP_CWD env variable
  3. PWD or INIT_CWD env variables
  4. Auto-inferred from @path in prompt
  5. process.cwd() (lowest)

Override in requests:

# Use explicit workingDir parameter
Use ask tool with workingDir "/path/to/project" to analyze the codebase

For IntelliJ IDEA / IDE Users: If Copilot CLI cannot find your project files, set COPILOT_MCP_CWD in your MCP server configuration to point to your project directory.

See Getting Started Guide for full configuration details.

Example Workflow

  • Natural language: "use copilot to explain index.html", "understand this repo with @src", "look for vulnerabilities and suggest fixes"
  • Claude Code: Type /copilot to access the MCP server tools.

Usage Examples

GitHub Copilot CLI

// Use GitHub Copilot CLI for analysis
'explain the architecture of @src/';

// Code review with specific focus
'use copilot to review @src/main.ts for security vulnerabilities';

// Batch processing multiple files
'use batch to refactor all JavaScript files in @src/ for ES6 syntax';

// Comprehensive code review
'use review to perform security review of @api/ with high severity filter';

With File References (using @ syntax)

  • ask copilot to analyze @src/main.ts and explain what it does
  • use copilot to summarize @. the current directory
  • analyze @package.json and list dependencies using copilot

General Questions (without files)

  • ask copilot to explain div centering
  • ask copilot about best practices for React development
  • use copilot for TypeScript debugging help

Advanced Examples

// GitHub Copilot CLI batch processing
'use batch to update all React components in @src/components/ for React 18 patterns';

// Comprehensive code review
'use review for security review of @api/ with critical severity filter and fix suggestions';

// Multiple task processing
'use batch to: 1) add JSDoc comments to @utils.js, 2) fix ESLint issues in @main.ts, 3) update imports in @index.js';

Brainstorming & Ideation

  • brainstorm ways to optimize our CI/CD pipeline using SCAMPER method
  • use copilot to brainstorm 10 innovative features for our app
  • ask copilot to generate product ideas for the healthcare domain with design-thinking approach

Tool Permissions & Safety

GitHub Copilot CLI supports tool permissions and directory access controls. This server defaults to allowing all tools for non-interactive mode.

  • use copilot to create and run a Python script that processes data
  • ask copilot to safely test @script.py and explain what it does

Tools (for the AI)

These tools are designed to be used by the AI assistant.

Primary Tools (GitHub Copilot CLI)

  • ask: Executes GitHub Copilot CLI with comprehensive tool and directory management.

    • Supports @ file references for including file content
    • Tool permissions: allowAllTools, allowTool, denyTool
    • Directory access: addDir for granting file system access
    • Advanced options: logLevel, resume (session management), screenReader support
    • Session management and logging controls
  • batch: Processes multiple atomic tasks with GitHub Copilot CLI in batch mode.

    • Supports parallel or sequential execution
    • Priority-based task ordering (high, normal, low)
    • Comprehensive error handling and progress reporting
    • Stop-on-error or continue-on-error modes
    • Detailed execution reports with timing and status
  • review: Comprehensive code review using GitHub Copilot CLI.

    • Multiple review types: security, performance, code-quality, best-practices, architecture, testing, documentation, accessibility, comprehensive
    • Severity filtering: low, medium, high, critical
    • Output formats: markdown, json, text
    • Fix suggestions and priority ranking
    • File pattern exclusions and issue limits

Utility Tools

  • brainstorm: Generate novel ideas with structured methodologies.

    • Multiple frameworks: divergent, convergent, SCAMPER, design-thinking, lateral
    • Domain-specific context (software, business, creative, research, product, marketing)
    • Configurable idea count and analysis depth
    • Includes feasibility, impact, and innovation scoring
    • Example: brainstorm prompt:"ways to improve code review process" domain:"software" methodology:"scamper"
  • ping: A simple test tool that echoes back a message.

    • Use to verify MCP connection is working
    • Example: /copilot:ping (MCP) "Hello from Copilot MCP!"
  • Help: Shows CLI help text for GitHub Copilot.

    • Automatically detects available CLI tools
    • Displays installation instructions if tools are missing
  • version: Shows version information for all CLI tools and MCP server.

    • Reports GitHub Copilot CLI, Node.js, and MCP server versions
    • Includes installation commands for missing tools
  • timeout-test: Test tool for timeout prevention.

    • Runs for a specified duration in milliseconds
    • Useful for testing long-running operations

Slash Commands (for the User)

You can use these commands directly in Claude Code's interface (compatibility with other clients has not been tested).

  • /analyze: Analyzes files or directories using Copilot, or asks general questions.
    • prompt (required): The analysis prompt. Use @ syntax to include files (e.g., /analyze prompt:@src/ summarize this directory) or ask general questions (e.g., /analyze prompt:Please use a web search to find the latest news stories).
  • /review: Performs comprehensive code review using Copilot.
    • target (required): Files/directories to review (e.g., /review target:@src/ or /review target:@main.js).
    • reviewType (optional): Type of review - security, performance, code-quality, etc.
  • /batch: Processes multiple tasks in batch mode.
    • tasks (required): Array of tasks to process.
  • /help: Displays CLI help information for available tools.
  • /ping: Tests the connection to the server.
    • message (optional): A message to echo back.

Acknowledgments

This project was inspired by the excellent work from jamubc/gemini-mcp-tool. Special thanks to @jamubc for the original MCP server architecture and implementation patterns.

Contributing

Contributions are welcome! Please submit pull requests or report issues through GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Disclaimer: This is an unofficial, third-party tool and is not affiliated with, endorsed, or sponsored by GitHub or Microsoft.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured