Claude Code MCP

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides capabilities for code review and project exploration, which likely involves Git integration

  • Server can be run using Node.js and provides environment information including Node.js version

  • Provides environment information including npm version

クロード・コード MCP

Claude Code MCPは、 Claude Codeモデルコンテキストプロトコル(MCP)サーバーとして実装したものです。このプロジェクトでは、標準化されたMCPインターフェースを通じて、Claude Codeの強力なソフトウェアエンジニアリング機能を利用できます。

⚠️免責事項⚠️

Claude Code MCP は、Claude Code のコードベースを分析し、MCP サーバーを生成するように促された DevinAI によって自動生成されたプロジェクトです。

これは概念実証であり、誰にも使用を勧めません。

クロード・コードとは何ですか?

Claude Codeは、ClaudeをベースにしたAnthropicのソフトウェアエンジニアリングタスク向けCLIツールです。開発者を支援するツールと機能のセットを提供します。

  • コード生成と編集
  • コードレビューと分析
  • デバッグとトラブルシューティング
  • ファイルシステム操作
  • シェルコマンドの実行
  • プロジェクトの探索と理解

元の実装は、Claude の API と対話するためのプロンプトとツールを定義する JavaScript モジュールとして利用できます。

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、AIモデル用の標準化されたインターフェースであり、異なるモデルやプロバイダー間で一貫したインタラクションパターンを実現します。MCPは次のものを定義します。

  • ツール: モデルがアクションを実行するために呼び出すことができる関数
  • リソース: モデルがアクセスできる外部データ
  • プロンプト: 事前定義された会話テンプレート

Claude Code を MCP サーバーとして実装することにより、その機能を MCP 互換のあらゆるクライアントで利用できるようになり、相互運用性と柔軟性が向上します。

特徴

  • Claude Code 機能を MCP サーバーとして完全に実装
  • ファイル操作、シェルコマンド、コード分析のためのツールを提供します
  • ファイルシステムと環境情報にアクセスするためのリソースを公開します
  • 一般的な CLI 操作とコードレビューのためのプロンプトが含まれています
  • あらゆるMCPクライアントと互換性あり
  • 完全な型安全性を備えたTypeScript実装

インストール

# Clone the repository git clone https://github.com/auchenberg/claude-code-mcp.git cd claude-code-mcp # Install dependencies npm install # Build the project npm run build

使用法

スタンドアロンサーバーとして実行

# Start the server npm start

MCPクライアントでの使用

Claude Code MCPは、どのMCPクライアントでも使用できます。MCP TypeScript SDKを使用して接続する方法の例を以下に示します。

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; const transport = new StdioClientTransport({ command: "node", args: ["dist/index.js"] }); const client = new Client( { name: "example-client", version: "1.0.0" }, { capabilities: { prompts: {}, resources: {}, tools: {} } } ); await client.connect(transport); // Use Claude Code through MCP const result = await client.callTool({ name: "bash", arguments: { command: "ls -la" } }); console.log(result);

利用可能なツール

Claude Code MCP は次のツールを提供します。

  • bash : セキュリティ制限とタイムアウトオプション付きでシェルコマンドを実行する
  • readFile : 行オフセットと制限のオプションを使用してファイルシステムからファイルを読み取ります
  • listFiles : 詳細なメタデータを含むファイルとディレクトリを一覧表示する
  • searchGlob : globパターンに一致するファイルを検索する
  • grep : 正規表現パターンをサポートしたファイル内のテキストを検索する
  • think : 複雑な問題を考えるためのノーオペレーションツール
  • codeReview : バグ、セキュリティ問題、ベストプラクティスについてコードを分析およびレビューします
  • editFile : 指定された内容のファイルを作成または編集する

ツールの詳細

バッシュ

