mcpField
S
Safe Local Python Executor

Safe Local Python Executor

ローカル
github.com/maxim-saplinクラウド・インフラ4867 週間前に更新

Safe Local Python Executor について

Safe Local Python Executor は、smolagents の LocalPythonExecutor をラップした stdio 方式の MCP サーバーで、LLM が生成した Python コードをローカルで実行します。Docker や仮想マシンは不要で、ファイル I/O と インポートが制限されており、Claude Desktop や Cursor などのクライアント利用者に向いています。

主な機能

  1. 01run_python ツールの提供
  2. 02ファイル I/O 操作の禁止
  3. 03インポート可能なモジュールの制限
  4. 04uv で管理された仮想環境での実行
  5. 05Docker や仮想マシンが不要

活用シーン

  1. 01Claude Desktop にコードインタープリター機能を追加する
  2. 02LLM が生成した計算コードをローカルで実行する

MCP 対応

本サーバーは stdio で動作し、Python コードを実行する run_python ツールを MCP クライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

セーフローカルPythonエグゼキューター

Hugging Face の LocalPythonExecutor (smolagents フレームワークの一部)をラップする MCP サーバー(stdio トランスポート)です。LLM が生成した Python コードをローカルで実行する際に、基本的な分離とセキュリティを提供するカスタム Python ランタイムです。Docker や VM は不要です。 このパッケージを使うと、Python エグゼキューターを MCP(Model Context Protocol)経由で、Claude Desktop、Cursor、その他の MCP 互換クライアントなどの LLM アプリ向けツールとして公開できます。 Claude Desktop の場合、このツールを使うと、不足しているコードインタープリター(ChatGPT ではかなり前からプラグインとして利用可能です)を簡単に追加できます。

image

機能

  • run_python ツールを公開します
  • Python の eva()l を直接使う場合と比べ、より安全に Python コードを実行します
  • Python venv 内で uv を介して実行します
  • ファイルの I/O 操作は許可されません
  • インポート可能なモジュールを制限しています
    • collections
    • datetime
    • itertools
    • math
    • queue
    • random
    • re
    • stat
    • statistics
    • time
    • unicodedata

セキュリティ

お使いのマシンで LLM が生成したコードを実行する際は注意してください。コマンドライン経由や eval() を使って Python を実行する MCP サーバーは避けてください。最も安全な選択肢は VM または Docker コンテナーの使用ですが、セットアップに手間がかかり、リソースを消費し、動作も遅くなります。Python ランタイムを提供するサードパーティーサービスもありますが、登録や API キーなどが必要です。

LocalPythonExecutor は、ローカルの Python 環境を直接使う方法(セットアップが簡単です)と、Docker コンテナーや VM、サードパーティーサービスでリモート実行する方法(安全です)の間で、適切なバランスを実現します。Hugging Face チームは、コーディングエージェントが使用する LLM 生成コードをすばやく安全に実行できる方法の開発に取り組んできました。この MCP サーバーは、それを基盤としています。

セキュリティの第一段階として、smolagents のコード実行では、標準の Python インタープリターを使用していません。より安全な LocalPythonExecutor をゼロから再構築しました。

詳しくはこちらをご覧ください。

インストールと実行

Smithery 経由でインストールする

Smithery 経由で Claude Desktop 用 Safe Local Python Executor を自動的にインストールするには:

npx -y @smithery/cli install @maxim-saplin/mcp_safe_local_python_executor --client claude
手動でインストールする
  1. uv をインストールします(macOS では brew install uv を実行するか、公式ドキュメントを参照してください)
  2. リポジトリをクローンし、ディレクトリを cd mcp_safe_local_python_executor で変更します
  3. サーバーはコマンドラインから uv run mcp_server.py で起動できます。venv は自動的に作成され、依存関係(smollagents、mcp)がインストールされます

Claude Desktop の設定

  1. Claude for Desktop がインストールされていることを確認します(claude.ai からダウンロードしてください)

  2. Claude for Desktop の設定ファイルを編集します:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
    • または Claude Desktop を開き、Settings -> Developer に移動して、「Edit Config」ボタンをクリックします
  3. 次の設定を追加します:

{
    "mcpServers": {
        "safe-local-python-executor": {
            "command": "uv",
            "args": [
                "--directory", 
                "/path/to/mcp_local_python_executor/",
                "run",
                "mcp_server.py"
            ]
        }
    }
}
  1. Claude for Desktop を再起動します
  2. Python エグゼキューターのツールが Claude で利用可能になります(メッセージ入力欄にハンマーのアイコンが表示されます)

プロンプトの例

設定が完了したら、次のようなプロンプトを使用できます:

  • 「Python を使って 5 の階乗を計算してください」
  • 「100 以下の素数のリストを作成してください」
  • 「この方程式を解いてください(Python を使用):x^2 + 5x + 6 = 0」

開発

リポジトリをクローンします。uv を使って仮想環境を作成し、開発用の依存関係をインストールして、テストを実行します。

uv venv .venv
uv sync --group dev
python -m pytest tests/

README の画像

smithery バッジ

MseeP.ai セキュリティ評価バッジ

コメント

MCP は初めてですか?

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

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