AgentStack
MCP verified MIT Self-run

Copilot Mcp Tool

mcp-poorgramer-zack-copilot-mcp-tool · by Poorgramer-Zack

MCP server that enables AI assistants to interact with Github Copilot cli, leveraging copilot massive token window for large file analysis and codebase understanding

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add mcp-poorgramer-zack-copilot-mcp-tool

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Copilot Mcp Tool? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

GitHub Copilot MCP Server

[](https://www.npmjs.com/package/@aykahshi/copilot-mcp-server) [](https://opensource.org/licenses/MIT) [](https://nodejs.org)

[繁體中文](README-zh.md)

A Model Context Protocol (MCP) server that integrates GitHub Copilot CLI with MCP clients.

> 📣 Important Notice > > Thanks to @leonardommello for the original work. This is an actively maintained fork to keep the project up-to-date with the latest Copilot features and supported models.

Features

  • 9 Tools - Interactive Copilot commands for coding assistance
  • 2 Resources - Session history and management
  • Full MCP Support - Compatible with Claude Desktop, Claude Code, Cline, and more
  • Claude Code Plugin - Claude Code plugin with built-in workflow
  • Quick Commands - Shortcut commands for rapid workflow (see below)

Quick Start

For use:

Add to your configuration file:

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Optional: Specify model preference

You can use the --prefer flag to choose between Claude or GPT models as defaults:

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server", "--prefer", "gpt"]
    }
  }
}

Available preferences: --prefer claude (default): Uses claude-sonnet-4.6 for all tool defaults. Available Claude models: Sonnet 4.6, Sonnet 4.5, Haiku 4.5, Opus 4.7, Sonnet 4 --prefer gpt: Uses gpt-5.4 for all tool defaults. Available GPT models: gpt-5.4, gpt-5.3-codex, gpt-5.2-codex, gpt-5.2, gpt-5.4-mini, gpt-5-mini, gpt-4.1

Model defaults by preference:

| Tool | --prefer claude | --prefer gpt | |------|-------------------|----------------| | ask-copilot | claude-sonnet-4.6 | gpt-5.4 | | copilot-explain | claude-sonnet-4.6 | gpt-5.4 | | copilot-suggest | claude-sonnet-4.6 | gpt-5.4 | | copilot-debug | claude-sonnet-4.6 | gpt-5.4 | | copilot-refactor | claude-sonnet-4.6 | gpt-5.4 | | copilot-review | claude-sonnet-4.6 | gpt-5.4 | | copilot-test-generate | claude-sonnet-4.6 | gpt-5.4 |

> Note: You can still override the default model for any tool by specifying the model parameter in individual tool calls.

Prerequisites

You need GitHub Copilot CLI installed and authenticated:

npm install -g @github/copilot
copilot /login

Hello World Example

Once configured, here's a simple way to get started:

In Claude Desktop (or your MCP client):

Use ask-copilot with prompt="Write a simple Hello World program in JavaScript"

Response:

console.log("Hello, World!");

That's it! You can now use all the Copilot tools through your AI client.

More examples:

Use copilot-explain to explain this code: console.log("Hello, World!");

Use copilot-suggest for task="List files in current directory"

Use copilot-debug with code="console.log(messge);" and error="ReferenceError: messge is not defined"

Tools

| Tool | Description | Parameters | |------|-------------|------------| | ask-copilot | Ask Copilot for coding help, debugging, architecture | prompt, context, model, allowAllTools | | copilot-explain | Get detailed code explanations | code, model | | copilot-suggest | Get CLI command suggestions | task, model | | copilot-debug | Debug code errors | code, error, context | | copilot-refactor | Get refactoring suggestions | code, goal | | copilot-test-generate | Generate unit tests | code, framework | | copilot-review | Get code review with feedback | code, focusAreas | | copilot-session-start | Start new conversation session | - | | copilot-session-history | Get session history | sessionId |


Resources

| Resource | URI | Description | |----------|-----|-------------| | session-history | copilot://session/{sessionId}/history | Access conversation history for a session | | sessions-list | copilot://sessions | List all active sessions |


🧩 Plugins

This repository includes ready-to-use plugins that extend functionality:

copilot-flow

AI Collaboration Workflow Plugin - Automates a structured 5-stage development process between Claude and GitHub Copilot.

Features:

  • 🔄 5-Stage Workflow: Analyze → Design → Implement → Review → Deliver
  • 🤖 Smart Model Selection: Automatically selects optimal Copilot models based on task type
  • 👀 Preview Mode: Shows execution plan before running
  • 🔄 Recovery Mechanism: Resume interrupted workflows via session ID

Quick Install:

/plugin marketplace add Poorgramer-Zack/copilot-mcp-tool
/plugin install copilot-flow

