Skip to main content
Glama
x51xxx
by x51xxx

Copilot MCP Tool

GitHub Release npm version npm downloads License: MIT Open Source

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

TLDR: Claude + GitHub Copilot CLI

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

Related MCP server: GitHub Copilot MCP Server

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:

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.

Available Tools

10 tools
askC

Execute GitHub Copilot CLI with file analysis, tool management, and safety controls

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoAI model to use: 'gpt-5', 'claude-sonnet-4', 'claude-sonnet-4.5', or 'claude-haiku-4.5' (0.33x cost). Defaults to COPILOT_MODEL env var or Copilot's default
addDirNoAdd directories to allowed list for file access
bannerNoShow the animated banner on startup
logDirNoSet log file directory
promptYesTask or question for GitHub Copilot CLI. Supports @ syntax for files/images (e.g., '@file.png', '@src/') and ! prefix for direct shell commands
resumeNoResume from a previous session (optionally specify session ID)
noColorNoDisable all color output
timeoutNoMaximum execution time in milliseconds
continueNoResume the most recent session
denyToolNoDeny specific tools (takes precedence over allowTool)
logLevelNoSet the log level
allowToolNoAllow specific tools to run. Supports glob patterns (e.g., 'shell(npm run test:*)')
sessionIdNoUse specific session ID for multi-turn conversations
workingDirNoWorking directory for command execution. Falls back to COPILOT_MCP_CWD env var or process.cwd()
screenReaderNoEnable screen reader optimizations
allowAllPathsNoAutomatically approve access to all file paths (use with caution)
allowAllToolsNoAllow all tools to run automatically (required for non-interactive mode)
disableMcpServerNoDisable specific MCP servers
additionalMcpConfigNoAdditional MCP server configuration (JSON string or object). Use @ prefix for file path (e.g., "@config.json")
enableSessionTrackingNoEnable session tracking for conversation persistence

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only mentions 'safety controls' without explaining behaviors, prerequisites, output, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise but not front-loaded with the most critical context; it could be more structured while remaining succinct.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (20 parameters, many optional), the description lacks critical context about what the tool does interactively, output expectations, and multi-turn support.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning beyond the input schema, but the schema covers 100% of parameters with their own descriptions, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it executes GitHub Copilot CLI with file analysis, tool management, and safety controls, but does not differentiate it from sibling tools like 'batch' or 'review'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives; no explicit when/when-not or context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batchB

Delegate multiple atomic tasks to GitHub Copilot CLI for batch processing. Ideal for repetitive operations, mass refactoring, and automated code transformations

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoAI model to use: 'gpt-5', 'claude-sonnet-4', 'claude-sonnet-4.5', or 'claude-haiku-4.5' (0.33x cost). Defaults to COPILOT_MODEL env var
tasksYesArray of atomic tasks to delegate to GitHub Copilot
addDirNoAdd directories to allowed list for file access
resumeNoResume from a previous session (optionally specify session ID)
timeoutNoMaximum execution time per task in milliseconds
continueNoResume the most recent session
denyToolNoDeny specific tools
logLevelNoSet the log level
parallelNoExecute tasks in parallel (experimental)
allowToolNoAllow specific tools. Supports glob patterns (e.g., 'shell(npm run test:*)')
workingDirNoWorking directory for command execution. Falls back to COPILOT_MCP_CWD env var or process.cwd()
stopOnErrorNoStop execution if any task fails
allowAllPathsNoAutomatically approve access to all file paths (use with caution)
allowAllToolsNoAllow all tools to run automatically
additionalMcpConfigNoAdditional MCP server configuration (JSON string or object). Use @ prefix for file path (e.g., "@config.json")

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavioral traits. It only states that the tool delegates tasks, but does not mention any side effects, required permissions, error handling, or safety considerations (e.g., that it can modify code or access files). This is insufficient for a powerful batch tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two short sentences that directly state the tool's function and ideal use cases. No wasted words; every sentence is informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 15 parameters and no output schema, the description is too minimal. It does not cover important aspects like resume capability, parallel execution, tool control, or failure behavior, leaving the agent without key contextual information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The general description adds no additional parameter-level meaning beyond what is in the schema, nor does it explain parameter interactions or provide usage examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Delegate' and identifies the resource 'multiple atomic tasks to GitHub Copilot CLI', with examples like 'repetitive operations, mass refactoring'. This distinguishes 'batch' from sibling tools like 'ask' or 'review', which are single-turn interactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Ideal for repetitive operations' implies a usage context, but the description does not explicitly state when to prefer this tool over alternatives, nor does it mention when not to use it. No exclusions or alternative tools are referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

brainstormB

