MCP Python Interpreter について
MCP Python Interpreter は、LLM が Python 環境を操作し、ファイルの読み書きや Python コードの実行を行えるようにする MCP サーバーです。開発ワークフローの中で AI アシスタントにコードを実行させたい開発者を対象としています。
主な機能
- 01システムと conda の Python 環境の一覧表示
- 02Python コードおよびスクリプトファイルの実行
- 03パッケージの一覧表示とインストール
- 04テキストファイルとバイナリファイルの読み書き
- 05一般的な Python タスク向けのプロンプトテンプレート
活用シーン
- 01指定した conda 環境での Python コードの実行
- 02AI アシスタントによる Python ファイルの作成や変更
- 03環境内の依存パッケージの確認とインストール
- 04プロンプトテンプレートを使った関数の作成とデバッグ
MCP 対応
本プロジェクトは MCP サーバーであり、run_python_code や read_file などのツール、python://environments などのリソース、プロンプトを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Python Interpreter
LLM が Python 環境と連携し、ファイルの読み書き、Python コードの実行、開発ワークフローの管理を行えるようにする Model Context Protocol(MCP)サーバーです。
機能
- 環境管理:さまざまな Python 環境(システム環境および conda 環境)の一覧表示と使用
- コード実行:利用可能な任意の環境で Python コードやスクリプトを実行
- パッケージ管理:インストール済みパッケージの一覧表示と新しいパッケージのインストール
- ファイル操作:
- あらゆる種類のファイル(テキスト、ソースコード、バイナリ)の読み取り
- テキストファイルとバイナリファイルの書き込み
- Python プロンプト:関数の作成やデバッグなど、一般的な Python タスク用のテンプレート
インストール
pip を使って MCP Python Interpreter をインストールできます。
pip install mcp-python-interpreter
または、uv を使います。
uv install mcp-python-interpreter
Claude Desktop での使用方法
- Claude Desktop をインストールします
- Claude Desktop を開き、メニューをクリックしてから Settings を選択します
- Developer タブに移動し、「Edit Config」をクリックします
claude_desktop_config.jsonに以下を追加します。
{
"mcpServers": {
"mcp-python-interpreter": {
"command": "uvx",
"args": [
"mcp-python-interpreter",
"--dir",
"/path/to/your/work/dir",
"--python-path",
"/path/to/your/python"
],
"env": {
"MCP_ALLOW_SYSTEM_ACCESS": 0
},
}
}
}
Windows の場合:
{
"mcpServers": {
"python-interpreter": {
"command": "uvx",
"args": [
"mcp-python-interpreter",
"--dir",
"C:\\path\\to\\your\\working\\directory",
"--python-path",
"/path/to/your/python"
],
"env": {
"MCP_ALLOW_SYSTEM_ACCESS": "0"
},
}
}
}
- Claude Desktop を再起動します
- チャットインターフェースに MCP ツールのアイコンが表示されます
--dir パラメーターは必須で、すべてのファイルの保存先および実行場所を指定します。これにより、MCP サーバーを特定のディレクトリに隔離し、セキュリティを維持できます。
前提条件
uvがインストールされていることを確認してください。インストールされていない場合は、以下のコマンドでインストールします。curl -LsSf https://astral.sh/uv/install.sh | sh- Windows の場合:
powershell -ExecutionPolicy Bypass -Command "iwr -useb https://astral.sh/uv/install.ps1 | iex"
利用可能なツール
Python Interpreter では、以下のツールを利用できます。
環境とパッケージの管理
- list_python_environments:利用可能なすべての Python 環境(システム環境および conda 環境)を一覧表示します
- list_installed_packages:特定の環境にインストールされているパッケージを一覧表示します
- install_package:特定の環境に Python パッケージをインストールします
コード実行
- run_python_code:特定の環境で Python コードを実行します
- run_python_file:特定の環境で Python ファイルを実行します
ファイル操作
- read_file:サイズと安全性に関する制限のもと、あらゆる種類のファイルの内容を読み取ります
- 構文ハイライト付きでテキストファイルをサポートします
- バイナリファイルは 16 進数表記で表示します
- write_file:テキストまたはバイナリの内容でファイルを作成または上書きします
- write_python_file:Python ファイルを作成または上書きします
- list_directory:ディレクトリ内の Python ファイルを一覧表示します
利用可能なリソース
- python://environments:利用可能なすべての Python 環境を一覧表示します
- python://packages/{env_name}:特定の環境にインストールされているパッケージを一覧表示します
- python://file/{file_path}:Python ファイルの内容を取得します
- python://directory/{directory_path}:ディレクトリ内のすべての Python ファイルを一覧表示します
プロンプト
- python_function_template:Python 関数のテンプレートを生成します
- refactor_python_code:Python コードのリファクタリングを支援します
- debug_python_error:Python エラーのデバッグを支援します
使用例
この MCP サーバーを使って Claude に依頼できることの例を以下に示します。
- 「システムで利用可能なすべての Python 環境を表示して」
- 「conda-base 環境でこの Python コードを実行して:print('Hello, world!')」
- 「hello と表示する関数を含む hello.py という新しい Python ファイルを作成して」
- 「data.json ファイルの内容を読み取って」
- 「これらの設定を使って新しい設定ファイルを書き込んで……」
- 「システムの Python 環境にインストールされているすべてのパッケージを一覧表示して」
- 「システムの Python 環境に requests パッケージをインストールして」
- 「次の引数で data_analysis.py を実行して:--input=data.csv --output=results.csv」
ファイル処理機能
MCP Python Interpreter では、包括的なファイル操作がサポートされるようになりました。
- 最大 1MB のテキストファイルとバイナリファイルの読み取り
- テキストファイルとバイナリファイルの書き込み
- ソースコードファイルの構文ハイライト
- バイナリファイルの 16 進数表記
- 厳格なファイルパスのセキュリティ(作業ディレクトリ内のみ)
セキュリティに関する考慮事項
この MCP サーバーは、Python 環境とファイルシステムにアクセスできます。主なセキュリティ機能は次のとおりです。
- 分離された作業ディレクトリ
- ファイルサイズの制限
- 作業ディレクトリ外への書き込みを防止
- 明示的な上書き保護
十分に理解していないコードの実行やファイル操作には、常に注意してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
