プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

throng

作者:agent-runbooksバージョン 0.9.1i★ 2iパソコンで動く
レジストリ名io.github.agent-runbooks/throng-mcp

インストール

概要

作者による説明(英語の原文)

Hands work to another coding agent over ACP: Claude Code, Codex, OpenCode, Gemini CLI and others

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:2項目中2項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "throng": {
      "command": "npx",
      "args": [
        "-y",
        "throng-mcp"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add throng -- npx -y throng-mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "throng": {
      "command": "npx",
      "args": [
        "-y",
        "throng-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "throng": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "throng-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月10日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント agent-runbooks で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:一昨日

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの5728件のうち75%よりスターが多い
  • このカテゴリのほかの5728件のうち93%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5728件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

throngは安全ですか?

当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は一昨日、最新バージョン(0.9.1)がレジストリに届いたのは一昨日です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:REA, Netdata, Front-End Checklist

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

REA

Reverse engineer anything from your terminal or agent with one CLI and MCP server.

作者:morluto広く使われている↓ 38.9万/週★ 44.8万16 日前更新

パソコンで動く

Netdata

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

作者:netdata広く使われている★ 8.1万6 日前更新

クラウドで動く

Front-End Checklist

Review frontend code and live pages against 386 quality-gated web development rules.

作者:thedaviddias広く使われている★ 7.5万37 日前更新

クラウドで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

throng-mcp

An MCP server that lets your agent hand work to another one. Any MCP client can call it, and the task goes to any supported harness.

  • Another model's view. A review by another vendor's model, a design critique, a cheaper model for a mechanical pass.
  • Second opinions. Hand one agent's result to another: Codex reviews, Claude fixes, Codex checks again, each in its own long-lived session.
  • Real sessions, not one-shots. The nested agent keeps running; a follow-up goes to the same agent with everything it already knows.
  • Background work. Several agents run at once while you carry on.
  • Answers by schema. Pass a JSON Schema and the result comes back as data that fits it, not prose to parse: a list of findings, a verdict, a plan, ready to feed into the next step.

Supported harnesses: Claude Code, Codex, OpenCode (and every model it can reach), Gemini CLI, Cursor CLI, GitHub Copilot CLI. Setup for each is under Install.

Any other ACP agent can be described in the config as a custom harness: its command, and the mode or options that make it auto-approve or ask. throng installs nothing for it and guesses nothing; see Custom harnesses.

Example

You're in Claude Code and have just changed the payment flow.

Ask Codex to find a way this payment flow could charge someone twice. Don't change any files.

Claude calls run_thronglet with agent: "codex/gpt-6-sol:high", a self-contained prompt, the repository path and a schema, so the findings come back as data: file, line, steps to reproduce.

Give the findings to Opus. Have it fix each one, add a test for it and run the tests.

A second run_thronglet, with agent: "claude/opus". Codex's findings go into its prompt; Opus edits the code and runs the tests.

Now show the same Codex session what changed. Can it still make a customer pay twice?

That is send_message into the first session: Codex still has its findings in context and checks the fixes against them instead of starting over.

Any of these calls takes background: true: it returns at once and wait_thronglet collects the result later, which is how several agents work while you carry on.

Install

Three parts, in order: the server, the agents it may run, and the client it is called from. The skill at the end is optional.

Claude Code: the plugin, server and skill in one go

The plugin covers parts 1, 3 and 4; the agents from part 2 you still install yourself.

claude plugin marketplace add agent-runbooks/throng-mcp

claude plugin install throng@throng-mcp

1. The server

The npm package throng-mcp. Needs node ^22.13 || >=24. Tested with node 24.11.1, claude 2.1.282, codex 0.156.1, opencode 1.18.30.

Two ways to run it:

  • npx -y throng-mcp straight in the client config, below. Nothing to install: npx fetches the package on the first start and caches it. The package has no dependencies, so that is one tarball and nothing else.
  • A global install, then the command is throng-mcp. Starts faster than going through npx.
  npm i -g throng-mcp
2. The agents to run

Each agent needs its own CLI installed and logged in. throng talks to agents over ACP (Agent Client Protocol); Claude Code and Codex need an ACP adapter, and throng ships none. Install only the agents you want to delegate to.

Claude Code

npm i -g @agentclientprotocol/claude-agent-acp

claude auth status

throng passes the path of the claude it finds on PATH to the adapter (CLAUDE_CODE_EXECUTABLE), so the nested agent runs your installed, logged-in CLI. If claude auth status says not logged in, put CLAUDE_CODE_OAUTH_TOKEN into the config, see docs/configuration.md.

Codex

npm i -g @agentclientprotocol/codex-acp

codex login

The adapter gets the path of your codex the same way (CODEX_PATH).

OpenCode

OpenCode speaks ACP itself (opencode acp), so there is no adapter. Install it per https://opencode.ai/docs, then:

opencode auth login

Custom providers live in your ~/.config/opencode/opencode.json; throng doesn't touch it.

Gemini CLI

Gemini CLI speaks ACP itself (gemini --acp), so there is no adapter.

npm i -g @google/gemini-cli

gemini

Gemini CLI needs a Gemini API key (Google AI Studio) or Vertex: run gemini once, choose "Use Gemini API Key" and paste the key, or set GEMINI_API_KEY. The nested agent uses that key. Signing in with a personal Google account no longer works for Gemini CLI. Its limits under throng: docs/harnesses.md.

Cursor CLI

Cursor CLI speaks ACP itself (cursor-agent acp), so there is no adapter.

curl https://cursor.com/install -fsS | bash

agent login

throng finds cursor-agent on PATH and authenticates with the login agent login saved; without that login every run fails with harness_unavailable and Cursor's message asking to run agent login. Its limits under throng: docs/harnesses.md.

GitHub Copilot CLI

Copilot CLI speaks ACP itself (copilot --acp), so there is no adapter.

npm i -g @github/copilot

copilot login

throng finds copilot on PATH; the nested agent uses the login copilot login saved, or the GitHub CLI's. With a login from the GitHub CLI only, Copilot offers no model choice and every run fails with model_rejected; run copilot login. Its limits under throng: docs/harnesses.md.

3. The MCP client

The client is the session that calls throng. It may be the same program as one of the agents above, or a different one. The server speaks stdio and the command is npx -y throng-mcp, or throng-mcp after a global install.

Claude Code

claude mcp add --scope user throng -- npx -y throng-mcp

--scope user registers it for every project; without it, for the current project only. claude mcp list shows the result.

Codex

codex mcp add throng -- npx -y throng-mcp

OpenCode

In ~/.config/opencode/opencode.json:

{

"mcp": { "throng": { "type": "local", "command": ["npx", "-y", "throng-mcp"], "enabled": true } } }

Any other MCP client: register a stdio server with that command.

4. The skill, optional

skills/throng tells the calling agent how to use the server: when to delegate, how to write the prompt, background runs, follow-ups, structured output, what a refused permission means. It is a file for the agent and does not install the server.

skills CLI: Claude Code, Codex, opencode and others

npx skills add agent-runbooks/throng-mcp --skill throng -g -a claude-code -y

-g installs into the agent's user directory, for every project; without it, into the current project. -a codex or -a opencode for the other agents. npx skills update pulls later changes.

By hand

Copy skills/throng into your agent's skills directory: ~/.claude/skills, ~/.codex/skills, ~/.config/opencode/skills. A global install also leaves it under the installed package, $(npm root -g)/throng-mcp/skills/throng.

Agents pick skills up at session start, so open a new session after installing.

Check

In a new session, ask the agent to call list_harnesses. It starts each installed adapter without a prompt (seconds, no tokens) and lists the installed harnesses with their models and effort levels; unavailable holds the ones that are configured or installed but broken, with the reason. A built-in harness you haven't installed is not listed, and run_thronglet on it says what to install. If a run then fails during the handshake, the usual cause is auth: claude auth status, codex login, opencode auth login, gemini (set the API key once), agent login (Cursor), copilot login (Copilot). More in troubleshooting.

Before the first run, two things to know. The agent edits the directory you name, with your user's rights; throng adds no isolation and rolls nothing back. Give it only trees you would let an agent edit unattended, and give parallel writers a worktree each.

Using throng

agent names harness, model and effort in one string, / [: ]:

claude/opus:max

codex/gpt-6-sol:xhigh opencode/openrouter/z-ai/glm-5.3-flash gemini/gemini-2.5-pro cursor/gpt-5.4-nano copilot/auto

The model is one of the harness's own values; list_harnesses has the current list. Effort is low | medium | high | xhigh | max; omitted means the harness default.

A call:

{

"agent": "codex/gpt-6-sol:high", "prompt": "In this repository, add a --verbose flag to the CLI in src/cli.ts and a test for it. Run pnpm test. Leave the changes uncommitted and end with the list of files you changed.", "cwd": "/work/my-app", "description": "add --verbose flag" }

The prompt is self-contained: the nested session sees nothing of the calling conversation. The call returns the agent's final message, a session_id for follow-ups, and why the turn stopped.

toolwhat it does
run_throngletstarts a session and runs the first turn
send_messageruns the next turn in an existing session; steer: true interrupts the running turn instead of waiting for it
wait_throngletcollects the result of a turn started with background: true
list_throngletsthe sessions and what each is doing
cancel_throngletstops a session's running turn
list_harnessesthe installed harnesses, their models and effort levels

background: true on run_thronglet or send_message returns as soon as the turn is running; wait_thronglet collects the result later, which is how several agents run at once. schema asks for structured output: the agent ends with a JSON value matching the JSON Schema, and the result comes back as structured instead of text.

A failure is an MCP tool error with code, message and, when the session exists, session_id and the partial text. Every field, error code and stop reason of every tool is in DESIGN §3.

Permissions and safety

What a nested agent may do comes from the config file, never from a tool parameter, so the calling model cannot grant itself more than you allowed. Optional ~/.config/throng/config.yaml:

harness_mode: auto        # auto | ask

permission_answers: deny # auto | allow | deny | elicit

  • harness_mode is the mode the harness runs in: auto (the default) is its own auto-approve mode (Claude auto, Codex agent, OpenCode as configured, Gemini yolo, Cursor --force, Copilot allow_all), ask its asking mode.
  • permission_answers is how throng answers what the harness still asks: deny (the default) refuses, allow allows once, elicit shows you a dialog in the MCP client (needs elicitation support; Claude Code has it), auto shows the dialog when the client can and refuses otherwise.

-

冒頭だけを表示しています。続きはリポジトリで読めます