{ command: string; // The shell command to execute timeout?: number; // Optional timeout in milliseconds (max 600000) }

bash ツールには、 curlwgetなどの潜在的に危険なコマンドの実行を防ぐセキュリティ制限が含まれています。

ファイル読み取り

{ file_path: string; // The absolute path to the file to read offset?: number; // The line number to start reading from limit?: number; // The number of lines to read }

サーチグロブ

{ pattern: string; // The glob pattern to match files against path?: string; // The directory to search in (defaults to current working directory) }

グレップ

{ pattern: string; // The regular expression pattern to search for path?: string; // The directory to search in (defaults to current working directory) include?: string; // File pattern to include in the search (e.g. "*.js", "*.{ts,tsx}") }

利用可能なリソース

  • file : ファイルの内容にアクセスする ( file://{path} )
    • 適切なエラー処理によりファイルの内容に直接アクセス可能
    • 指定されたファイルの全テキストコンテンツを返します
  • ディレクトリ: ディレクトリの内容を一覧表示します ( dir://{path} )
    • ファイル情報オブジェクトのJSON配列を返します
    • 各オブジェクトには、名前、パス、isDirectory、サイズ、変更日が含まれます。
  • environment : システム環境情報を取得する ( env://info )
    • システム環境に関する情報を返します
    • Node.js バージョン、npm バージョン、OS 情報、環境変数が含まれます

利用可能なプロンプト

  • generalCLI : Claude Code の一般的な CLI プロンプト
    • Claude が CLI ツールとして機能するための包括的なシステム プロンプトを提供します。
    • 口調、スタイル、積極性、慣習の遵守に関するガイドラインが含まれています
    • 環境の詳細を自動的に含めます
  • codeReview : コードのレビューを促す
    • コードレビュータスクに特化したプロンプト
    • バグ、セキュリティの脆弱性、パフォーマンスの問題、ベストプラクティスについてコードを分析します
  • prReview : プルリクエストのレビューを促す
    • PRレビュータスクに特化したプロンプト
    • PRの変更を分析し、包括的なフィードバックを提供します
  • initCodebase : コードベースのドキュメントを含む新しいCLAUDE.mdファイルを初期化します。
    • ビルド/lint/テストコマンドとコードスタイルガイドラインのドキュメントを作成します
    • Claude Codeで新しいプロジェクトを立ち上げる際に便利です

発達

# Run in development mode with auto-reload npm run dev

建築

Claude Code MCP はモジュラー アーキテクチャで構築されています。

claude-code-mcp/ ├── src/ │ ├── server/ │ │ ├── claude-code-server.ts # Main server setup │ │ ├── tools.ts # Tool implementations │ │ ├── prompts.ts # Prompt definitions │ │ └── resources.ts # Resource implementations │ ├── utils/ │ │ ├── bash.ts # Shell command utilities │ │ └── file.ts # File system utilities │ └── index.ts # Entry point ├── package.json ├── tsconfig.json └── README.md

実装は、次の主要な原則に従います。

  1. モジュール性: 各コンポーネント(ツール、プロンプト、リソース)は個別のモジュールに実装されます。
  2. 型安全性: すべてのコンポーネントの完全なTypeScript型定義
  3. エラー処理: すべての操作に対する包括的なエラー処理
  4. セキュリティ: 潜在的に危険な操作に対するセキュリティ制限

実装の詳細

MCPサーバーのセットアップ

メインサーバーはclaude-code-server.tsでセットアップされます。

export async function setupClaudeCodeServer(server: McpServer): Promise<void> { // Set up Claude Code tools setupTools(server); // Set up Claude Code prompts setupPrompts(server); // Set up Claude Code resources setupResources(server); }

ツールの実装

ツールは、MCP SDK のツール登録方法を使用して実装されます。

server.tool( "toolName", "Tool description", { // Zod schema for tool arguments param1: z.string().describe("Parameter description"), param2: z.number().optional().describe("Optional parameter description") }, async ({ param1, param2 }) => { // Tool implementation return { content: [{ type: "text", text: "Result" }] }; } );

リソース実装

リソースは、MCP SDK のリソース登録メソッドを使用して実装されます。

server.resource( "resourceName", new ResourceTemplate("resource://{variable}", { list: undefined }), async (uri, variables) => { // Resource implementation return { contents: [{ uri: uri.href, text: "Resource content" }] }; } );

ライセンス

マサチューセッツ工科大学

謝辞

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

免責事項

このプロジェクトはAnthropicと公式に提携していません。Claude CodeはAnthropicの製品であり、このプロジェクトはClaude CodeをMCPサーバーとして独立して実装したものです。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

標準化された MCP インターフェイスを通じて Claude のソフトウェア エンジニアリング機能 (コード生成、編集、レビュー、およびファイル操作) を使用できるようにするモデル コンテキスト プロトコル サーバーとしての Claude Code の実装。

  1. ⚠️ DISCLAIMER ⚠️
    1. What is Claude Code?
    2. What is MCP?
    3. Features
    4. Installation
    5. Usage
    6. Available Tools
    7. Available Resources
    8. Available Prompts
    9. Development
    10. Architecture
    11. Implementation Details
    12. License
    13. Acknowledgements
    14. Contributing
    15. Disclaimer
ID: nqo1hvazke