Deskaid

local-only server

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

Integrations

  • Uses Git version control to track changes made by Claude, ensuring all code modifications can be rolled back

  • Supports running tests with pytest-style test selectors through custom commands

コードmcp

codemcp をインストールすれば、Claude Desktop をペアプログラミングアシスタントとして使えます。codemcp を使えば、Claude にあなたのコンピュータ上のコードベースで機能の実装、バグ修正、リファクタリングを直接依頼できます。Claude は直接ファイルを編集し、テストを実行します。Claude のチャットウィンドウにコードをコピーしたりコピーしたりする必要はもうありません!

codemcp は他の AI コーディング ソフトウェア (Claude Code、Cursor、Cline、Aider) と同様の機能を提供しますが、設計空間において独自の位置を占めています。

  1. これは、Anthropicの月額20ドルのサブスクリプションサービスであるClaude Proと併用することを目的としています。高額なAPI料金とはおさらばです。(時間ベースのレート制限にようこそ。)
  2. 安全性の高いエージェントAIを基盤として構築されており、有用で誠実、かつ無害なLLMが悪用する可能性が低い限定的なツールセットを提供し、Gitバージョン管理の使用といったベストプラクティスを適用することで、すべてのコード変更をロールバックできるようにしています。その結果、 AIを安全に実行し、変更を受け入れるかどうかを最後に判断するだけで済みます。
  3. これはIDE に依存しません。Claude に変更を依頼すると、変更が実行され、その後、お気に入りの IDE 設定を使用して変更を確認し、さらに編集することができます。

はじめる

まず、 uv をインストールしgit がまだインストールされていない場合はインストールします(Windows で Git をインストールした場合は、再起動することをお勧めします)。

次に、 claude_desktop_config.jsonで次の操作を行います。

{ "mcpServers": { "codemcp": { "command": "/Users/<username>/.local/bin/uvx", "args": [ "--from", "git+https://github.com/ezyang/codemcp@prod", "codemcp" ] } } }

Windows では、パスに二重のバックスラッシュが必要です。

C:\\Users\\<username>\\.local\\bin\\uvx.exe

JSONを変更した後、Claudeデスクトップアプリを再起動してください。MCPが正常に読み込まれると、ハンマーアイコンが表示され、クリックすると「codemcp」が表示されます。

pipを使ったグローバルインストール

uv を使いたくない場合は、グローバルに pip を使って最新の codemcp バージョンをインストールすることもできます。ただし、グローバル Python インストールが十分に新しいバージョン(Python 3.12)であり、codemcp と競合する Python 依存関係がないことが前提です。一部のユーザーからは、Windows ではこの方法の方が簡単に動作させることができたという報告があります。

  1. pip install git+https://github.com/ezyang/codemcp@prod
  2. claude_desktop_config.jsonファイルに次の設定を追加します。
{ "mcpServers": { "codemcp": { "command": "python", "args": ["-m", "codemcp"] } } }
  1. Claudeデスクトップを再起動します

アップデートを取得するには、 pip install --upgrade git+https://github.com/ezyang/codemcp@prodを使用して codemcp を手動でアップグレードする必要があります。

その他のヒント

ヒント:サーバーの読み込みに失敗した場合は、「設定」>「開発」>「codemcp」>「ログ」に移動してMCPログを確認してください。デバッグに非常に役立ちます。Windowsの場合、ログはC:\Users\<user_name>\AppData\Roaming\Claude\logsに保存されているはずです( <user_name>はユーザー名に置き換えてください)。

プロのヒント: Windows で、ログに「Git 実行ファイルが見つかりません。Git がインストールされ、使用可能であることを確認してください」と表示され、Git をインストールしたばかりの場合は、マシンを再起動してください (PATH の更新が伝播されていません)。それでも問題が解決しない場合は、[システム プロパティ] > [環境変数] > [システム変数] > [パス] を開いて、Git のエントリがあることを確認してください。

プロのヒント:危険を冒してでもやりたいなら、 prodmainに変更することもできます。特定のリリースに固定したい場合は、 0.3.0などに置き換えてください。

プロのヒント: コマンドとしてuvxのみを指定することがサポートされていますが、uvx はグローバル PATH に含まれている必要があります (シェル プロファイル経由で追加しただけでは不十分)。OS X では、セルフインストーラーを使用した場合 ( /usr/local/binなどのシステムの場所にインストールしない限り)、通常はこれに該当しません。

使用法

まず、作業対象のGitリポジトリのチェックアウトにcodemcp.tomlファイルを作成する必要があります。エージェントにフォーマッタの実行やテストの実行などを実行させたい場合は、コマンドセクションに実行コマンドを追加します(注:これらのコマンドは、必要な仮想環境を適切に設定する必要があります)。

