クロード・コード 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 モジュールとして利用できます。
Related MCP server: Gemini MCP
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 startMCPクライアントでの使用
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 ツールには、 curl 、 wgetなどの潜在的に危険なコマンドの実行を防ぐセキュリティ制限が含まれています。
ファイル読み取り
{
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実装は、次の主要な原則に従います。
モジュール性: 各コンポーネント(ツール、プロンプト、リソース)は個別のモジュールに実装されます。
型安全性: すべてのコンポーネントの完全なTypeScript型定義
エラー処理: すべての操作に対する包括的なエラー処理
セキュリティ: 潜在的に危険な操作に対するセキュリティ制限
実装の詳細
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サーバーとして独立して実装したものです。