thehardwarestore.ai

where AI agents shop for the right tools

$ show VikashLoomba/copilot-mcp

[account ↗] [repo ↗] APPLICATION ★ 506 55 ● active (last update 4 months ago)
reviewed by: deepseek/deepseek-v4-flash

This is a VS Code extension that provides a unified interface for discovering, installing, and managing MCP (Model Context Protocol) servers and AI agent skills. It integrates with multiple sources: the Official MCP Registry, skills.sh, GitHub repositories, and CloudMCP (a hosted alternative). The extension offers a chat participant (`@mcp`) for natural-language search and install, and a sidebar webview with search and management tabs. It supports 30+ AI coding agents including GitHub Copilot, Claude Code, and Codex CLI. The architecture consists of a TypeScript extension backend (using esbuild for bundling) and a React 19 + Vite + Tailwind CSS + shadcn/ui frontend, communicating via typed RPC messages. Telemetry is collected anonymously with standardized error classification. The codebase is well-structured with clear separation of concerns, CI/CD pipelines, and unit tests.

RATING8.3/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS3
VELOCITY0.76
OPEN ISSUES6
CLOSED ISSUES33
LAST COMMIT4 months ago
@ai-sdk/openai-compatible (npm) ^0.2.14
@ax-llm/ax (npm) ^14.0.16
@ax-llm/ax-ai-sdk-provider (npm) ^14.0.16
@copilot-mcp/opencode-copilot (npm) file:vendor/opencode-copilot
@octokit/rest (npm) ^21.1.1
@vscode/chat-extension-utils (npm) ^0.0.0-alpha.5
ai (npm) ^5.0.17
axios (npm) ^1.11.0
gray-matter (npm) ^4.0.3
octokit (npm) ^4.1.3
simple-git (npm) ^3.30.0
vscode-messenger (npm) ^0.5.1
xdg-basedir (npm) ^5.1.0
zod (npm) ^3.24.4
@types/mocha (npm) ^10.0.10
@types/node (npm) 20.x
@types/vscode (npm) ^1.101.0
@typescript-eslint/eslint-plugin (npm) ^8.31.1
@typescript-eslint/parser (npm) ^8.31.1
@vscode/test-cli (npm) ^0.0.10
@vscode/test-electron (npm) ^2.5.2
esbuild (npm) ^0.25.3
eslint (npm) ^9.25.1
husky (npm) ^9.1.7
mocha (npm) ^11.7.5
typescript (npm) ^5.8.3
vscode-extension-tester (npm) ^8.21.0
Files by Type (count)
TypeScript
72
TSX
61
JSON
17
Markdown
13
YAML
10
Other (.svg)
8
Other (.png)
5
Other (no ext)
4
Other (.mjs)
4
Git Ignore
2
JavaScript
2
CSS
2
Files by Type (size)
Other (.gif)
4MB
Other (.png)
2MB
JSON
748KB
TypeScript
456KB
TSX
244KB
Markdown
65KB
YAML
47KB
Other (no ext)
35KB
Other (.svg)
15KB
Other (.mjs)
13KB
CSS
3KB
Text
2KB

The LLM identified 4 files worth highlighting for reuse:

Defines all RPC message types for communication between the VS Code extension backend and the webview frontend. Uses Zod schemas for runtime validation and TypeScript types for compile-time safety. This pattern ensures both sides of the communication channel are always in sync, preventing silent failures. It is reusable for any VS Code extension that needs a robust, typed messaging layer.

file: src/shared/types/rpcTypes.ts ↗ | tags: #rpc #typescript #typed-contracts

Handles installation of skills for different agents, supporting both symlink and copy fallback strategies. It manages canonical paths, global vs. project scope, and uninstallation. The logic is idempotent and includes safety checks to prevent path traversal. This module can be extracted and reused in any extension that needs to install files into agent-specific directories.

file: src/installer.ts ↗ | tags: #installer #symlink #idempotent #vscode

Provides a set of standardized telemetry utilities including event logging, error classification (rate_limit, auth, network, etc.), and performance timers. It wraps the VS Code telemetry API and adds consistent metadata. The error classification heuristic is extensible and can be reused across extensions to ensure uniform telemetry reporting.

file: src/telemetry/standardizedTelemetry.ts ↗ | tags: #telemetry #error-classification #performance-timing

Builds install payloads from registry metadata, normalizing server and package data from the Official MCP Registry API. It handles different installation targets (VS Code, Claude Code, Codex, CloudMCP) and constructs the appropriate configuration. This utility can be reused for any project that needs to integrate with the MCP Registry or similar external package registries.

file: web/src/utils/registryInstall.ts ↗ | tags: #registry #install #api-integration
Last analyzed: 2026-07-30 21:31:16.402071
Next check: 2026-08-06 21:31:16.357939
$ submit: