{
  "markdown": "# GitHub Copilot MCP Server\r\n\r\n<div align=\"center\">\r\n\r\n[![npm version](https://img.shields.io/npm/v/@aykahshi/copilot-mcp-server.svg)](https://www.npmjs.com/package/@aykahshi/copilot-mcp-server)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Node.js](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen)](https://nodejs.org)\r\n\r\n[繁體中文](README-zh.md)\r\n\r\n</div>\r\n\r\nA Model Context Protocol (MCP) server that integrates GitHub Copilot CLI with MCP clients.\r\n\r\n> **📣 Important Notice**\r\n>\r\n> Thanks to [@leonardommello](https://github.com/leonardommello/copilot-mcp-tool) 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.\r\n\r\n## Features\r\n\r\n- **9 Tools** - Interactive Copilot commands for coding assistance\r\n- **2 Resources** - Session history and management\r\n- **Full MCP Support** - Compatible with Claude Desktop, Claude Code, Cline, and more\r\n- **Claude Code Plugin** - Claude Code plugin with built-in workflow\r\n- **Quick Commands** - Shortcut commands for rapid workflow (see below)\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n### For use: \r\n\r\nAdd to your configuration file:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Optional: Specify model preference**\r\n\r\nYou can use the `--prefer` flag to choose between Claude or GPT models as defaults:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\", \"--prefer\", \"gpt\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nAvailable preferences:\r\n `--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\r\n `--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\r\n\r\n**Model defaults by preference:**\r\n\r\n| Tool | `--prefer claude` | `--prefer gpt` |\r\n|------|-------------------|----------------|\r\n| ask-copilot | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-explain | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-suggest | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-debug | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-refactor | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-review | claude-sonnet-4.6 | gpt-5.4 |\r\n| copilot-test-generate | claude-sonnet-4.6 | gpt-5.4 |\r\n\r\n> **Note:** You can still override the default model for any tool by specifying the `model` parameter in individual tool calls.\r\n\r\n### Prerequisites\r\n\r\nYou need GitHub Copilot CLI installed and authenticated:\r\n\r\n```bash\r\nnpm install -g @github/copilot\r\ncopilot /login\r\n```\r\n\r\n---\r\n\r\n## Hello World Example\r\n\r\nOnce configured, here's a simple way to get started:\r\n\r\n**In Claude Desktop (or your MCP client):**\r\n\r\n```\r\nUse ask-copilot with prompt=\"Write a simple Hello World program in JavaScript\"\r\n```\r\n\r\n**Response:**\r\n```javascript\r\nconsole.log(\"Hello, World!\");\r\n```\r\n\r\nThat's it! You can now use all the Copilot tools through your AI client.\r\n\r\n**More examples:**\r\n```\r\nUse copilot-explain to explain this code: console.log(\"Hello, World!\");\r\n\r\nUse copilot-suggest for task=\"List files in current directory\"\r\n\r\nUse copilot-debug with code=\"console.log(messge);\" and error=\"ReferenceError: messge is not defined\"\r\n```\r\n\r\n---\r\n\r\n## Tools\r\n\r\n| Tool | Description | Parameters |\r\n|------|-------------|------------|\r\n| **ask-copilot** | Ask Copilot for coding help, debugging, architecture | `prompt`, `context`, `model`, `allowAllTools` |\r\n| **copilot-explain** | Get detailed code explanations | `code`, `model` |\r\n| **copilot-suggest** | Get CLI command suggestions | `task`, `model` |\r\n| **copilot-debug** | Debug code errors | `code`, `error`, `context` |\r\n| **copilot-refactor** | Get refactoring suggestions | `code`, `goal` |\r\n| **copilot-test-generate** | Generate unit tests | `code`, `framework` |\r\n| **copilot-review** | Get code review with feedback | `code`, `focusAreas` |\r\n| **copilot-session-start** | Start new conversation session | - |\r\n| **copilot-session-history** | Get session history | `sessionId` |\r\n\r\n---\r\n\r\n## Resources\r\n\r\n| Resource | URI | Description |\r\n|----------|-----|-------------|\r\n| **session-history** | `copilot://session/{sessionId}/history` | Access conversation history for a session |\r\n| **sessions-list** | `copilot://sessions` | List all active sessions |\r\n\r\n---\r\n\r\n## 🧩 Plugins\r\n\r\nThis repository includes ready-to-use plugins that extend functionality:\r\n\r\n### copilot-flow\r\n\r\n**AI Collaboration Workflow Plugin** - Automates a structured 5-stage development process between Claude and GitHub Copilot.\r\n\r\n**Features:**\r\n- 🔄 **5-Stage Workflow**: Analyze → Design → Implement → Review → Deliver\r\n- 🤖 **Smart Model Selection**: Automatically selects optimal Copilot models based on task type\r\n- 👀 **Preview Mode**: Shows execution plan before running\r\n- 🔄 **Recovery Mechanism**: Resume interrupted workflows via session ID\r\n\r\n**Quick Install:**\r\n```bash\r\n/plugin marketplace add Poorgramer-Zack/copilot-mcp-tool\r\n/plugin install copilot-flow\r\n```\r\n\r\n**Learn more**: [copilot-flow documentation](plugins/copilot-flow/README.md)\r\n\r\n---\r\n\r\n## 🔌 AI Client Integration\r\n\r\nThis MCP server works with **any MCP-compatible client**. Below are detailed setup instructions for popular AI coding assistants.\r\n\r\n### 📘 Claude Desktop (Recommended)\r\n\r\nClaude Desktop is the most tested and recommended client for this MCP server.\r\n\r\n**Configuration Path:**\r\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\r\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\r\n- **Linux**: `~/.config/Claude/claude_desktop_config.json`\r\n\r\n**Method 1: NPX (No Installation Required)**\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Method 2: Global Installation**\r\n```bash\r\nnpm install -g @aykahshi/copilot-mcp-server\r\n```\r\n\r\nThen add to config:\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"copilot-mcp-server\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Method 3: Local Development**\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"node\",\r\n      \"args\": [\"/absolute/path/to/copilot-mcp-tool/dist/esm/copilot/index.js\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**After Setup:**\r\n1. Restart Claude Desktop\r\n2. Look for the 🔌 icon in the bottom-right corner\r\n3. Click it to see \"copilot\" in the connected servers list\r\n\r\n---\r\n\r\n### 🖥️ Claude Code (CLI)\r\n\r\nClaude Code provides the fastest setup experience via CLI.\r\n\r\n**Quick Setup:**\r\n```bash\r\n# Using npx (no installation)\r\nclaude mcp add copilot -- npx -y @aykahshi/copilot-mcp-server\r\n\r\n# Or with global installation\r\nnpm install -g @aykahshi/copilot-mcp-server\r\nclaude mcp add copilot copilot-mcp-server\r\n```\r\n\r\n**Import from Claude Desktop:**\r\n```bash\r\n# If you already configured Claude Desktop\r\nclaude mcp add-from-claude-desktop\r\n```\r\n\r\n**Verify Connection:**\r\n```bash\r\nclaude mcp list\r\n# Should show: copilot (connected)\r\n```\r\n\r\n**Usage in Chat:**\r\n```bash\r\n/mcp  # Check server status\r\n```\r\n\r\n---\r\n\r\n### 🎯 Cursor\r\n\r\nCursor supports both one-click and manual installation.\r\n\r\n**Method 1: Manual Configuration**\r\n\r\nEdit `~/.cursor/mcp.json` (create if it doesn't exist):\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Method 2: Settings UI**\r\n1. Open Cursor Settings (Cmd/Ctrl + ,)\r\n2. Search for \"MCP\"\r\n3. Click \"Add MCP Server\"\r\n4. Name: `copilot`\r\n5. Command: `npx -y @aykahshi/copilot-mcp-server`\r\n\r\n---\r\n\r\n### 🔧 VS Code with Cline Extension\r\n\r\n[Cline](https://github.com/cline/cline) is a popular MCP-compatible VS Code extension.\r\n\r\n**Setup:**\r\n\r\n1. Install Cline extension from VS Code marketplace\r\n2. Open Cline settings (gear icon in Cline panel)\r\n3. Navigate to \"MCP Servers\" section\r\n4. Add new server:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Alternatively**, edit VS Code `settings.json`:\r\n```json\r\n{\r\n  \"cline.mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n---\r\n\r\n### ⚡ Zed Editor\r\n\r\nZed has native MCP support built-in.\r\n\r\n**Configuration File:** `~/.config/zed/mcp.json`\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Or use Zed's UI:**\r\n1. Open Zed Settings (Cmd/Ctrl + ,)\r\n2. Go to \"Extensions\" → \"MCP\"\r\n3. Add server with command: `npx -y @aykahshi/copilot-mcp-server`\r\n\r\n---\r\n\r\n### 🔮 Windsurf\r\n\r\n**Configuration Path:** `~/.windsurf/mcp.json`\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n---\r\n\r\n### 🌊 Gemini CLI\r\n\r\nGemini CLI supports both project-wide and global MCP server installation.\r\n\r\n**Global Installation:**\r\n```bash\r\ngemini mcp add copilot -- npx -y @aykahshi/copilot-mcp-server\r\n```\r\n\r\n**Project-Specific:**\r\n```bash\r\n# In your project directory\r\ngemini mcp add --project copilot -- npx -y @aykahshi/copilot-mcp-server\r\n```\r\n\r\n**Verify:**\r\n```bash\r\ngemini mcp list\r\n```\r\n\r\n---\r\n\r\n### 🎨 JetBrains AI Assistant\r\n\r\nFor IntelliJ IDEA, PyCharm, WebStorm, etc.\r\n\r\n**Setup:**\r\n1. Open Settings (Cmd/Ctrl + ,)\r\n2. Navigate to: `Tools → AI Assistant → Model Context Protocol (MCP)`\r\n3. Click \"+\" to add new MCP server\r\n4. Configure:\r\n   - **Name**: `copilot`\r\n   - **Command**: `npx`\r\n   - **Arguments**: `-y @aykahshi/copilot-mcp-server`\r\n\r\n---\r\n\r\n### 🚀 Other MCP Clients\r\n\r\nThis server is compatible with **any MCP-compliant client**. Generic configuration:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"copilot\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aykahshi/copilot-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Additional Compatible Clients:**\r\n- **Amp** - Configuration in `~/.amp/mcp.json`\r\n- **Augment Code** - MCP settings in IDE\r\n- **Roo Code** - Via settings panel\r\n- **Qwen Coder** - CLI: `qwen mcp add copilot`\r\n\r\n---\r\n\r\n## ✅ Compatibility Matrix\r\n\r\n| Client | Status | Installation Method | Notes |\r\n|--------|--------|-------------------|-------|\r\n| [Claude Desktop](https://claude.ai/download) | ✅ **Tested** | JSON config | Most stable, recommended |\r\n| [Claude Code](https://docs.claude.com/en/docs/claude-code) | ✅ **Tested** | CLI command | Fastest setup |\r\n| [Cursor](https://cursor.sh/) | ✅ Compatible | JSON / UI | Multiple setup options |\r\n| [Cline (VS Code)](https://github.com/cline/cline) | ✅ Compatible | Extension settings | VS Code integration |\r\n| [Zed](https://zed.dev/) | ✅ Compatible | Native MCP support | Built-in UI |\r\n| [Windsurf](https://windsurf.ai/) | ✅ Compatible | JSON config | Simple setup |\r\n| [Gemini CLI](https://github.com/jamubc/gemini-mcp-tool) | ✅ Compatible | CLI command | Project & global |\r\n| [JetBrains AI](https://www.jetbrains.com/ai/) | ✅ Compatible | Settings UI | All JetBrains IDEs |\r\n| Other MCP clients | ✅ Compatible | Standard MCP protocol | Universal support |\r\n\r\n## How It Works\r\n\r\nThis MCP server acts as a bridge between MCP clients and the GitHub Copilot CLI:\r\n\r\n1. **MCP Client** (Claude Desktop) → Calls tool via MCP protocol\r\n2. **MCP Server** (This package) → Translates to Copilot CLI command\r\n3. **GitHub Copilot CLI** → Processes request and returns response\r\n4. **MCP Server** → Returns formatted response to client\r\n\r\n**Benefits:**\r\n- Use Copilot's AI models directly in Claude conversations\r\n- Maintain session history across interactions\r\n- Access specialized Copilot features (explain, debug, review, etc.)\r\n- No need to switch between tools\r\n\r\n---\r\n\r\n## 🎯 Real-World Use Cases\r\n\r\n### 1. Code Explanation & Learning\r\n**Scenario**: Understanding complex code patterns\r\n\r\n```javascript\r\n// Ask Copilot to explain\r\nconst result = arr.map(x => x * 2).filter(x => x > 10);\r\n```\r\n\r\n**Response**:\r\n> This code performs two operations on an array in sequence:\r\n> 1. `.map(x => x * 2)` - Creates a new array by multiplying each element by 2\r\n> 2. `.filter(x => x > 10)` - Filters that result to only keep values greater than 10\r\n>\r\n> For example, if `arr = [3, 5, 8]`, the result would be `[16]`\r\n\r\n---\r\n\r\n### 2. Debugging Assistance\r\n**Scenario**: Finding bugs in your code\r\n\r\n```javascript\r\n// Buggy code\r\nfunction sum(arr) {\r\n  return arr.reduce((a) => a+b, 0);\r\n}\r\n```\r\n\r\n**Error**: `ReferenceError: b is not defined`\r\n\r\n**Copilot's Fix**:\r\n```javascript\r\nfunction sum(arr) {\r\n  return arr.reduce((a, b) => a+b, 0);\r\n}\r\n```\r\n> The reduce callback needs both the accumulator and the current value.\r\n\r\n---\r\n\r\n### 3. Security Refactoring\r\n**Scenario**: Fixing SQL injection vulnerabilities\r\n\r\n```javascript\r\n// Vulnerable code\r\nfunction getUserData(id) {\r\n  return db.query('SELECT * FROM users WHERE id = ' + id);\r\n}\r\n```\r\n\r\n**Copilot's Secure Version**:\r\n```javascript\r\nasync function getUserData(id) {\r\n  if (!id) return null;\r\n\r\n  // Use parameterized query to prevent SQL injection\r\n  const query = 'SELECT * FROM users WHERE id = ?';\r\n  const user = await db.query(query, [id]);\r\n\r\n  return user || null;\r\n}\r\n```\r\n> **Key improvements**: Parameterized queries, input validation, async/await\r\n\r\n---\r\n\r\n### 4. Test Generation\r\n**Scenario**: Generate comprehensive tests\r\n\r\n```javascript\r\nfunction isPrime(n) {\r\n  if (n <= 1) return false;\r\n  for (let i = 2; i * i <= n; i++) {\r\n    if (n % i === 0) return false;\r\n  }\r\n  return true;\r\n}\r\n```\r\n\r\n**Generated Jest Tests**:\r\n```javascript\r\ndescribe('isPrime', () => {\r\n  it('should return false for numbers <= 1', () => {\r\n    expect(isPrime(-5)).toBe(false);\r\n    expect(isPrime(0)).toBe(false);\r\n    expect(isPrime(1)).toBe(false);\r\n  });\r\n\r\n  it('should return true for prime numbers', () => {\r\n    expect(isPrime(2)).toBe(true);\r\n    expect(isPrime(3)).toBe(true);\r\n    expect(isPrime(97)).toBe(true);\r\n  });\r\n\r\n  it('should return false for composite numbers', () => {\r\n    expect(isPrime(4)).toBe(false);\r\n    expect(isPrime(100)).toBe(false);\r\n  });\r\n});\r\n```\r\n\r\n---\r\n\r\n### 5. Code Modernization\r\n**Scenario**: Update legacy JavaScript to modern ES6+\r\n\r\n```javascript\r\n// Legacy code\r\nfunction processData(data) {\r\n  var result = [];\r\n  for (var i = 0; i < data.length; i++) {\r\n    result.push(data[i] * 2);\r\n  }\r\n  return result;\r\n}\r\n```\r\n\r\n**Modern Version**:\r\n```javascript\r\nfunction processData(data) {\r\n  return data.map(item => item * 2);\r\n}\r\n```\r\n> **Benefits**: Cleaner, modern arrow function, immutable array operation\r\n\r\n---\r\n\r\n### 6. CLI Command Suggestions\r\n**Task**: \"List all files recursively and count them\"\r\n\r\n**PowerShell**:\r\n```powershell\r\n(Get-ChildItem -Recurse -File).Count\r\n```\r\n\r\n**Bash**:\r\n```bash\r\nfind . -type f | wc -l\r\n```\r\n\r\n---\r\n\r\n## 📚 Detailed Tool Examples\r\n\r\n### ask-copilot\r\n**General-purpose coding assistant**\r\n\r\n```\r\n📝 Prompt: \"Write a TypeScript function to debounce user input\"\r\n\r\n🤖 Response: Complete implementation with TypeScript types, error handling, and usage examples\r\n```\r\n\r\n### copilot-explain\r\n**Code explanation and education**\r\n\r\n```javascript\r\n📝 Code to explain:\r\nconst memoize = fn => {\r\n  const cache = new Map();\r\n  return (...args) => {\r\n    const key = JSON.stringify(args);\r\n    return cache.has(key) ? cache.get(key) : cache.set(key, fn(...args)).get(key);\r\n  };\r\n};\r\n\r\n🤖 Explanation: \"This is a memoization function that caches results...\"\r\n```\r\n\r\n### copilot-suggest\r\n**Command-line suggestions**\r\n\r\n```\r\n📝 Task: \"Find all TypeScript files modified in the last 7 days\"\r\n\r\n🤖 Windows: Get-ChildItem -Recurse -Filter *.ts | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)}\r\n🤖 Linux: find . -name \"*.ts\" -mtime -7\r\n```\r\n\r\n### copilot-debug\r\n**Bug identification and fixes**\r\n\r\n```javascript\r\n📝 Buggy async code:\r\nasync function fetchData() {\r\n  const data = await fetch('/api/data');\r\n  return data.json;\r\n}\r\n\r\n❌ Error: \"data.json is not a function\"\r\n\r\n✅ Fix: return data.json() // Add parentheses\r\n```\r\n\r\n### copilot-refactor\r\n**Code quality improvements**\r\n\r\n```javascript\r\n📝 Goal: \"Improve performance\"\r\n\r\n// Before\r\nconst result = array.filter(x => x > 0).map(x => x * 2);\r\n\r\n// After\r\nconst result = array.reduce((acc, x) => {\r\n  if (x > 0) acc.push(x * 2);\r\n  return acc;\r\n}, []);\r\n\r\n💡 Benefit: Single pass through array instead of two\r\n```\r\n\r\n### copilot-test-generate\r\n**Automated test creation**\r\n\r\n```javascript\r\n📝 Framework: \"jest\"\r\n\r\n🧪 Generates: Unit tests, edge cases, integration tests, mock data\r\n📊 Coverage: Positive cases, negative cases, boundary conditions\r\n```\r\n\r\n### copilot-review\r\n**Code review with focus areas**\r\n\r\n```javascript\r\n📝 Focus: [\"security\", \"performance\"]\r\n\r\n🔍 Reviews:\r\n- SQL injection vulnerabilities\r\n- XSS vulnerabilities\r\n- N+1 query problems\r\n- Memory leaks\r\n- Inefficient algorithms\r\n```\r\n\r\n### copilot-session-start / copilot-session-history\r\n**Conversation tracking**\r\n\r\n```\r\n📝 Start session: Creates unique session ID\r\n💾 Track history: All prompts and responses saved\r\n🔍 View history: Retrieve past conversations\r\n♻️ Resume context: Continue previous discussions\r\n```\r\n\r\n---\r\n\r\n## 🎨 Quick Examples\r\n\r\n**Generate Code:**\r\n```\r\nUse ask-copilot to write a Python function that validates email addresses\r\n```\r\n\r\n**Explain Code:**\r\n```\r\nUse copilot-explain to explain this regex: /^[a-z0-9]+@[a-z0-9]+\\.[a-z]{2,}$/i\r\n```\r\n\r\n**Debug:**\r\n```\r\nUse copilot-debug with code=\"function sum(arr) { return arr.reduce((a) => a+b, 0); }\" and error=\"ReferenceError: b is not defined\"\r\n```\r\n\r\n**Generate Tests:**\r\n```\r\nUse copilot-test-generate with code=\"function isPrime(n) { return n > 1 && ![...Array(n).keys()].slice(2).some(i => n % i === 0); }\" and framework=\"jest\"\r\n```\r\n\r\n**Review Code:**\r\n```\r\nUse copilot-review with code=\"...\" and focusAreas=[\"security\", \"performance\"]\r\n```\r\n\r\n**Session Management:**\r\n```\r\nUse copilot-session-start to begin a new tracked conversation\r\nUse copilot-session-history to view conversation history\r\n```\r\n\r\n---\r\n\r\n## AI Models\r\n\r\nSelect from available models:\r\n- `auto`\r\n- `gpt-5.4` (default in current Copilot CLI picker)\r\n- `gpt-5.3-codex`\r\n- `gpt-5.2-codex`\r\n- `gpt-5.2`\r\n- `gpt-5.4-mini`\r\n- `gpt-5-mini`\r\n- `gpt-4.1`\r\n- `claude-sonnet-4.6` (default for Claude preference in this MCP)\r\n- `claude-sonnet-4.5`\r\n- `claude-haiku-4.5`\r\n- `claude-opus-4.7`\r\n- `claude-sonnet-4`\r\n\r\nYou can see all available models via copilot cli with `/model` command.\r\n\r\n**Unlimited Model (0x cost in Copilot usage)**: `gpt-5-mini` and `gpt-4.1` are available with unlimited usage for GitHub Copilot Pro and above subscriptions.\r\n\r\nExample:\r\n```\r\nUse ask-copilot with model=\"claude-sonnet-4.6\" and prompt=\"Explain async/await\"\r\nUse ask-copilot with model=\"gpt-5-mini\" and prompt=\"Quick code review\"\r\n```\r\n\r\n---\r\n\r\n## Requirements\r\n\r\n### System Requirements\r\n- **Node.js**: >= 22.0.0\r\n- **npm**: >= 10.0.0\r\n\r\n### GitHub Copilot\r\n- **GitHub Copilot subscription**: Required ([Get Copilot](https://github.com/features/copilot))\r\n- **GitHub Copilot CLI**: Must be installed and authenticated\r\n  ```bash\r\n  npm install -g @github/copilot\r\n  copilot /login\r\n  ```\r\n\r\n---\r\n\r\n## Troubleshooting\r\n\r\n### Common Issues\r\n\r\n**❌ \"copilot command not found\"**\r\n```bash\r\n# Install GitHub Copilot CLI\r\nnpm install -g @github/copilot\r\n\r\n# Verify installation\r\ncopilot --version\r\n```\r\n\r\n**❌ \"Not authenticated\"**\r\n```bash\r\n# Login to GitHub Copilot\r\ncopilot /login\r\n\r\n# Follow the authentication flow in your browser\r\n```\r\n\r\n**❌ \"Node.js version too old\"**\r\n```bash\r\n# Check your Node.js version\r\nnode --version  # Must be >= 22.0.0\r\n\r\n# Update Node.js\r\n# Using nvm (recommended)\r\nnvm install 22\r\nnvm use 22\r\n\r\n# Or download from nodejs.org\r\n```\r\n\r\n**❌ \"MCP server not responding\"**\r\n```bash\r\n# Test the server directly\r\nnpx -y @aykahshi/copilot-mcp-server\r\n\r\n# Check Claude Desktop logs\r\n# macOS: ~/Library/Logs/Claude/\r\n# Windows: %APPDATA%\\Claude\\logs\\\r\n```\r\n\r\n**❌ \"Permission denied\" on Windows**\r\n```bash\r\n# Run as administrator or use npx without global install\r\nnpx -y @aykahshi/copilot-mcp-server\r\n```\r\n\r\n---\r\n\r\n## FAQ\r\n\r\n**Q: Do I need a GitHub Copilot subscription?**\r\nA: Yes, this MCP server requires an active GitHub Copilot subscription and the Copilot CLI installed.\r\n\r\n**Q: Can I use this with Claude Desktop?**\r\nA: Yes! This is the primary use case. Just add the configuration to `claude_desktop_config.json`.\r\n\r\n**Q: Does this work with VS Code?**\r\nA: Yes, through the Cline extension or any other MCP-compatible VS Code extension.\r\n\r\n**Q: What's the difference between this and using Copilot directly?**\r\nA: This allows you to use Copilot's capabilities within Claude conversations, combining both AI assistants.\r\n\r\n**Q: Is my code sent to both GitHub and Anthropic?**\r\nA: Code you share in conversations goes through Claude's MCP protocol to Copilot CLI, which processes it according to GitHub's privacy policy.\r\n\r\n**Q: Can I use this offline?**\r\nA: No, both GitHub Copilot and MCP clients require internet connection.\r\n\r\n---\r\n\r\n## Development\r\n\r\n### Building from Source\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/Poorgramer-Zack/copilot-mcp-tool.git\r\ncd copilot-mcp-tool\r\n\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build the project\r\nnpm run build\r\n\r\n# Run locally\r\nnpm start\r\n\r\n# Run tests\r\nnpm test\r\n```\r\n\r\n### Contributing\r\n\r\nContributions are welcome! Please:\r\n\r\n1. Fork the repository\r\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n### Project Structure\r\n\r\n```\r\nsrc/\r\n├── copilot/          # Main Copilot CLI integration\r\n│   ├── index.ts      # Entry point\r\n│   ├── server.ts     # Server configuration\r\n│   ├── cli.ts        # Copilot CLI execution\r\n│   ├── session.ts    # Session management\r\n│   ├── constants.ts  # Configuration & models\r\n│   ├── types.ts      # Type definitions\r\n│   ├── tools/        # MCP Tools\r\n│   └── resources/    # MCP Resources\r\n├── server/           # MCP Server core\r\n├── shared/           # Shared utilities\r\n└── types.ts          # Global types\r\n```\r\n\r\n---\r\n\r\n## What is MCP?\r\n\r\nThe [Model Context Protocol (MCP)](https://modelcontextprotocol.io) is an open protocol that enables AI applications to securely access data and tools from different sources. Think of it as a universal connector for AI assistants.\r\n\r\n**Key concepts:**\r\n- **Servers** (like this package): Provide tools, resources, and prompts\r\n- **Clients** (like Claude Desktop): Use these capabilities in conversations\r\n- **Tools**: Actions the AI can perform (like calling GitHub Copilot)\r\n- **Resources**: Data the AI can access (like session history)\r\n- **Prompts**: Templates for common workflows\r\n\r\nLearn more at [modelcontextprotocol.io](https://modelcontextprotocol.io)\r\n\r\n---\r\n\r\n## Links\r\n\r\n- 📦 **npm Package**: https://www.npmjs.com/package/@aykahshi/copilot-mcp-server\r\n- 💻 **GitHub Repository**: https://github.com/Poorgramer-Zack/copilot-mcp-tool\r\n- 🐛 **Report Issues**: https://github.com/Poorgramer-Zack/copilot-mcp-tool/issues\r\n- 🤖 **GitHub Copilot**: https://github.com/features/copilot\r\n- 🔗 **Model Context Protocol**: https://modelcontextprotocol.io\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT License - see [LICENSE](LICENSE) file for details\r\n\r\n## Author\r\n\r\nOriginal created by **Leonardo M. Mello** ([@leonardommello](https://github.com/leonardommello))\r\nForked and maintained by **Aykahshi** ([@Aykahshi](https://github.com/Aykahshi))\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n**Built with ❤️ using the [Model Context Protocol](https://modelcontextprotocol.io)**\r\n\r\nIf this project helped you, please consider giving it a ⭐ on [GitHub](https://github.com/Poorgramer-Zack/copilot-mcp-tool)!\r\n\r\n</div>\r\n",
  "bytes": 23989,
  "sha": "5610685f45c1b613b85090948c57422906277929d97372d0deb531df0c5e8de4",
  "repo_slug": "poorgramer-zack/copilot-mcp-tool",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_poorgramer_zack_copilot_mcp_tool_d0ba832f/readme"
}