安全なローカル Python エグゼキュータ
Hugging FaceのLocalPythonExecutor
( smolagents
フレームワークより)をラップするMCPサーバー(stdioトランスポート)です。これは、LLMによって生成されたPythonコードをローカルで実行する際に基本的な分離性とセキュリティを提供するカスタムPythonランタイムです。DockerやVMは必要ありません。このパッケージは、Claude Desktop、Cursor、その他のMCP対応クライアントなどのLLMアプリ用のツールとして、MCP(Model Context Protocol)経由でPythonエグゼキューターを公開することを可能にします。Claude Desktopの場合、このツールは不足しているコードインタープリター(ChatGPTのプラグインとして既にかなり以前から利用可能)を簡単に追加する方法です。
特徴
run_python
ツールを公開する- Python
eva()l
を直接使用するよりも安全に Python コードを実行できます - Python venvでuv経由で実行
- ファイルI/O操作は許可されません
- 輸入制限リスト
- コレクション
- 日時
- イターツール
- 数学
- 列
- ランダム
- 再
- 統計
- 統計
- 時間
- ユニコードデータ
安全
LLM によって生成されたコードを自分のマシンで実行する際は注意してください。コマンドラインやeval()
を使って Python を実行する MCP サーバーは使用しないでください。最も安全な選択肢は VM または Docker コンテナを使用することですが、セットアップに多少の手間がかかり、リソースを消費し、速度も低下します。Python ランタイムを提供するサードパーティのサービスもありますが、登録や API キーなどが必要になります。
LocalPythonExecutor
、ローカルPython環境の直接利用(セットアップが容易)と、DokcerコンテナまたはVM/サードパーティサービスでのリモート実行(安全)のバランスに優れています。Hugginng Faceチームは、コードエージェントで使用されるLLM生成コードを迅速かつ安全に実行するためのオプションの開発に時間を費やしました。このMCPサーバーは、このソリューションを基盤としています。
セキュリティの第一層として、smolagents でのコード実行は標準の Python インタープリターでは実行されません。より安全な LocalPythonExecutor をゼロから再構築しました。
詳細はこちらをご覧ください。
インストールと実行
uv
をインストールします (macOS ではbrew install uv
実行するか、公式ドキュメントを使用してください)- リポジトリをクローンし、ディレクトリを変更します
cd mcp_safe_local_python_executor
- サーバーはコマンドライン
uv run mcp_server.py
で起動できます。venv が自動的に作成され、依存関係 (smollagents、mcp) がインストールされます。
Claudeデスクトップの設定
- Claude for Desktop がインストールされていることを確認してください ( claude.aiからダウンロード)
- Claude for Desktop 構成ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- または、Claude Desktop -> 設定 -> 開発者 -> 「設定の編集」ボタンをクリックします。
- macOS:
- 次の構成を追加します。
- デスクトップ版のClaudeを再起動する
- Python 実行ツールが Claude で利用できるようになります (メッセージ入力フィールドにハンマーアイコンが表示されます)
プロンプトの例
設定が完了すると、次のようなプロンプトが使用できるようになります。
- 「Python を使って 5 の階乗を計算する」
- 「100までの素数のリストを作成してください」
- 「この方程式を解いてください(Python を使用):x^2 + 5x + 6 = 0」
発達
リポジトリをクローンします。uv uv
使用して venv を作成し、開発依存関係をインストールし、テストを実行します。
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Hugging Facesのsmolagents
フレームワークからカスタムPythonランタイム(LocalPythonExecutor)をラップしたstdio MCPサーバー。このランタイムは、Docker、VM、クラウドランタイムと比較してセットアップが容易でありながら、安全対策を提供し、ランタイム内で許可される操作/インポートを制限します。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server to run commands.Last updated -2265150TypeScriptMIT License
- -securityAlicense-qualityA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.Last updated -239PythonMIT License
- AsecurityAlicenseAqualityA server that provides a persistent Python REPL environment through the MCP protocol, allowing execution of Python code, variable management, and package installation.Last updated -33PythonMIT License
- -securityAlicense-qualityAn MCP server that allows managing Docker containers through natural language, enabling users to compose, introspect, and debug containers without running commands themselves.Last updated -468PythonGPL 3.0