Python MCP Server について
Python MCP Serverは、MCPクライアントからPythonコードを実行し、Pythonファイルや環境を扱うサーバーです。AIツールでスクリプトを実行したりファイルを確認・編集したりする用途向けで、実行条件を設定できます。
主な機能
- 01Pythonコードとファイルの実行
- 02Pythonファイルの一覧表示・読み書き
- 03Pythonバージョンと環境の確認
- 04タイムアウト・作業ディレクトリ・引数の設定
活用シーン
- 01AIクライアント経由でコード片を実行
- 02引数を指定してプロジェクトのスクリプトを実行
- 03Pythonファイルの確認や編集
- 04インストール済みPythonのバージョン確認
MCP 対応
Pythonの実行、ファイル操作、環境確認をツールとしてMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Python MCP サーバー
Python コードを実行し、Python 環境を管理するための Model Context Protocol(MCP)サーバーです。このサーバーを使うと、Claude やその他の LLM が Python コードを実行し、ファイルを管理し、Python パッケージを利用できます。
機能
- コード実行:Python のコードスニペットを実行したり、Python ファイルを実行したりできます
- ファイル管理:Python ファイルの一覧表示、読み取り、書き込みができます
- Python 環境:Python のバージョンと環境の詳細を確認できます
- 実行の設定:タイムアウト、作業ディレクトリ、コマンドライン引数を設定できます
前提条件
この MCP サーバーを使用する前に、以下を用意してください。
- Node.js 22 以降がインストールされていること
- Python がインストールされ、PATH から利用できること
- Claude Desktop または Cline がインストールされていること
インストール
- このリポジトリをクローンします。
git clone https://github.com/Timtech4u/python-mcp-server.git
cd python-mcp-server
- 依存関係をインストールします。
npm ci
- プロジェクトをビルドします。
npm run build
設定
Claude Desktop の場合
-
Claude Desktop の設定ファイルを開きます。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Python MCP サーバーの設定を追加します。
{
"mcpServers": {
"python": {
"command": "node",
"args": [
"/absolute/path/to/python-mcp-server/dist/index.js"
],
"disabled": false,
"autoApprove": [
"execute_python_code",
"execute_python_file",
"check_python_version",
"list_python_files",
"read_python_file",
"write_python_file"
]
}
}
}
-
/absolute/path/to/python-mcp-serverを、リポジトリをクローンした実際のパスに置き換えます。 -
Claude Desktop を再起動します。
Cline の場合
-
Cline の MCP 設定ファイルを開きます。
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- macOS:
-
Python MCP サーバーの設定を追加します。
{
"mcpServers": {
"python": {
"command": "node",
"args": [
"/absolute/path/to/python-mcp-server/dist/index.js"
],
"disabled": false,
"autoApprove": [
"execute_python_code",
"execute_python_file",
"check_python_version",
"list_python_files",
"read_python_file",
"write_python_file"
]
}
}
}
-
/absolute/path/to/python-mcp-serverを、リポジトリをクローンした実際のパスに置き換えます。 -
Cline を再起動するか、ウィンドウを再読み込みします。
使用方法
設定が完了したら、さまざまな方法で Python コードを実行するよう Claude に依頼できます。以下に例を示します。
Python コードを実行する
Can you run this Python code for me?
import random
numbers = [random.randint(1, 100) for _ in range(10)]
print(f"Random numbers: {numbers}")
print(f"Sum: {sum(numbers)}")
print(f"Average: {sum(numbers)/len(numbers)}")
Python ファイルを実行する
Can you execute my Python file at /path/to/my_script.py?
Python ファイルを一覧表示する
Can you list all Python files in my /path/to/project directory?
Python ファイルを読み取る
Can you show me the contents of /path/to/my_script.py?
Python ファイルを書き込む
Can you create a Python file at /path/to/new_script.py with the following content?
def hello_world():
print("Hello, world!")
if __name__ == "__main__":
hello_world()
Python のバージョンを確認する
What version of Python do I have installed?
利用可能なツール
execute_python_code
Python のコードスニペットを実行します。
パラメーター:
code(文字列、必須):実行する Python コードtimeout(数値、任意):最大実行時間(秒)(デフォルト:30)args(文字列の配列、任意):スクリプトに渡すコマンドライン引数workingDir(文字列、任意):スクリプトを実行する作業ディレクトリ
execute_python_file
Python ファイルを実行します。
パラメーター:
filePath(文字列、必須):実行する Python ファイルのパスtimeout(数値、任意):最大実行時間(秒)(デフォルト:30)args(文字列の配列、任意):スクリプトに渡すコマンドライン引数workingDir(文字列、任意):スクリプトを実行する作業ディレクトリ
check_python_version
インストールされている Python のバージョンに関する情報を返します。
list_python_files
ディレクトリ内の Python ファイルを一覧表示します。
パラメーター:
dirPath(文字列、任意):Python ファイルを一覧表示するディレクトリのパス(デフォルト:現在のディレクトリ)recursive(真偽値、任意):再帰的に検索するかどうか(デフォルト:false)
read_python_file
Python ファイルの内容を読み取ります。
パラメーター:
filePath(文字列、必須):読み取る Python ファイルのパス
write_python_file
Python ファイルに内容を書き込みます。
パラメーター:
filePath(文字列、必須):書き込む Python ファイルのパスcontent(文字列、必須):ファイルに書き込む内容createDirs(真偽値、任意):ディレクトリが存在しない場合に作成するかどうか(デフォルト:true)
トラブルシューティング
Python が見つからない
「Python is not installed」のようなエラーが表示される場合は、Python がインストールされ、システムの PATH から利用できることを確認してください。
権限エラー
ファイルの読み取りまたは書き込み時に権限エラーが発生した場合は、MCP サーバーを実行しているユーザーに必要な権限があることを確認してください。
タイムアウトエラー
コード実行のデフォルトのタイムアウトは30秒です。コードの実行にそれ以上かかると、終了されます。timeout パラメーターを指定すると、タイムアウトを延長できます。
ライセンス
MIT
検証
Node.js 22+ と、PATH 上にある Python 3 の実行ファイルを使用してください。
npm ci
npm test
npm audit
統合テストでは、実際の stdio サーバーを起動し、MCP セッションをネゴシエートして、ツールの検出、Python の実行、一時ディレクトリ内でのファイルの読み取り・書き込み・一覧表示の動作を検証します。SDK と UUID のバージョンは両方の依存関係ファイルで固定されており、UUID パッケージは独自の TypeScript 宣言を提供するようになりました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。