Learn more: [copilot-flow documentation](plugins/copilot-flow/README.md)


🔌 AI Client Integration

This MCP server works with any MCP-compatible client. Below are detailed setup instructions for popular AI coding assistants.

📘 Claude Desktop (Recommended)

Claude Desktop is the most tested and recommended client for this MCP server.

Configuration Path:

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

Method 1: NPX (No Installation Required)

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Method 2: Global Installation

npm install -g @aykahshi/copilot-mcp-server

Then add to config:

{
  "mcpServers": {
    "copilot": {
      "command": "copilot-mcp-server"
    }
  }
}

Method 3: Local Development

{
  "mcpServers": {
    "copilot": {
      "command": "node",
      "args": ["/absolute/path/to/copilot-mcp-tool/dist/esm/copilot/index.js"]
    }
  }
}

After Setup:

  1. Restart Claude Desktop
  2. Look for the 🔌 icon in the bottom-right corner
  3. Click it to see "copilot" in the connected servers list

🖥️ Claude Code (CLI)

Claude Code provides the fastest setup experience via CLI.

Quick Setup:

# Using npx (no installation)
claude mcp add copilot -- npx -y @aykahshi/copilot-mcp-server

# Or with global installation
npm install -g @aykahshi/copilot-mcp-server
claude mcp add copilot copilot-mcp-server

Import from Claude Desktop:

# If you already configured Claude Desktop
claude mcp add-from-claude-desktop

Verify Connection:

claude mcp list
# Should show: copilot (connected)

Usage in Chat:

/mcp  # Check server status

🎯 Cursor

Cursor supports both one-click and manual installation.

Method 1: Manual Configuration

