Skip to main content
Glama
johnpapa
by johnpapa

Open project in GitHub Codespaces Node version License

Install with NPM in VS Code Install with NPM in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

Features β€’ Tools β€’ Setup β€’ Configuring an MCP Host

MCP Server for the Peacock extension for VS Code, coloring your world, one Code editor at a time. The main goal of the project is to show how an MCP server can be used to interact with APIs.

Note: All data used by this MCP server is fetched from the official Peacock documentation.

πŸ”§ Features

  • Fetch Peacock docs: Get detailed info on Peacock.

Related MCP server: mcp-server-code-runner

🧰 Tools

1. fetch_peacock_docs πŸ”πŸ¦Έβ€β™‚οΈ

  • Description: Fetches the Peacock for VS Code extension docs from its GitHub repository and answers questions based on the documentation

  • Input:

    • prompt (query): The question about Peacock.

  • Returns: Your answer!

πŸ› οΈ Setup

Install Peacock for VS Code HERE.

Running the MCP Server hosted in GitHub Copilot with VS Code Insiders

Note: If you already have the MCP server enabled with Claude Desktop, add chat.mcp.discovery.enabled: true in your VS Code settings and it will discover existing MCP server lists.

If you want to associate the MCP server with a specific repo, create a .vscode/mcp.json file with this content:

{
  "inputs": [],
  "servers": {
    "peacock-mcp": {
      "command": "npx",
      // "command": "node",
      "args": [
        "-y",
        "@johnpapa/peacock-mcp"
        // "_git/peacock-mcp/dist/index.js"
      ],
      "env": {}
    }
  }
}

If you want to associate the MCP server with all repos, add the following to your VS Code User Settings JSON:

"mcp": {
  "servers": {
    "peacock-mcp": {
      "command": "npx",
      // "command": "node",
      "args": [
        "-y",
        "@johnpapa/peacock-mcp"
        // "/Users/papa/_git/peacock-mcp/dist/index.js"
        // "_git/peacock-mcp/dist/index.js"
      ],
      "env": {}
    }
  }
}
"chat.mcp.discovery.enabled": true,

VS Code Manual Installation

Note: For quick installation, click the install buttons at the top of this README.

Using VS Code Settings

To manually install the Peacock MCP server in VS Code, follow these steps:

  1. Open VS Code Settings (JSON) by pressing Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux) and searching for "Preferences: Open User Settings (JSON)"

  2. Add the following JSON to your settings file:

{
  "mcp": {
    "servers": {
      "peacock-mcp": {
        "command": "npx",
        "args": ["-y", "@johnpapa/peacock-mcp"],
        "env": {}
      }
    }
  },
  "chat.mcp.discovery.enabled": true
}

Using CLI Commands

For VS Code Stable:

code --add-mcp '{"name":"peacock-mcp","command":"npx","args":["-y","@johnpapa/peacock-mcp"],"env":{}}'

For VS Code Insiders:

code-insiders --add-mcp '{"name":"peacock-mcp","command":"npx","args":["-y","@johnpapa/peacock-mcp"],"env":{}}'

Installing via Smithery

To install Peacock MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @johnpapa/peacock-mcp --client claude

Run the MCP Server Locally with MCP Inspector

If you'd like to run MCP Inspector locally to test the server, follow these steps:

  1. Clone this repository:

    git clone https://github.com/johnpapa/peacock-mcp
  2. Install the required dependencies and build the project.

    npm install
    npm run build
  3. (Optional) To try out the server using MCP Inspector run the following command:

    # Start the MCP Inspector
    npx @modelcontextprotocol/inspector node build/index.js

    Visit the MCP Inspector URL shown in the console in your browser. Change Arguments to dist/index.js and select Connect. Select List Tools to see the available tools.

Using Tools in GitHub Copilot

  1. Now that the mcp server is discoverable, open GitHub Copilot and select the Agent mode (not Chat or Edits).

  2. Select the "refresh" button in the Copilot chat text field to refresh the server list.

  3. Select the "πŸ› οΈ" button to see all the possible tools, including the ones from this repo.

  4. Put a question in the chat that would naturally invoke one of the tools, for example:

    How do I set my VS Code accent colors?

    Note: If you see "Sorry, the response was filtered by the Responsible AI Service. Please rephrase your prompt and try again.", try running it again or rephrasing the prompt.

Available Tools

1 tool
fetch-peacock-docsB

Fetches the Peacock for VS Code extension docs from its GitHub repository and answers questions based on the documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe question to answer based on the Peacock documentation

TDQS

B3.3/5.0
Behavior2/5

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

The description does not disclose how answers are generated, source repository specifics (branch, version), caching, error handling, or rate limits. With no annotations, the description carries full burden and is insufficient.

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 that is concise, though slightly run-on. No wasted words, but could be structured more clearly.

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 one parameter and no output schema, the description should explain what the tool returns and how it works. It mentions 'answers questions' but not the format or completeness. Additional details are needed.

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% and the description adds little beyond the schema's own description of the 'query' parameter. Baseline 3 as schema does the heavy lifting.

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 it fetches Peacock documentation and answers questions, with a specific verb and resource. No sibling tools exist, so differentiation is not required.

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?

No explicit guidance on when to use or not use this tool, but the purpose is implied. Since there are no sibling tools, the lack of alternatives is acceptable, but prerequisites or context are missing.

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

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. An agent will always select this tool correctly when needed.

Naming Consistency5/5

The single tool uses a clear verb_noun pattern (fetch-peacock-docs), which is consistent and descriptive. As there is only one tool, naming consistency is not an issue.

Tool Count3/5

One tool is minimal for a server, but it may be acceptable if the entire functionality is covered by a single combined action (fetching docs and answering questions). However, it feels thin compared to typical MCP servers that offer multiple operations.

Completeness4/5

The tool appears to fully cover its stated purpose: fetching Peacock documentation and answering questions about it. There is no obvious missing functionality for a Q&A tool over static docs, though a separate fetch tool could be argued.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnpapa/peacock-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server