PluginBench
MCP Server
Maintained

Claude Code Explorer MCP MCP Server

io.github.divu2025/codemaster

Explore the leaked Claude Code CLI source — tools, commands, and architecture — via MCP.

What is the Claude Code Explorer MCP MCP server?

Claude Code Explorer MCP is a Model Context Protocol server that lets AI coding assistants (Claude Code, Claude Desktop, VS Code Copilot, Cursor) browse and query the leaked source code of Anthropic's Claude Code CLI. It exposes tools to list agent tools/commands, read tool and command source files, search across the codebase, and get architecture overviews, plus prompts for explaining tools, commands, and subsystems.

This MCP server indexes the ~1,900-file, 512,000+ line leaked TypeScript source of the Claude Code CLI and exposes it to MCP-compatible clients for interactive exploration. Instead of manually grepping through the repo, you can ask an AI assistant to list all agent tools/slash commands, fetch the source of a specific tool or command, search the codebase, browse directories, or get a high-level architecture summary — useful for reverse-engineering, learning how Claude Code's internals (tool system, permission model, MCP integration, bridge system) work.

How to install Claude Code Explorer MCP

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "codemaster": {
      "command": "node",
      "args": [
        "-y",
        "@divyesh2000/codemaster"
      ]
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "codemaster": {
      "command": "node",
      "args": [
        "-y",
        "@divyesh2000/codemaster"
      ]
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "codemaster": {
      "command": "node",
      "args": [
        "-y",
        "@divyesh2000/codemaster"
      ]
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "codemaster": {
      "type": "stdio",
      "command": "node",
      "args": [
        "-y",
        "@divyesh2000/codemaster"
      ]
    }
  }
}
Claude Code
claude mcp add codemaster -- node -y @divyesh2000/codemaster

Tools & capabilities

Tools this server exposes to the agent.

  • list_toolsList all ~40 agent tools with source files
  • list_commandsList all ~50 slash commands with source files
  • get_tool_sourceRead full source of any tool (e.g. BashTool, FileEditTool)
  • get_command_sourceRead source of any slash command (e.g. review, mcp)
  • read_source_fileRead any file from src/ by path
  • search_sourceGrep across the entire source tree
  • list_directoryBrowse src/ directories
  • get_architectureHigh-level architecture overview

Use cases

  • Look up how a specific Claude Code tool (e.g. BashTool, FileEditTool) is implemented
  • List and search all ~40 agent tools or ~50 slash commands with their source files
  • Grep across the entire leaked source tree for a keyword or pattern
  • Get a guided high-level architecture overview of the Claude Code CLI
  • Compare two tools side-by-side or understand a subsystem like permissions, MCP, or the bridge system

Claude Code Explorer MCP MCP server FAQ

What does the Claude Code Explorer MCP server do?

It gives MCP-compatible AI clients (Claude Code, Claude Desktop, VS Code, Cursor) tools to browse, search, and read the leaked source code of Anthropic's Claude Code CLI, including its tools, commands, and architecture.

Is it free to use?

Yes, it's an open-source npm package (warrioraashuu-codemaster) that you can install and run locally at no cost.

How do I install it in Claude Code?

Run `claude mcp add warrioraashuu-codemaster -- npx -y warrioraashuu-codemaster`, or build from source and register it with `claude mcp add claude-code-explorer -- node /path/to/mcp-server/dist/index.js`.

How do I install it in Cursor?

Add an entry to `~/.cursor/mcp.json` pointing to the built server, e.g. command `node` with args pointing to `mcp-server/dist/index.js`, same format as the Claude Desktop config shown in the README.

Does it require authentication?

No authentication is required; it's a local stdio server that reads source files from a configurable `CLAUDE_CODE_SRC_ROOT` path.

Can I point it at a custom source directory?

Yes, set the `CLAUDE_CODE_SRC_ROOT` environment variable when adding the server to point it at any local source path.

README (reference)

Source of truth, from the repository.

<div align="center">

Claude Code — Leaked Source

The full source code of Anthropic's Claude Code CLI, leaked on March 31, 2026

TypeScript Bun React + Ink Files MCP Server npm Twitter Follow

The original unmodified leaked source is preserved in the backup branch.

</div>
<!-- <div align="center"> <table> <tr> `Spend less time reading code, more time building.` <td width="120" align="center"> <img src="https://repoxray.devdisplay.org/logo.png" width="80" height="80" alt="RepoXray Logo"/> </td> <td> <h2 align="center">Understand Any Codebase<br>X-Ray Any Repo, in Seconds.<br> <a href="https://repoxray.devdisplay.org/"><strong>repoxray.devdisplay.org</strong></a></h2> </td> </tr> </table> </div> --- -->

Table of Contents


How It Leaked

Chaofan Shou (@Fried_rice) discovered that the published npm package for Claude Code included a .map file referencing the full, unobfuscated TypeScript source — downloadable as a zip from Anthropic's R2 storage bucket.

"Claude code source code has been leaked via a map file in their npm registry!"

@Fried_rice, March 31, 2026


What Is Claude Code?

Claude Code is Anthropic's official CLI tool for interacting with Claude directly from the terminal — editing files, running commands, searching codebases, managing git workflows, and more. This repository contains the leaked src/ directory.

Leaked2026-03-31
LanguageTypeScript (strict)
RuntimeBun
Terminal UIReact + Ink
Scale~1,900 files · 512,000+ lines of code

� Documentation

For in-depth guides, see the docs/ directory:

GuideDescription
ArchitectureCore pipeline, startup sequence, state management, rendering, data flow
Tools ReferenceComplete catalog of all ~40 agent tools with categories and permission model
Commands ReferenceAll ~85 slash commands organized by category
Subsystems GuideDeep dives into Bridge, MCP, Permissions, Plugins, Skills, Tasks, Memory, Voice
Exploration GuideHow to navigate the codebase — study paths, grep patterns, key files

Also see: CONTRIBUTING.md · MCP Server README


�🔍 Explore with MCP Server

This repo ships an MCP server that lets any MCP-compatible client (Claude Code, Claude Desktop, VS Code Copilot, Cursor) explore the full source interactively.

Install from npm

The MCP server is published as warrioraashuu-codemaster on npm — no need to clone the repo:

# Claude Code
claude mcp add warrioraashuu-codemaster -- npx -y warrioraashuu-codemaster

One-liner setup (from source)

git clone https://github.com/codeaashu/claude-code.git ~/claude-code \
  && cd ~/claude-code/mcp-server \
  && npm install && npm run build \
  && claude mcp add claude-code-explorer -- node ~/claude-code/mcp-server/dist/index.js
<details> <summary><strong>Step-by-step setup</strong></summary>
# 1. Clone the repo
git clone https://github.com/codeaashu/claude-code.git
cd claude-code/mcp-server

# 2. Install & build
npm install && npm run build

# 3. Register with Claude Code
claude mcp add claude-code-explorer -- node /absolute/path/to/claude-code/mcp-server/dist/index.js

Replace /absolute/path/to/claude-code with your actual clone path.

</details> <details> <summary><strong>VS Code / Cursor / Claude Desktop config</strong></summary>

VS Code — add to .vscode/mcp.json:

{
  "servers": {
    "claude-code-explorer": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/mcp-server/dist/index.js"],
      "env": { "CLAUDE_CODE_SRC_ROOT": "${workspaceFolder}/src" }
    }
  }
}