format = ["./run_format.sh"] test = ["./run_test.sh"]

次に、Claude Desktop でプロジェクトを作成し、これをプロジェクトの指示に含めることをお勧めします。

Initialize codemcp with $PROJECT_DIR

ここで、 $PROJECT_DIR作業するプロジェクトへのパスです。

その後、Claude とチャットして、プロジェクトにどのような変更を加えたいかを伝えましょう。codemcp がコードに変更を加えるたびに、コミットが生成されます。

claude.aiウェブインターフェースの使用

SSE サーバーを実行することにより、claude.ai の Claude Web インターフェースで codemcp を使用することもできます。

codemcp serve

これにより、claude.ai から接続可能なポート 8000 でローカル SSE サーバーが起動します。サーバーは claude.ai に対してデフォルトで CORS が有効になっています。ホスト、ポート、および許可する CORS オリジンをカスタマイズできます。

codemcp serve --host 0.0.0.0 --port 8765 --cors-origin https://claude.ai --cors-origin https://example.com

このツールを使用したサンプルのトランスクリプトを見るには、以下をご覧ください。

codemcp はチャットごとにコミットを生成し、機能の作業に合わせてそれを修正します。

哲学

  • レート制限を受けたら、他のことに時間を割いてください(Claude のコードのレビュー、他の人のコードのレビュー、計画を立てる、会議を行うなど)。
  • これは自律的なエージェントではありません。少なくとも、チャットのたびに介入して変更内容を確認し、次の変更を依頼する必要があります。1回のチャットで多くの作業を依頼することはできますが、Claude Desktopの出力制限に達し、エージェントを手動で「続行」する必要がある可能性が高くなります。この状況を受け入れ、中断を利用してClaudeが適切な対応をしているか確認しましょう。
  • クロードが軌道から外れると、金銭的な損失ではなく時間的な損失になります。状況に応じて行動しましょう。時間がボトルネックになっている場合は、クロードの増分出力を注意深く監視してください。

構成

codemcp.tomlでサポートされているすべての設定オプションは次のとおりです。

project_prompt = """ Before beginning work on this feature, write a short haiku. Do this only once. """ [commands] format = ["./run_format.sh"] test = ["./run_test.sh"]

チャットでプロジェクトを初期化すると、 project_promptが読み込まれます。

commandsセクションでは、特定のツールのコマンドを設定できます。コマンド名はLLMに伝えられ、LLMはコマンドをいつ実行するかを決定します。project_prompt project_promptはツールの使用方法の説明を追加できます。また、ツールごとに具体的な指示を指定できる、より詳細な構文もサポートしています。

[commands.test] command = ["./run_test.sh"] doc = "Accepts a pytest-style test selector as an argument to run a specific test."

トラブルシューティング

インスペクタを使用してサーバーを実行するには、次を使用します。

PYTHONPATH=. mcp dev codemcp/__main__.py

ログは~/.codemcp/codemcp.logに書き込まれます。ログレベルは~/.codemcprcにあるグローバル設定ファイルで設定できます。

[logger] verbosity = "INFO" # Can be DEBUG, INFO, WARNING, ERROR, or CRITICAL

ログ記録はプロジェクトごとに構成できませんが、Claude Desktop を複数のプロジェクトで並行して使用することは難しいため、これはあまり問題にはなりません。

貢献

CONTRIBUTING.mdを参照してください。

型チェック

このプロジェクトでは、型チェックにpyrightを使用し、厳密モードを有効にしています。型チェックの設定はpyproject.tomlにあります。型安全性を維持するために、いくつかの戦略を採用しています。

  1. 外部ライブラリの型スタブ:
    • カスタム型スタブはstubs/ディレクトリにあります
    • pyproject.tomlstubPackages設定はライブラリをスタブパッケージにマッピングします。
  2. 困難なケースに対するファイル固有の無視:
    • 複雑な動的型付けパターンを持つファイル(特にテストコード)については、 pyproject.tomltool.pyright.ignoreExtraErrorsを介してファイル固有の無視を使用します。
    • これはインライン無視よりも優れており、コードベースの大部分で型の安全性を維持することができます。

変更を加えるときは、次のコマンドを実行して型チェックが成功することを確認してください。

./run_typecheck.sh

You must be authenticated.

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

Tools

ローカル ファイル システム上のファイルの読み取り、書き込み、編集用のツールを提供する MCP サーバー。

  1. Getting started
    1. Global install with pip
    2. Other tips
  2. Usage
    1. Using with claude.ai web interface
  3. Philosophy
    1. Configuration
      1. Troubleshooting
        1. Contributing
          1. Type Checking
            ID: vujkyr83by