mcpField
P
Python MCP Server

Python MCP Server

ローカル
github.com/Timtech4u開発ツール25 日前に更新

Python MCP Server について

Python MCP Serverは、MCPクライアントからPythonコードを実行し、Pythonファイルや環境を扱うサーバーです。AIツールでスクリプトを実行したりファイルを確認・編集したりする用途向けで、実行条件を設定できます。

主な機能

  1. 01Pythonコードとファイルの実行
  2. 02Pythonファイルの一覧表示・読み書き
  3. 03Pythonバージョンと環境の確認
  4. 04タイムアウト・作業ディレクトリ・引数の設定

活用シーン

  1. 01AIクライアント経由でコード片を実行
  2. 02引数を指定してプロジェクトのスクリプトを実行
  3. 03Pythonファイルの確認や編集
  4. 04インストール済みPythonのバージョン確認

MCP 対応

Pythonの実行、ファイル操作、環境確認をツールとしてMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Python MCP サーバー

Python コードを実行し、Python 環境を管理するための Model Context Protocol(MCP)サーバーです。このサーバーを使うと、Claude やその他の LLM が Python コードを実行し、ファイルを管理し、Python パッケージを利用できます。

GitHub Repository

機能

  • コード実行:Python のコードスニペットを実行したり、Python ファイルを実行したりできます
  • ファイル管理:Python ファイルの一覧表示、読み取り、書き込みができます
  • Python 環境:Python のバージョンと環境の詳細を確認できます
  • 実行の設定:タイムアウト、作業ディレクトリ、コマンドライン引数を設定できます

前提条件

この MCP サーバーを使用する前に、以下を用意してください。

  • Node.js 22 以降がインストールされていること
  • Python がインストールされ、PATH から利用できること
  • Claude Desktop または Cline がインストールされていること

インストール

  1. このリポジトリをクローンします。
git clone https://github.com/Timtech4u/python-mcp-server.git
cd python-mcp-server
  1. 依存関係をインストールします。
npm ci
  1. プロジェクトをビルドします。
npm run build

設定

Claude Desktop の場合
  1. Claude Desktop の設定ファイルを開きます。

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. 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"
      ]
    }
  }
}
  1. /absolute/path/to/python-mcp-server を、リポジトリをクローンした実際のパスに置き換えます。

  2. Claude Desktop を再起動します。

Cline の場合
  1. 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
  2. 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"
      ]
    }
  }
}
  1. /absolute/path/to/python-mcp-server を、リポジトリをクローンした実際のパスに置き換えます。

  2. 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 宣言を提供するようになりました。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。