Claude Desktop — add to your config file:

{
  "mcpServers": {
    "claude-code-explorer": {
      "command": "node",
      "args": ["/absolute/path/to/claude-code/mcp-server/dist/index.js"],
      "env": { "CLAUDE_CODE_SRC_ROOT": "/absolute/path/to/claude-code/src" }
    }
  }
}

Cursor — add to ~/.cursor/mcp.json (same format as Claude Desktop).

</details>

Available tools & prompts

ToolDescription
list_toolsList all ~40 agent tools with source files
list_commandsList all ~50 slash commands with source files
get_tool_sourceRead full source of any tool (e.g. BashTool, FileEditTool)
get_command_sourceRead source of any slash command (e.g. review, mcp)
read_source_fileRead any file from src/ by path
search_sourceGrep across the entire source tree
list_directoryBrowse src/ directories
get_architectureHigh-level architecture overview
PromptDescription
explain_toolDeep-dive into how a specific tool works
explain_commandUnderstand a slash command's implementation
architecture_overviewGuided tour of the full architecture
how_does_it_workExplain any subsystem (permissions, MCP, bridge, etc.)
compare_toolsSide-by-side comparison of two tools

Try asking: "How does the BashTool work?" · "Search for where permissions are checked" · "Show me the /review command source"

Custom source path / Remove

