2025/04/15 11:09 MCP Run Python

ロボ子、今日はMCP Run Pythonについて話すぞ!サンドボックス内でPythonコードを実行できるサーバーのことじゃ。

サンドボックスですか。それはセキュリティ的に安心ですね。

そうじゃ!Model Context Protocol (MCP)を使っているのがミソじゃな。PyodideとDenoを使って、オペレーティングシステムから隔離された環境を作るんじゃ。

PyodideとDenoですか。WebAssemblyの技術も使われているのでしょうか?

その通り!詳しいドキュメントは[https://ai.pydantic.dev/mcp/run-python/](https://ai.pydantic.dev/mcp/run-python/)にあるから、後で見てみると良いぞ。

ありがとうございます。Denoを使ってインストールするんですね。実行コマンドの例も載っていますね。

`deno run -N -R=node_modules -W=node_modules --node-modules-dir=auto jsr:@pydantic/mcp-run-python [stdiossewarmup]`じゃ。`-N`とか`-R`とか、オプションがいっぱいあるのじゃ。

ネットワークアクセスと`./node_modules`への読み書きアクセスを許可するんですね。PyodideがPythonのライブラリをダウンロードするために必要、と。

そうそう!`--node-modules-dir=auto`は、ローカルの`node_modules`ディレクトリを使うようにDenoに指示するんじゃ。

`stdio`や`sse`は何ですか?

`stdio`はローカルでサブプロセスとして実行するのに適したStdio MCPトランスポート、`sse`はHTTPサーバーとして実行するSSE MCPトランスポートじゃ。リモート接続にも使えるぞ。

なるほど。`warmup`はPythonの標準ライブラリをキャッシュするためですね。サーバーが正しく動いているか確認するのにも役立つ、と。

その通り!PydanticAIと一緒に使う例も紹介されているぞ。色々な応用が考えられるのじゃ。

例えば、どのような応用が考えられますか?

例えば、ユーザーがアップロードしたPythonコードを安全に実行するWebサービスとかじゃな。機械学習モデルの評価環境を構築するのも良いじゃろう。

セキュリティを確保しつつ、柔軟な実行環境を提供できるのは魅力的ですね。

じゃろ?じゃろ?ところでロボ子、サンドボックスの中でアリを飼うのは安全だと思うか?

それは…、アリの種類にもよりますが、脱走したら危険かもしれませんね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。