すべての MCP サーバーに 1 つのエンドポイント

MCP のツール定義でコンテキストを浪費するのは、もう終わり。

onemcp は、あなたのすべての Model Context Protocol(MCP)サーバーを 1 つのポータルエンドポイントの背後に集約します。AI クライアントは一度つなぐだけ——ルーティング、ネイティブ OAuth、Code Mode はポータルが引き受け、エージェントは大量のツール定義に溺れることなく、ツールを呼び出すスクリプトを書けます。

~90%システムプロンプトを縮小
1つのエンドポイントで N 台のサーバー
3つのメタツール、数百ではなく
~/.config/mcp.json
{
  "mcpServers": {
    "github": { "url": "github.mcp", "auth": "ghp_…" },
    "slack": { "url": "slack.mcp", "auth": "xoxb-…" },
    "postgres": { "url": "pg.internal", "auth": "pg_…" },
    // さらに +17 台のサーバー
  }
}

// 20 台のサーバー · リクエストごとに 480+ ツール

# 課題

どのツールも、それぞれ独立したサーバー・ログイン・ツール定義の壁を抱えている。

MCP サーバーはどれも、リクエストのたびに 何百ものツール定義をプロンプトに流し込みます——モデルが何かを始める前から、コンテキストとコストを食いつぶしてしまうのです。

onemcp なし~15,000 トークン

すべてのツール定義を、毎リクエスト

onemcp あり~500 トークン

search · describe · execute だけ

リクエストごとのコンテキスト占有を約 97% 削減——モデルはツールのスキーマではなく、あなたの課題にウィンドウを使えます。

プロンプトペイロード · tools[]
{ "name": "github.create_issue",
  "inputSchema": { "type": "object", "properties": { repo, title, body?, labels? } } },
{ "name": "github.search_issues",
  "inputSchema": { "type": "object", "properties": { query, state?, sort? } } },
{ "name": "github.create_pull_request",
  "inputSchema": { "type": "object", "properties": { repo, head, base, title } } },
{ "name": "slack.post_message",
  "inputSchema": { "type": "object", "properties": { channel, text, thread_ts? } } },
{ "name": "slack.list_channels",
  "inputSchema": { "type": "object", "properties": { types?, limit? } } },
{ "name": "postgres.query",
  "inputSchema": { "type": "object", "properties": { sql, params? } } },
{ "name": "postgres.list_tables",
  "inputSchema": { "type": "object", "properties": { schema? } } },
{ "name": "linear.create_issue",
  "inputSchema": { "type": "object", "properties": { team, title, priority? } } },
{ "name": "notion.create_page",
  "inputSchema": { "type": "object", "properties": { parent, properties, children? } } },
{ "name": "jira.create_ticket",
  "inputSchema": { "type": "object", "properties": { project, summary, type } } },
{ "name": "stripe.create_refund",
  "inputSchema": { "type": "object", "properties": { charge, amount? } } },
{ "name": "sentry.list_issues",
  "inputSchema": { "type": "object", "properties": { project, query? } } }
// …さらに 468 個の定義、毎ターン再送信

# 解決策

1 つのポータル、3 つのツール、あとはエージェントが書く。

onemcp は、あなたのすべてのサーバーを単一のポータルエンドポイントの背後にまとめます。ポータルはすべてのツールを露出させる代わりにたった 3 つだけを公開し、モデルにそれらを呼び出すスクリプトを書かせます——Cloudflare の MCP Code Mode です。実際の往復をクリックで体験してみてください:

portal › search
リクエスト
portal.search({ query: "open a GitHub issue" })
レスポンス
[
  { tool: "github.create_issue", score: 0.98 },
  { tool: "github.search_issues", score: 0.71 }
]

プロキシ層はどう組み合わさっているか

クライアントが話すのは常にポータルだけ。必要なものを見つけ出し、1 回の呼び出しで仕事を丸ごと片づける 1 本のスクリプトを書きます——ツール一式を毎回プロンプトに詰め込んで何十往復もする代わりに。

AI クライアント
Claude · Cursor · エージェント
❯_onemcp ゲートウェイ
searchdescribeexecute
ルーティング · OAuth · ポータル単位の認証
MCP サーバー
GitHubSlackPostgres+17

# 得られるもの

エージェントの実際の働き方に合わせて設計。

統一エンドポイント

すべての MCP クライアントを 1 つのポータル URL に接続。上流サーバーの追加や差し替えに、クライアント設定を触る必要はもうありません。

ネイティブな上流 OAuth

ポータルは完全な OAuth フローで上流サーバーへ認証します——認証情報はホスト側に留まり、各クライアントに散らばりません。

Code Mode の効率

3 つのメタツールが数百の定義を置き換えます。モデルはスキーマに溺れることなく、あなたのツールを呼び出すスクリプトを書きます。

ポータル単位の認証スコープ

同じサーバーでも、ポータルごとに異なる認証情報を持てます——認証はアカウントではなくメンバーシップにひも付きます。

ポータルのインポート/エクスポート

ポータルを環境間で移動したり、構成一式を 1 つの持ち運べる設定ファイルとして共有したり。

リクエストログ

ポータルを通過するすべてのクライアントリクエストを確認でき、エージェントが実際に何を呼んでいるかをデバッグできます。

# 根拠

LLM は MCP を直接呼び出すよりも、MCP を呼び出すコードを書く方が得意だ。
CloudflareCode Mode:MCP をより良く使う方法
~90%
システムプロンプトを縮小
Zero
ツール定義の肥大
20+
台のサーバーを 1 エンドポイントに
3
つのメタツール、数百ではなく

サーバーの配線はもう終わり。エージェントを届け始めよう。

数分でポータルを立ち上げ、クライアントを 1 つのエンドポイントに向けたら、あとはエージェントに任せるだけ。