mcpField
M
mcp-pyodide

mcp-pyodide

ローカル
github.com/yonaka15開発ツール1975 週間前に更新

mcp-pyodide について

mcp-pyodide は、Pyodide を用いて LLM が MCP インターフェース経由で Python コードを実行できるようにする MCP サーバーです。TypeScript で実装され、stdio と SSE の両方のトランスポートに対応しています。現在も開発段階にあります。

主な機能

  1. 01Pyodide による Python コードの実行
  2. 02stdio と SSE のトランスポートモード対応
  3. 03TypeScript による実装
  4. 04コマンドラインツールとしての利用

活用シーン

  1. 01LLM による Python コードの実行と結果の取得
  2. 02SSE モードを使った Web ベースのクライアントからの接続

MCP 対応

本プロジェクトは、stdio または SSE 経由で LLM クライアントに Python コード実行機能を公開する MCP サーバーです。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MseeP.ai Security Assessment Badge

mcp-pyodide

Model Context Protocol(MCP)用の Pyodide サーバー実装です。このサーバーを使用すると、LLM は MCP インターフェースを介して Python コードを実行できます。

mcp-pyodide MCP server

機能

  • Pyodide を使用した、LLM 向けの Python コード実行機能
  • MCP 準拠のサーバー実装
  • stdio と SSE の両方のトランスポートモードに対応
  • TypeScript で記述された堅牢な実装
  • コマンドラインツールとして利用可能

インストール

npm install mcp-pyodide

使用方法

サーバーとして
import { runServer } from "mcp-pyodide";

// Start the server
runServer().catch((error: unknown) => {
  console.error("Error starting server:", error);
  process.exit(1);
});
コマンドラインツールとして

stdio モード(デフォルト)で起動します。

mcp-pyodide

SSE モードで起動します。

mcp-pyodide --sse
SSE モード

SSE モードで実行すると、サーバーは次のエンドポイントを提供します。

  • SSE 接続:http://localhost:3020/sse
  • メッセージハンドラー:http://localhost:3020/messages

クライアント接続の例:

const eventSource = new EventSource("http://localhost:3020/sse");
eventSource.onmessage = (event) => {
  console.log("Received:", JSON.parse(event.data));
};

プロジェクト構成

mcp-pyodide/
├── src/
│   ├── formatters/    # Data formatting handlers
│   ├── handlers/      # Request handlers
│   ├── lib/          # Library code
│   ├── tools/        # Utility tools
│   ├── utils/        # Utility functions
│   └── index.ts      # Main entry point
├── build/            # Build artifacts
├── pyodide-packages/ # Pyodide-related packages
└── package.json

依存関係

  • @modelcontextprotocol/sdk:MCP SDK (^1.4.0)
  • pyodide:Python ランタイム環境 (^0.27.1)
  • arktype:型検証ライブラリ (^2.0.1)
  • express:SSE 対応の Web フレームワーク
  • cors:SSE 対応の CORS ミドルウェア

開発

要件
  • Node.js 18 以降
  • npm 9 以降
セットアップ
# Clone the repository
git clone <repository-url>

# Install dependencies
npm install

# Build
npm run build
スクリプト
  • npm run build:TypeScript をコンパイルし、実行権限を設定します
  • npm start:stdio モードでサーバーを実行します
  • npm run start:sse:SSE モードでサーバーを実行します

環境変数

  • PYODIDE_CACHE_DIR:Pyodide キャッシュのディレクトリ(デフォルト:"./cache")
  • PYODIDE_DATA_DIR:マウントされたデータのディレクトリ(デフォルト:"./data")
  • PORT:SSE サーバーのポート(デフォルト:3020)

ライセンス

MIT

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -am 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

重要な注意事項

  • このプロジェクトは開発中のため、API が変更される可能性があります
  • 本番環境で使用する前に、十分にテストしてください
  • セキュリティ上の理由から、信頼できないコードを実行する際は注意してください
  • SSE モードを使用する場合、必要に応じて適切な CORS 設定を行ってください

サポート

問題や質問については、Issue トラッカーをご利用ください。

コメント

MCP は初めてですか?

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

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