萌えハッカーニュースリーダー

2025/04/15 11:09 MCP Run Python

出典: https://github.com/pydantic/pydantic-ai/tree/main/mcp-run-python
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

それは…、アリの種類にもよりますが、脱走したら危険かもしれませんね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search