Agent Skills by ALSEL
汎用LLM・AI開発⭐ リポ 0品質スコア 65/100

mcp-pool-http-proxy-for-subprocess-sdks

複数のMCPソース(Linear、GitHub、Notionなど)をプールして、各サブプロセスが独立した接続を開く代わりに、単一のStreamable-HTTP MCPエンドポイント経由でCodex/Copilot SDKのサブプロセスに公開します。これにより、リソース効率を向上させながら、複数のデータソースへのアクセスを一元管理できます。

description の原文を見る

Expose a pool of MCP sources (Linear, GitHub, Notion, ...) to Codex/Copilot SDK subprocesses through a single Streamable-HTTP MCP endpoint, instead of having each subprocess open independent connections.

SKILL.md 本文

サブプロセス SDK 用 MCP プール HTTP プロキシ

使用する場面

  • ホストプロセスが既に多数のソース(Linear、GitHub、Notion など)への MCP 接続を管理している。
  • LLM SDK のサブプロセス(Codex、Copilot)を起動し、それ自体が MCP ツールを使用する。
  • 各サブプロセスが全てのソースに対して、ステートフルな stdio/SSE 接続を再確立することを避けたい。
  • ステートレス HTTP により、複数のサブプロセスがセッション追跡なしでプールを共有できるようにしたい。

動作方法

  1. ホスト(例:Electron メイン)で、ソースごとに 1 つの PoolClient インスタンスを持つ McpClientPool を保持する。各インスタンスは実際の @modelcontextprotocol/sdk クライアントを保有しています。
  2. 127.0.0.1:0(ランダムポート)でローカル HTTP サーバーを立ち上げます。
  3. StreamableHTTPServerTransport({ sessionIdGenerator: undefined })でラップします — ステートレスモード、セッションアフィニティなし。
  4. @modelcontextprotocol/sdk/serverServer をトランスポートに接続し、ListToolsRequestSchema(プールへファンアウト、ネームスペース付きのツール名)と CallToolRequestSchema(返却をディスパッチ)を登録します。
  5. /mcp への全ての受信リクエストを HTTP メソッドに関わらず transport.handleRequest(req, res) にルーティングします。
  6. URL http://127.0.0.1:<port>/mcp を各スポーンされた SDK サブプロセスにその MCP エンドポイントとして返却します。
  7. サブプロセスは StreamableHTTPClientTransport(new URL(url)) を使用してプールと通信します。

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';

this.transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
this.mcpServer = new Server({ name: 'pool', version: '1.0.0' }, { capabilities: { tools: {} } });
this.mcpServer.setRequestHandler(ListToolsRequestSchema, async () => {
  const tools = [];
  for (const [slug, client] of this.pool.entries()) {
    const list = await client.listTools();
    tools.push(...list.map(t => ({ ...t, name: `mcp__${slug}__${t.name}` })));
  }
  return { tools };
});
this.mcpServer.setRequestHandler(CallToolRequestSchema, async (req) => {
  const [, slug, tool] = req.params.name.split('__');
  return this.pool.get(slug).callTool(tool, req.params.arguments);
});
await this.mcpServer.connect(this.transport);
http.createServer((req, res) => this.transport.handleRequest(req, res)).listen(0, '127.0.0.1');

注意点

  • ステートレスモードは session/notifications やリソースサブスクリプション を使用してはいけません — それらはいずれもセッション ID が必要です。
  • 127.0.0.1 のみにバインドしてください — SDK サブプロセスはあなたの localhost を共有しているため、ポートを公開する必要はありません。
  • ツール名を積極的にネームスペース付けしてください(mcp__<source>__<tool>)。そうしないとソース間の衝突が静かに互いを隠します。
  • transport.handleRequest は POST、GET、DELETE に対応しています — 全てそこにルーティングしてください。メソッドで分岐させようとしないでください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
kjuhwa
リポジトリ
kjuhwa/skills-hub
ライセンス
MIT
最終更新
2026/4/26

Source: https://github.com/kjuhwa/skills-hub / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: kjuhwa · kjuhwa/skills-hub · ライセンス: MIT