# Custom source location
claude mcp add claude-code-explorer -e CLAUDE_CODE_SRC_ROOT=/path/to/src -- node /path/to/mcp-server/dist/index.js

# Remove
claude mcp remove claude-code-explorer

Directory Structure

src/
├── main.tsx                 # Entrypoint — Commander.js CLI parser + React/Ink renderer
├── QueryEngine.ts           # Core LLM API caller (~46K lines)
├── Tool.ts                  # Tool type definitions (~29K lines)
├── commands.ts              # Command registry (~25K lines)
├── tools.ts                 # Tool registry
├── context.ts               # System/user context collection
├── cost-tracker.ts          # Token cost tracking
│
├── tools/                   # Agent tool implementations (~40)
├── commands/                # Slash command implementations (~50)
├── components/              # Ink UI components (~140)
├── services/                # External service integrations
├── hooks/                   # React hooks (incl. permission checks)
├── types/                   # TypeScript type definitions
├── utils/                   # Utility functions
├── screens/                 # Full-screen UIs (Doctor, REPL, Resume)
│
├── bridge/                  # IDE integration (VS Code, JetBrains)
├── coordinator/             # Multi-agent orchestration
├── plugins/                 # Plugin system
├── skills/                  # Skill system
├── server/                  # Server mode
├── remote/                  # Remote sessions
├── memdir/                  # Persistent memory directory
├── tasks/                   # Task management
├── state/                   # State management
│
├── voice/                   # Voice input
├── vim/                     # Vim mode
├── keybindings/             # Keybinding configuration
├── schemas/                 # Config schemas (Zod)
├── migrations/              # Config migrations
├── entrypoints/             # Initialization logic
├── query/                   # Query pipeline
├── ink/                     # Ink renderer wrapper
├── buddy/                   # Companion sprite (Easter egg 🐣)
├── native-ts/               # Native TypeScript utils
├── outputStyles/            # Output styling
└── upstreamproxy/           # Proxy configuration

Architecture

1. Tool System

src/tools/ — Every tool Claude can invoke is a self-contained module with its own input schema, permission model, and execution logic.

ToolDescription
File I/O
FileReadToolRead files (images, PDFs, notebooks)
FileWriteToolCreate / overwrite files
FileEditToolPartial modification (string replacement)
NotebookEditToolJupyter notebook editing
Search
GlobToolFile pattern matching
GrepToolripgrep-based content search
WebSearchToolWeb search
WebFetchToolFetch URL content
Execution
BashToolShell command execution
SkillToolSkill execution
MCPToolMCP server tool invocation
LSPToolLanguage Server Protocol integration
Agents & Teams
AgentToolSub-agent spawning
SendMessageToolInter-agent messaging
TeamCreateTool / TeamDeleteToolTeam management
TaskCreateTool / TaskUpdateToolTask management
Mode & State
EnterPlanModeTool / ExitPlanModeToolPlan mode toggle
EnterWorktreeTool / ExitWorktreeToolGit worktree isolation
ToolSearchToolDeferred tool discovery
SleepToolProactive mode wait
CronCreateToolScheduled triggers
RemoteTriggerToolRemote trigger
SyntheticOutputToolStructured output generation

2. Command System

src/commands/ — User-facing slash commands invoked with / in the REPL.

CommandDescriptionCommandDescription
/commitGit commit/memoryPersistent memory
/reviewCode review/skillsSkill management
/compactContext compression/tasksTask management
/mcpMCP server management/vimVim mode toggle
/configSettings/diffView changes
/doctorEnvironment diagnostics/costCheck usage cost
/login / /logoutAuth/themeChange theme
/contextContext visualization/shareShare session
/pr_commentsPR comments/resumeRestore session
/desktopDesktop handoff/mobileMobile handoff

3. Service Layer

src/services/ — External integrations and core infrastructure.