Edit ~/.cursor/mcp.json (create if it doesn't exist):

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Method 2: Settings UI

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Search for "MCP"
  3. Click "Add MCP Server"
  4. Name: copilot
  5. Command: npx -y @aykahshi/copilot-mcp-server

🔧 VS Code with Cline Extension

Cline is a popular MCP-compatible VS Code extension.

Setup:

  1. Install Cline extension from VS Code marketplace
  2. Open Cline settings (gear icon in Cline panel)
  3. Navigate to "MCP Servers" section
  4. Add new server:
{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Alternatively, edit VS Code settings.json:

{
  "cline.mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

⚡ Zed Editor

Zed has native MCP support built-in.

Configuration File: ~/.config/zed/mcp.json

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Or use Zed's UI:

  1. Open Zed Settings (Cmd/Ctrl + ,)
  2. Go to "Extensions" → "MCP"
  3. Add server with command: npx -y @aykahshi/copilot-mcp-server

🔮 Windsurf

Configuration Path: ~/.windsurf/mcp.json

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

🌊 Gemini CLI

Gemini CLI supports both project-wide and global MCP server installation.

Global Installation:

gemini mcp add copilot -- npx -y @aykahshi/copilot-mcp-server

Project-Specific:

# In your project directory
gemini mcp add --project copilot -- npx -y @aykahshi/copilot-mcp-server

Verify:

gemini mcp list

🎨 JetBrains AI Assistant

For IntelliJ IDEA, PyCharm, WebStorm, etc.

Setup:

  1. Open Settings (Cmd/Ctrl + ,)
  2. Navigate to: Tools → AI Assistant → Model Context Protocol (MCP)
  3. Click "+" to add new MCP server
  4. Configure:
  • Name: copilot
  • Command: npx
  • Arguments: -y @aykahshi/copilot-mcp-server

🚀 Other MCP Clients

This server is compatible with any MCP-compliant client. Generic configuration:

{
  "mcpServers": {
    "copilot": {
      "command": "npx",
      "args": ["-y", "@aykahshi/copilot-mcp-server"]
    }
  }
}

Additional Compatible Clients:

  • Amp - Configuration in ~/.amp/mcp.json
  • Augment Code - MCP settings in IDE
  • Roo Code - Via settings panel
  • Qwen Coder - CLI: qwen mcp add copilot

✅ Compatibility Matrix

| Client | Status | Installation Method | Notes | |--------|--------|-------------------|-------| | Claude Desktop | ✅ Tested | JSON config | Most stable, recommended | | Claude Code | ✅ Tested | CLI command | Fastest setup | | Cursor | ✅ Compatible | JSON / UI | Multiple setup options | | Cline (VS Code) | ✅ Compatible | Extension settings | VS Code integration | | Zed | ✅ Compatible | Native MCP support | Built-in UI | | Windsurf | ✅ Compatible | JSON config | Simple setup | | Gemini CLI | ✅ Compatible | CLI command | Project & global | | JetBrains AI | ✅ Compatible | Settings UI | All JetBrains IDEs | | Other MCP clients | ✅ Compatible | Standard MCP protocol | Universal support |

How It Works

This MCP server acts as a bridge between MCP clients and the GitHub Copilot CLI:

  1. MCP Client (Claude Desktop) → Calls tool via MCP protocol
  2. MCP Server (This package) → Translates to Copilot CLI command
  3. GitHub Copilot CLI → Processes request and returns response
  4. MCP Server → Returns formatted response to client

Benefits:

  • Use Copilot's AI models directly in Claude conversations
  • Maintain session history across interactions
  • Access specialized Copilot features (explain, debug, review, etc.)
  • No need to switch between tools

🎯 Real-World Use Cases

1. Code Explanation & Learning

Scenario: Understanding complex code patterns

// Ask Copilot to explain
const result = arr.map(x => x * 2).filter(x => x > 10);

Response: > This code performs two operations on an array in sequence: > 1. .map(x => x * 2) - Creates a new array by multiplying each element by 2 > 2. .filter(x => x > 10) - Filters that result to only keep values greater than 10 > > For example, if arr = [3, 5, 8], the result would be [16]


2. Debugging Assistance

Scenario: Finding bugs in your code

// Buggy code
function sum(arr) {
  return arr.reduce((a) => a+b, 0);
}

Error: ReferenceError: b is not defined

Copilot's Fix:

function sum(arr) {
  return arr.reduce((a, b) => a+b, 0);
}

> The reduce callback needs both the accumulator and the current value.


3. Security Refactoring

Scenario: Fixing SQL injection vulnerabilities

// Vulnerable code
function getUserData(id) {
  return db.query('SELECT * FROM users WHERE id = ' + id);
}

Copilot's Secure Version:

async function getUserData(id) {
  if (!id) return null;

  // Use parameterized query to prevent SQL injection
  const query = 'SELECT * FROM users WHERE id = ?';
  const user = await db.query(query, [id]);

  return user || null;
}

> Key improvements: Parameterized queries, input validation, async/await


4. Test Generation

Scenario: Generate comprehensive tests

function isPrime(n) {
  if (n  {
  it('should return false for numbers  {
    expect(isPrime(-5)).toBe(false);
    expect(isPrime(0)).toBe(false);
    expect(isPrime(1)).toBe(false);
  });

  it('should return true for prime numbers', () => {
    expect(isPrime(2)).toBe(true);
    expect(isPrime(3)).toBe(true);
    expect(isPrime(97)).toBe(true);
  });

  it('should return false for composite numbers', () => {
    expect(isPrime(4)).toBe(false);
    expect(isPrime(100)).toBe(false);
  });
});

5. Code Modernization

Scenario: Update legacy JavaScript to modern ES6+

// Legacy code
function processData(data) {
  var result = [];
  for (var i = 0; i  item * 2);
}

> Benefits: Cleaner, modern arrow function, immutable array operation


6. CLI Command Suggestions

Task: "List all files recursively and count them"

PowerShell:

(Get-ChildItem -Recurse -File).Count

Bash:

find . -type f | wc -l

📚 Detailed Tool Examples

ask-copilot

General-purpose coding assistant

📝 Prompt: "Write a TypeScript function to debounce user input"

🤖 Response: Complete implementation with TypeScript types, error handling, and usage examples

copilot-explain

Code explanation and education

📝 Code to explain:
const memoize = fn => {
  const cache = new Map();
  return (...args) => {
    const key = JSON.stringify(args);
    return cache.has(key) ? cache.get(key) : cache.set(key, fn(...args)).get(key);
  };
};

🤖 Explanation: "This is a memoization function that caches results..."

copilot-suggest

Command-line suggestions

📝 Task: "Find all TypeScript files modified in the last 7 days"

🤖 Windows: Get-ChildItem -Recurse -Filter *.ts | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)}
🤖 Linux: find . -name "*.ts" -mtime -7

copilot-debug

Bug identification and fixes

📝 Buggy async code:
async function fetchData() {
  const data = await fetch('/api/data');
  return data.json;
}

❌ Error: "data.json is not a function"

✅ Fix: return data.json() // Add parentheses

copilot-refactor

Code quality improvements

📝 Goal: "Improve performance"

// Before
const result = array.filter(x => x > 0).map(x => x * 2);

// After
const result = array.reduce((acc, x) => {
  if (x > 0) acc.push(x * 2);
  return acc;
}, []);

💡 Benefit: Single pass through array instead of two

copilot-test-generate

Automated test creation


…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Poorgramer-Zack](https://github.com/Poorgramer-Zack)
- **Source:** [Poorgramer-Zack/copilot-mcp-tool](https://github.com/Poorgramer-Zack/copilot-mcp-tool)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.