Generate creative ideas using structured frameworks with domain context and feasibility analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoAI model to use: 'gpt-5', 'claude-sonnet-4', 'claude-sonnet-4.5', or 'claude-haiku-4.5' (0.33x cost). Defaults to COPILOT_MODEL env var
addDirNoAdd directories to allowed list for file access
domainNoDomain: software, business, creative, research, product, marketing, etc.
promptYesBrainstorming challenge or question
ideaCountNoNumber of ideas (default: 12, range: 5-30)
workingDirNoWorking directory for command execution. Falls back to COPILOT_MCP_CWD env var or process.cwd()
constraintsNoLimitations: budget, time, technical, legal, etc.
methodologyNoFramework: divergent, convergent, scamper, design-thinking, lateral, auto (default)auto
existingContextNoBackground info or previous attempts
includeAnalysisNoInclude feasibility/impact analysis

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It mentions frameworks and analysis but does not indicate side effects, safety, or whether it's read-only. Only output hints are vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, to the point, but could be more structured with brief usage context. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters and no output schema, the description is too brief. It doesn't explain return format or how results are presented, omitting critical behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so baseline is 3. Description adds context about structured frameworks and domain context but does not enhance parameter understanding beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates creative ideas using structured frameworks with domain context and feasibility analysis. The verb is specific (generate) and resource is well-defined (creative ideas), with no sibling conflicts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. The sibling tools are unrelated, but the description does not help an agent decide context for brainstorming use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

healthB

Check Copilot CLI health status including installation, authentication, and session management

ParametersJSON Schema
NameRequiredDescriptionDefault
verboseNoInclude detailed diagnostic information
sessionIdNoCheck specific session health

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose whether the tool has side effects, requires authentication, or is read-only. A health check is likely read-only, but that is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the purpose. It is concise and to the point, though it could include brief usage context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain what the tool returns or its format. Given the tool's purpose, knowing the output structure is important. Additionally, usage guidelines are absent, making it incomplete for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The tool description adds the context of 'installation, authentication, and session management' but does not enhance understanding of the parameters beyond their schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Check' and the resource 'Copilot CLI health status', and specifies included areas (installation, authentication, session management). This distinguishes it from sibling tools like 'ping' or 'version'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool instead of alternatives, nor does it mention any exclusions or prerequisites. For a health check tool, it should clarify when to use 'health' vs 'ping' for connectivity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

HelpC

receive help information for Copilot CLI

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only says 'receive help information' without mentioning read-only nature, side effects, or output format, providing no transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly terse (one sentence) and lacks front-loaded key details. While concise, it sacrifices clarity and usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema or annotations, the description should compensate. It fails to explain what help content is provided or how it is structured, leaving the agent guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%. Baseline score of 4 is appropriate since the description adds no parameter info but the schema is already complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool provides help information for Copilot CLI, which is clear but generic. It does not differentiate from sibling tools like 'ask' or 'review' that might also offer guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'ask' or 'review'. The description lacks explicit context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-sessionsB

List, delete, or clear session data for multi-turn conversations

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoAction to perform: list, delete, or clearlist
sessionIdNoSession ID for delete action

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fails to disclose behavioral traits such as destructive nature of delete/clear actions, authentication requirements, or data retention policies. The actions are listed without warnings or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose. It is front-loaded and contains no fluff, making it easy to parse. However, it could be slightly more structured to separate actions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema), the description provides adequate context that it handles session management. However, it omits details about parameter dependencies (e.g., sessionId only for delete) and output format, leaving room for misinterpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents parameter meanings. The description does not add meaningful semantics beyond what the schema provides, merely restating the actions. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool can list, delete, or clear session data for multi-turn conversations. It uses specific verbs and identifies the resource (session data), distinguishing it from sibling tools which cover different functionalities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used for managing session data, but provides no explicit guidance on when to use it versus other tools or when not to use it. No alternatives are mentioned, which is acceptable given sibling diversity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingC

Echo

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNoMessage to echo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Echo' only restates the core action and implies the prompt is returned, but it does not state side effects, safety traits, or response format. For a trivial tool this is minimally acceptable, but it still lacks explicit behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is extremely concise, it is under-specified rather than efficiently structured. A single word without context is not a well-formed definition, and the conciseness is the result of omission rather than careful pruning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's low complexity, the description leaves out important context such as the intended use (e.g., connectivity test or echo of user input) and the fact that the given prompt will be returned. There is no output schema, so the description should clarify return behavior, but it does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% coverage with the description 'Message to echo' for the prompt parameter. The description 'Echo' adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a single word, 'Echo', which names an action but does not specify the resource or what is echoed. It is not a complete statement of purpose and leaves ambiguity about whether it echoes the prompt parameter or something else. This is more like a vague fragment than a clear tool definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus any of the sibling tools. There is no mention of typical use cases, prerequisites, or exclusions. An agent receives no context to decide whether to call ping instead of ask-gemini or brainstorm.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reviewB

