Skip to content
Agentmart
Submit a tool

CLAUDE.md · VikashLoomba/copilot-mcp

CLAUDE.md from VikashLoomba/copilot-mcp: 158 lines covering Project Overview, Development Commands, Architecture Overview, Development Guidelines and more.

Template by VikashLoomba

IndexedGPL-3.0★ 505
Write a review

Chalk Labs

Need help deploying CLAUDE.md · VikashLoomba/copilot-mcp?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code. Read the repository before you give any tool access to your data.

curl -fsSL https://raw.githubusercontent.com/VikashLoomba/copilot-mcp/main/CLAUDE.md -o CLAUDE.md

Read it and adapt it to your project before use.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The CLAUDE.md file that VikashLoomba/copilot-mcp (505 stars) keeps for coding agents. It has 158 lines in 5 sections: Project Overview; Development Commands; Architecture Overview; Development Guidelines; CloudMCP Integration Architecture. Use it as a model for your own project's instructions.

Use cases: prompt-engineering

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

What's in it

A CLAUDE.md file: project memory Claude Code loads at the start of every session.

For
Claude Code
Length
158 lines
File
CLAUDE.md

Sections

  1. Project Overview
  2. Development Commands
  3. Architecture Overview
  4. Development Guidelines
  5. CloudMCP Integration Architecture

First lines (shown under the repo's GPL-3.0 license)

# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

Copilot MCP is a VSCode extension that enables searching, managing, and installing Model Context Protocol (MCP) servers. It extends GitHub Copilot Chat's capabilities by providing a chat participant interface and a sidebar UI for MCP server discovery.

## Development Commands

### Root Directory Commands
```bash
# Install dependencies for both extension and web UI
npm run install:all

# Build both extension and web UI
npm run build:all

# Development mode - watch for changes
npm run watch

# Run tests
npm run test

# Lint the codebase
npm run lint

# Package extension for production
npm run package

# Create VSIX package for distribution
npm run package-extension
```

### Web UI Commands (from /web directory)
```bash
# Start development server
npm run start

# Build for production
npm run build

# Run linting
npm run lint
```

## Architecture Overview

### Extension Structure
- **Entry Point**: `src/extension.ts` - Activates extension, registers chat participant and webview
- **Chat Participant**: `src/McpAgent.ts` - Handles `@mcp` chat commands (`/search`, `/install`)
- **Webview Panel**: `src/panels/ExtensionPanel.ts` - Manages sidebar UI communication
- **GitHub Integration**: `src/utilities/repoSearch.ts` - Searches GitHub for MCP servers
- **Copilot Integration**: `src/utilities/CopilotChat.ts` - Interfaces with GitHub Copilot

### Web UI Structure
- Separate React application in `/web/` directory
- Built with Vite, React 19, TypeScript, and Tailwind CSS
- Uses shadcn/ui component library
- Communicates with extension via VSCode postMessage API

### Key Technologies
- **Build**: esbuild for extension bundling, Vite for web UI
- **AI/LLM**: @ax-llm/ax agent framework, AI SDK for model interactions
- **Testing**: VSCode test framework with Mocha
- **Telemetry**: Application Insights and OpenTelemetry integration

## Development Guidelines

### Testing Changes
1. Run `npm run watch` in root directory for continuous builds
2. Press F5 in VSCode to launch Extension Development Host
3. Test chat participant with `@mcp /search <query>` or `@mcp /install <repo>`
4. Test sidebar UI functionality

### Code Conventions
- TypeScript strict mode enabled
- ESLint configuration in `eslint.config.mjs`
- React components use function components with TypeScript
- Telemetry events follow consistent naming: `mcp_<action>_<target>`

### Important Files
- `package.json` - Extension manifest and scripts
- `src/types/registry.ts` - MCP server registry types
- `src/shared/types/rpcTypes.ts` - VSCode messaging types
- `web/src/components/` - React UI components
- `src/utilities/cloudMcpIndexer.ts` - CloudMCP API integration for server indexing

## CloudMCP Integration Architecture

### Current Implementation (Individual Async Loading)

The architecture uses individual async loading where each repo card independently fetches its CloudMCP details:

1. **Search Flow**:
   - User enters search query in `SearchMCPServers.tsx`
   - Component sends `searchServersType` request to backend via vscode-messenger
   - `ExtensionPanel.ts` receives request and calls `searchMcpServers()` to get GitHub results
   - Results are returned immediately without CloudMCP details
   - Each `RepoCard` independently requests its CloudMCP status on mount

2. **Data Structures**:
   ```typescript
   // Search response (no CloudMCP details)
   {
     results: McpServerResult[],
     totalCount: number,
     currentPage: number,
     perPage: number
   }
   
   // Individual CloudMCP check request/response
   checkCloudMcpType: RequestType<{
     repoUrl: string;
     repoName: string;
     repoFullName?: string;
   }, CloudMcpCheckResult>
   
   // CloudMcpCheckResult structure
   {
     success: boolean,
     exists: boolean,
     installConfig?: {
       name: string,
       command: string,
       args: string[],
       env: Record<string, string>,
       inputs: InstallConfigInput[]
     },
     error?: string
   }
   ```

3. **Frontend Processing**:
   - `SearchMCPServers` renders results immediately without CloudMCP details
   - Each `RepoCard` fetches its own CloudMCP details via `checkCloudMcpType` request
   - Install button shows "Loading..." while `isLoadingCloudMcp` is true
   - Button enables when `cloudMcpDetails.success && cloudMcpDetails.installConfig`
   - Uses `setShouldShowInstallButton` to control install button visibility

4. **Caching Strategy**:
   - `CloudMcpIndexer` maintains a 5-minute TTL cache
   - Cache key uses `fullName` if available, otherwise `url`
   - Successful results are cached; failures are not cached
   - Cache prevents duplicate API calls for the same repository

### Benefits of Current Architecture
- **Instant search results**: Cards appear immediately with GitHub data
- **Progressive enhancement**: Install buttons activate as CloudMCP data arrives
- **Better perceived performance**: No waiting for batch processing
- **Efficient resource usage**: Only checks visible repositories
- **Smart caching**: Reduces redundant CloudMCP API calls

### Implementation Details
- **RPC Communication**: Uses `vscode-messenger` for type-safe messaging
- **Error Handling**: Failed CloudMCP checks don't block UI rendering
- **State Management**: Each RepoCard manages its own CloudMCP loading state
- **Telemetry**: Tracks cache hits/misses and CloudMCP check performance

Signals

Stars
505
Forks
55
Open issues
5
Last commit (this folder)
Jul 2, 2025 (1 year ago)
Last release
Jun 15, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
GPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from VikashLoomba

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get CLAUDE.md · VikashLoomba/copilot-mcp running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying CLAUDE.md · VikashLoomba/copilot-mcp?

CallGet help
Cite this page

CLAUDE.md · VikashLoomba/copilot-mcp. Agent Mart. https://agentmart.dev/templates/vikashloomba-copilot-mcp-claude-md (last updated 2026-10-24)