ServiceDescription
api/Anthropic API client, file API, bootstrap
mcp/Model Context Protocol connection & management
oauth/OAuth 2.0 authentication
lsp/Language Server Protocol manager
analytics/GrowthBook feature flags & analytics
plugins/Plugin loader
compact/Conversation context compression
extractMemories/Automatic memory extraction
teamMemorySync/Team memory synchronization
tokenEstimation.tsToken count estimation
policyLimits/Organization policy limits
remoteManagedSettings/Remote managed settings

4. Bridge System

src/bridge/ — Bidirectional communication layer connecting IDE extensions (VS Code, JetBrains) with the CLI.

Key files: bridgeMain.ts (main loop) · bridgeMessaging.ts (protocol) · bridgePermissionCallbacks.ts (permission callbacks) · replBridge.ts (REPL session) · jwtUtils.ts (JWT auth) · sessionRunner.ts (session execution)

5. Permission System

src/hooks/toolPermission/ — Checks permissions on every tool invocation.

Prompts the user for approval/denial or auto-resolves based on the configured permission mode: default, plan, bypassPermissions, auto, etc.

6. Feature Flags

Dead code elimination at build time via Bun's bun:bundle:

import { feature } from 'bun:bundle'

const voiceCommand = feature('VOICE_MODE')
  ? require('./commands/voice/index.js').default
  : null

Notable flags: PROACTIVE · KAIROS · BRIDGE_MODE · DAEMON · VOICE_MODE · AGENT_TRIGGERS · MONITOR_TOOL


Key Files

FileLinesPurpose
QueryEngine.ts~46KCore LLM API engine — streaming, tool loops, thinking mode, retries, token counting
Tool.ts~29KBase types/interfaces for all tools — input schemas, permissions, progress state
commands.ts~25KCommand registration & execution with conditional per-environment imports
main.tsxCLI parser + React/Ink renderer; parallelizes MDM, keychain, and GrowthBook on startup

Tech Stack

CategoryTechnology
RuntimeBun
LanguageTypeScript (strict)
Terminal UIReact + Ink
CLI ParsingCommander.js (extra-typings)
Schema ValidationZod v4
Code Searchripgrep (via GrepTool)
ProtocolsMCP SDK · LSP
APIAnthropic SDK
TelemetryOpenTelemetry + gRPC
Feature FlagsGrowthBook
AuthOAuth 2.0 · JWT · macOS Keychain

Design Patterns

<details> <summary><strong>Parallel Prefetch</strong> — Startup optimization</summary>

MDM settings, keychain reads, and API preconnect fire in parallel as side-effects before heavy module evaluation:

// main.tsx
startMdmRawRead()
startKeychainPrefetch()
</details> <details> <summary><strong>Lazy Loading</strong> — Deferred heavy modules</summary>

OpenTelemetry (~400KB) and gRPC (~700KB) are loaded via dynamic import() only when needed.

</details> <details> <summary><strong>Agent Swarms</strong> — Multi-agent orchestration</summary>

Sub-agents spawn via AgentTool, with coordinator/ handling orchestration. TeamCreateTool enables team-level parallel work.

</details> <details> <summary><strong>Skill System</strong> — Reusable workflows</summary>

Defined in skills/ and executed through SkillTool. Users can add custom skills.

</details> <details> <summary><strong>Plugin Architecture</strong> — Extensibility</summary>

Built-in and third-party plugins loaded through the plugins/ subsystem.

</details>

GitPretty Setup

<details> <summary>Show per-file emoji commit messages in GitHub's file UI</summary>
# Apply emoji commits
bash ./gitpretty-apply.sh .

# Optional: install hooks for future commits
bash ./gitpretty-apply.sh . --hooks

# Push as usual
git push origin main
</details>

Contributing

Contributions to documentation, the MCP server, and exploration tooling are welcome. See CONTRIBUTING.md for guidelines.

Note: The src/ directory is the original leaked source and should not be modified.


Disclaimer

This repository archives source code leaked from Anthropic's npm registry on 2026-03-31. All original source code is the property of Anthropic. This is not an official release and is not licensed for redistribution. Contact aashuu ✦ for any comments.


<a href="https://www.star-history.com/?repos=codeaashu%2Fclaude-code&type=date&legend=bottom-right"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&theme=dark&legend=bottom-right" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&legend=bottom-right" /> <img alt="Star History Chart" src="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&legend=bottom-right" /> </picture> </a>

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →
Claude Code Explorer MCP MCP Server | PluginBench