1. Conduid
  2. Developer Tools
  3. Claude Code CLI
MCP server · Developer Tools

Claude Code CLI

这是 Claude Code 的 CLI 客户端主体(src/ 目录),即整个终端交互层的源码。具体包含: 1. CLI 入口与命令解析 — main.tsx(4684行)、entrypoints/(CLI 模式、SDK 模式、MCP 模式) 2. 终端 UI 渲染 — components/(144 个组件,用 React + Ink 渲染终端界面) 3. 工具系统 — tools/(43 个工具,Bash、文件读写编辑、Grep、Glob、Web 搜索等) 4. API 通信层 — services/api/(与 Anthropic 后端通信) 5. MCP 协议 6. 多 Agent/Team 协作 l 7. 认证与策略 8. 辅助服务 等

Unclaimed last commit 6 months ago devtools
59Fair

Scored 2 months ago · breakdown

About Claude Code CLI

Claude Code CLI is an MCP server published by TaGoat in the Developer Tools category: 这是 Claude Code 的 CLI 客户端主体(src/ 目录),即整个终端交互层的源码。具体包含: 1. CLI 入口与命令解析 — main.tsx(4684行)、entrypoints/(CLI 模式、SDK 模式、MCP 模式) 2. 终端 UI 渲染 — components/(144 个组件,用 React + Ink 渲染终端界面) 3. 工具系统 — tools/(43 个工具,Bash、文件读写编辑、Grep、Glob、Web 搜索等) 4. API 通信层 — services/api/(与 Anthropic 后端通信) 5. MCP 协议 6. 多 Agent/Team 协作 l 7. 认证与策略 8. 辅助服务 等.

The repository has 104 stars and 144 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/TaGoat/claude_code_cli

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (6)

get_architectureHigh-level architecture overview

Parameters not published.

get_command_sourceRead source of any slash command (e.g. review, mcp)

Parameters not published.

list_commandsList all ~50 slash commands with source files

Parameters not published.

list_directoryBrowse `src/` directories

Parameters not published.

read_source_fileRead any file from `src/` by path

Parameters not published.

search_sourceGrep across the entire source tree

Parameters not published.

Ask AI

✦

Ask AI about Claude Code CLI

Powered by Claude · Grounded in docs

I know everything about Claude Code CLI. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Claude Code CLI

TypeScript Bun Files MCP Server License

The raw imported snapshot is preserved in this repository's backup branch. The main branch contains added documentation, tooling, and repository metadata.


Table of Contents


What Is Claude Code?

Claude Code is an official CLI tool for interacting with Claude directly from the terminal: editing files, running commands, searching codebases, managing git workflows, and more.

Language TypeScript (strict)
Runtime Bun
Terminal UI React + Ink
Scale ~1,900 files · 512,000+ lines of code

Documentation

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

Guide Description
Architecture Core pipeline, startup sequence, state management, rendering, data flow
Tools Reference Complete catalog of all ~40 agent tools with categories and permission model
Commands Reference All ~85 slash commands organized by category
Subsystems Guide Deep dives into Bridge, MCP, Permissions, Plugins, Skills, Tasks, Memory, Voice
Exploration Guide How to navigate the codebase — study paths, grep patterns, key files

Also see: CONTRIBUTING.md · MCP Server README


Explore with MCP Server

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

Install from npm

The MCP server is published as claude-code-explorer-mcp on npm — no need to clone the repo:

# Claude Code
claude mcp add claude-code-explorer -- npx -y claude-code-explorer-mcp

One-liner setup (from source)

git clone https://github.com/TaGoat/claude_code_cli.git ~/claude_code_cli \
  && cd ~/claude_code_cli/mcp-server \
  && npm install && npm run build \
  && claude mcp add claude-code-explorer -- node ~/claude_code_cli/mcp-server/dist/index.js
# 1. Clone the repo
git clone https://github.com/TaGoat/claude_code_cli.git
cd claude_code_cli/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-source-code/mcp-server/dist/index.js

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

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-source-code/mcp-server/dist/index.js"],
      "env": { "CLAUDE_CODE_SRC_ROOT": "/absolute/path/to/claude-code-source-code/src" }
    }
  }
}

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

Available tools & prompts

Tool Description
list_tools List all ~40 agent tools with source files
list_commands List all ~50 slash commands with source files
get_tool_source Read full source of any tool (e.g. BashTool, FileEditTool)
get_command_source Read source of any slash command (e.g. review, mcp)
read_source_file Read any file from src/ by path
search_source Grep across the entire source tree
list_directory Browse src/ directories
get_architecture High-level architecture overview
Prompt Description
explain_tool Deep-dive into how a specific tool works
explain_command Understand a slash command's implementation
architecture_overview Guided tour of the full architecture
how_does_it_work Explain any subsystem (permissions, MCP, bridge, etc.)
compare_tools Side-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.

Tool Description
File I/O
FileReadTool Read files (images, PDFs, notebooks)
FileWriteTool Create / overwrite files
FileEditTool Partial modification (string replacement)
NotebookEditTool Jupyter notebook editing
Search
GlobTool File pattern matching
GrepTool ripgrep-based content search
WebSearchTool Web search
WebFetchTool Fetch URL content
Execution
BashTool Shell command execution
SkillTool Skill execution
MCPTool MCP server tool invocation
LSPTool Language Server Protocol integration
Agents & Teams
AgentTool Sub-agent spawning
SendMessageTool Inter-agent messaging
TeamCreateTool / TeamDeleteTool Team management
TaskCreateTool / TaskUpdateTool Task management
Mode & State
EnterPlanModeTool / ExitPlanModeTool Plan mode toggle
EnterWorktreeTool / ExitWorktreeTool Git worktree isolation
ToolSearchTool Deferred tool discovery
SleepTool Proactive mode wait
CronCreateTool Scheduled triggers
RemoteTriggerTool Remote trigger
SyntheticOutputTool Structured output generation

2. Command System

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

Command Description Command Description
/commit Git commit /memory Persistent memory
/review Code review /skills Skill management
/compact Context compression /tasks Task management
/mcp MCP server management /vim Vim mode toggle
/config Settings /diff View changes
/doctor Environment diagnostics /cost Check usage cost
/login / /logout Auth /theme Change theme
/context Context visualization /share Share session
/pr_comments PR comments /resume Restore session
/desktop Desktop handoff /mobile Mobile handoff

3. Service Layer

src/services/ — External integrations and core infrastructure.

Service Description
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.ts Token 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

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

Tech Stack

Category Technology
Runtime Bun
Language TypeScript (strict)
Terminal UI React + Ink
CLI Parsing Commander.js (extra-typings)
Schema Validation Zod v4
Code Search ripgrep (via GrepTool)
Protocols MCP SDK · LSP
API Anthropic SDK
Telemetry OpenTelemetry + gRPC
Feature Flags GrowthBook
Auth OAuth 2.0 · JWT · macOS Keychain

Design Patterns

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

// main.tsx
startMdmRawRead()
startKeychainPrefetch()

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

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

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

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


GitPretty Setup

# 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

Contributing

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

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Claude Code CLI

How do I install Claude Code CLI?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Claude Code CLI safe to use with an AI agent?

Its trust score is 59 out of 100 (fair). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Claude Code CLI still maintained?

The last commit was 6 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.