Comprehensive code review using GitHub Copilot CLI with multiple review types (security, performance, quality, etc.) and detailed reporting

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoAI model to use: 'gpt-5', 'claude-sonnet-4', 'claude-sonnet-4.5', or 'claude-haiku-4.5' (0.33x cost). Defaults to COPILOT_MODEL env var
addDirNoDirectories to grant access
resumeNoResume from a previous session (optionally specify session ID)
targetYesTarget files/directories to review
timeoutNoMaximum execution time in milliseconds
continueNoResume the most recent session
severityNoMinimum severity level to report
maxIssuesNoMaximum number of issues to report
reviewTypeNoType of review to performcomprehensive
workingDirNoWorking directory for command execution. Falls back to COPILOT_MCP_CWD env var or process.cwd()
outputFormatNoOutput format for the reviewmarkdown
allowAllPathsNoAutomatically approve access to all file paths (use with caution)
allowAllToolsNoAllow all tools for comprehensive analysis
excludePatternsNoFile patterns to exclude
additionalMcpConfigNoAdditional MCP server configuration (JSON string or object). Use @ prefix for file path (e.g., "@config.json")
includeFixSuggestionsNoInclude specific fix suggestions
includePriorityRankingNoInclude priority ranking for issues

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions 'comprehensive code review' but fails to explain that it requires file access, executes commands, or produces a report with issues. The behavioral impact is under-disclosed given the complex parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the key purpose. While concise, it could be more informative by adding a second sentence on output or usage. Still, it is well-structured and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 17 parameters and no output schema, the description should clarify the output format and what 'detailed reporting' entails. It lacks information on return values, typical usage flow, and file access implications, making it incomplete for an agent to fully anticipate tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described, so the baseline is 3. The description previews review types (security, performance, etc.) which aligns with the reviewType enum, but does not add significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs comprehensive code review using GitHub Copilot CLI with multiple review types and detailed reporting. It effectively distinguishes from sibling tools like 'ask' or 'brainstorm' by specifying its focus on code analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for code review but does not explicitly state when to use versus alternatives like 'ask' or 'batch'. No exclusions or when-not context is provided, making it adequate but lacking explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

timeout-testA

Test timeout prevention by running for a specified duration

ParametersJSON Schema
NameRequiredDescriptionDefault
durationYesDuration in milliseconds (minimum 10ms)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the tool runs for a specified duration but lacks details on side effects, return values, or whether it is read-only or destructive. This is insufficient for a tool that likely involves waiting or blocking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no unnecessary words. Every word contributes to the core message.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential idea. However, it lacks context on what 'timeout prevention' means, typical use cases, and expected behavior after the duration elapses.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (duration parameter already described). The description adds no additional meaning beyond 'running for a specified duration', which is already implied by the parameter name. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Test timeout prevention by running for a specified duration'. It uses a specific verb ('Test') and resource ('timeout prevention'), distinguishing it from sibling tools like 'ping' or 'health'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for testing timeout prevention but provides no explicit guidance on when to use this tool vs alternatives. No exclusions or when-not-to-use are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

versionA

Display version and system information for Copilot and MCP server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full burden. It discloses that the tool displays information, which is benign. However, it does not elaborate on whether there are any side effects, data sensitivity, or specific behaviors beyond the stated output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the tool's purpose without waste. It is front-loaded and every word is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and a straightforward purpose, the description adequately covers its function. However, it lacks detail on the exact output format, which might be incomplete without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so per the rubric, baseline is 4. The description adds no parameter-specific meaning because there are none, but schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool displays version and system information for Copilot and MCP server. It uses a specific verb ('Display') and identifies the resource ('version and system information'). This distinguishes it from sibling tools like 'ping' (connectivity) and 'health' (overall system health).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'health' or 'ping'. It only states what the tool does, with no context about appropriate scenarios or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.4.0
    • First observedask
    • First observedbatch
    • First observedbrainstorm
    • First observedhealth
    • First observedHelp
    • First observedlist-sessions
    • First observedping
    • First observedreview
    • First observedtimeout-test
    • First observedversion

TDQS

C2.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes. However, 'ask' and 'batch' both involve executing tasks via Copilot CLI, which could cause confusion; 'ask' is for single tasks with file analysis, while 'batch' is for multiple atomic tasks.

Naming Consistency2/5

Naming is inconsistent: 'Help' is capitalized while others use lowercase; 'timeout-test' uses a hyphen; 'list-sessions' uses underscores. There is no consistent verb_noun or verb-noun pattern.

Tool Count5/5

With 10 tools, the server is well-scoped for its purpose as a Copilot CLI wrapper. Each tool serves a distinct function without unnecessary bloat.

Completeness4/5

The tool surface covers the main functionalities: getting help, version info, executing tasks (single and batch), code review, brainstorming, health checks, and session management. Missing a dedicated 'chat' or 'explain' tool, but 'ask' likely handles that.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Integrates GitHub Copilot with MCP-compatible tools to provide AI-powered code assistance, including chat, code explanation, and reviews. It leverages existing GitHub CLI authentication to support multiple models like GPT-4o and Claude 3.5 Sonnet.
    4
    42
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Integrates GitHub Copilot CLI with MCP clients to offer various coding assistance tools including asking questions, explaining code, suggesting commands, debugging, refactoring, generating tests, and reviewing code.
    14
    8
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects VSCode with MCP to provide AI assistants real-time access to LSP diagnostics, symbol info, and code navigation, enabling efficient code analysis without slow build commands.
    102
    -
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for GitHub Copilot that allows querying any Copilot model programmatically using existing Copilot CLI credentials, with support for file attachments and model discovery.
    2
    11
    MIT