{
  "markdown": "# Gonka Second Opinion — MCP Server\n\n**Get a second opinion from independent LLMs — in one call, for a fraction of a cent.**\n\n`gonka-second-opinion` runs your prompt across the independent models live on the\n[Gonka](https://gogonka.com) network *and* across assigned debate roles\n(skeptic / proponent / pragmatist …), in a single MCP call. Your main model stays\nin charge — you just get a panel of divergent views to check a decision against,\nwithout switching providers.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n![MCP](https://img.shields.io/badge/MCP-Streamable_HTTP-blue)\n[![Live grade](https://img.shields.io/badge/health-live_grade-orange)](https://wmcp.sh/mcp/grade/mcp.gogonka.com)\n\n**Live at:** `https://mcp.gogonka.com/mcp`\n\n---\n\n## One question → three independent opinions\n\n<p align=\"center\">\n  <img src=\"https://gogonka.com/img/second-opinion-example.svg\"\n       alt=\"Example: gonka_second_opinion runs one prompt across independent models and roles (proponent/skeptic/pragmatist) and returns attributed, divergent answers for your model to synthesize.\"\n       width=\"820\">\n</p>\n\n<p align=\"center\">\n  <img src=\"https://gogonka.com/img/panel-cost.svg\"\n       alt=\"One 3-model second opinion costs about 0.0014 cents — a fraction of a cent per panel.\"\n       height=\"72\">\n</p>\n\n*The example is illustrative — the live model set rotates over time; call\n`get_available_models` for today’s lineup. Per-panel cost is typical/measured;\ncheck `get_pricing` for live rates.*\n\n---\n\n## Why this instead of a plain LLM connector\n\n- **A panel, not a single answer.** Independent models trained by different labs\n  surface *non-overlapping* failure modes. Assigned roles add behavioral diversity\n  on top. You get disagreement you can act on, not one confident guess.\n- **Cheap enough to always use.** On the big providers a 3-way panel costs real money,\n  so nobody runs one. On Gonka it's a fraction of a cent — a second opinion becomes a\n  default habit, not a luxury.\n- **Zero setup, works in a sandbox.** The server makes the gateway call *for* you.\n  An agent with no outbound network and no way to edit its own config can still use it\n  over the already-open MCP channel. Free trial by default; paste your own key to run\n  on your balance.\n\n---\n\n## Install (30 seconds)\n\nAdd to your MCP client config (Claude Desktop / Cursor / …):\n\n```json\n{\n  \"mcpServers\": {\n    \"gonka-second-opinion\": {\n      \"url\": \"https://mcp.gogonka.com/mcp\"\n    }\n  }\n}\n```\n\nRestart the client — the tools appear automatically. No API key required to start\n(a free trial key is issued per caller).\n\n**Custom clients:**\n\n```bash\ncurl -X POST https://mcp.gogonka.com/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"method\":\"tools/list\",\"id\":1}'\n```\n\n---\n\n## Use your own key (after you register)\n\nRegistered on the **JoinGonka gateway** ([gate.joingonka.ai](https://gate.joingonka.ai))?\nThen run every call on **your own balance** — no trial budget, no per-IP limit.\nFirst get your key:\n\n1. Sign up at the [JoinGonka gateway](https://gate.joingonka.ai/register?ref=cf2bd855-ba1e-4b6e-8e56-9970049eec31)\n   (welcome bonus: 50M nGNK, no credit card).\n2. Open your gateway dashboard → **API keys** → copy your **JoinGonka gateway key** (starts with `jg-`).\n\nThen tell this MCP server to use it — pick the way that matches your client:\n\n**A. Client with an API-key / header field** (Cursor, Claude Code, LibreChat, most custom clients)\n\nPut the key in the server's `Authorization` header — it arrives as `Bearer …` and\nevery call switches to your balance automatically:\n\n```json\n{\n  \"mcpServers\": {\n    \"gonka-second-opinion\": {\n      \"url\": \"https://mcp.gogonka.com/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer jg-YOUR_KEY_HERE\" }\n    }\n  }\n}\n```\n\nIf your client shows a plain *API key* / *Bearer token* box instead of raw headers,\njust paste your `jg-…` JoinGonka gateway key there.\n\n**B. Client with no key/header field** (e.g. claude.ai Custom Connectors)\n\nMint a **personal connector URL** that carries your key for you:\n\n1. Go to **https://mcp.gogonka.com/personal**\n2. Paste your `jg-…` JoinGonka gateway key → you get a URL like `https://mcp.gogonka.com/k/<token>/mcp`\n3. Add *that* URL as the MCP connector (in claude.ai: **Add custom connector → URL**).\n   Nothing else to enter — no key field needed.\n\n> Keep the personal URL secret — it stands in for your key. The same key always mints\n> the same URL.\n\n**How it's handled:** the key (or personal token) is read from the request only,\nforwarded to the JoinGonka gateway, and **never stored or logged**. An unrelated\n`Authorization` header (OAuth, a proxy's own token) is ignored, so it can't break the\nfree trial path. Remove the header/URL and the server falls back to the free trial.\n\n---\n\n## The flagship tools\n\n### `gonka_second_opinion(prompt, system?, perspectives?, max_tokens?)`\n\nRun one prompt across the live models and/or a set of roles, in parallel.\n\n- Leave `perspectives` empty → one opinion per live model.\n- Pass `perspectives` (short role/stance labels, max 5) → one opinion per role,\n  each answered candidly from that viewpoint, rotated across the live models.\n  Examples: `[\"for\",\"against\",\"neutral\"]`, `[\"security expert\",\"product manager\",\"end user\"]`.\n- Returns `{ opinions:[{model, perspective?, response}], synthesis_instructions, trial_budget|cost }`.\n  Attribute each opinion to its model + role when you present them.\n\n### `gonka_chat(prompt, system?, model?, max_tokens?)`\n\nOne completion through the server — for when you want a single cheap answer, or a\nsub-task run without giving the agent its own network/key. `model` accepts `\"auto\"`,\na nickname, or an exact id; anything not live right now is routed to a model that is.\n\nBoth tools auto-detect **trial** (free, per-IP budget) vs **registered** (your own\n`jg-…` key) mode. On trial exhaustion they return a signup link + welcome bonus to\nrelay to the user — no fabricated keys, no altered numbers.\n\n---\n\n## Also included\n\n<details>\n<summary><b>Cost intelligence</b> — is Gonka actually cheaper for your workload? (8 tools)</summary>\n\n<br>\n\n<img src=\"https://gogonka.com/img/price-badge.svg\"\n     alt=\"Gonka live inference price per 1M tokens and how many times cheaper than GPT-5.5 — see get_pricing for the real-time number.\"\n     height=\"80\">\n\n*Reflects the last cached render (GitHub proxies images); call `get_pricing` for the\nreal-time number. All figures float with the GNK/USD rate — never trust a hardcoded one.*\n\n- `get_pricing` — current $/1M tokens, GNK/USD rate, live ratios vs OpenAI/DeepSeek/Anthropic\n- `compare_providers(provider)` — side-by-side vs openai / anthropic / deepseek / mistral / gemini\n- `calculate_savings(monthly_spend_usd)` — exact monthly/annual savings for your spend\n- `suggest_model_for_task(task_description, …)` — model + cost recommendation\n- `get_available_models` — the models live on the network right now, with live pricing\n- `get_trial_key` — free `gc-` key instantly (no signup); expires in 2h, first use extends to 24h\n- `get_signup_link` — permanent account + welcome bonus + copy-paste SDK snippets\n- `register_on_gonka(…)` — personalized cost-analysis pitch (computes savings; does **not** create an account)\n\n</details>\n\n<details>\n<summary><b>Documentation knowledge graph</b> — search 1000+ Gonka concepts (10 tools)</summary>\n\n<br>\n\n- `query_graph(question, …)` — topic search over the concept graph\n- `search_docs(query, …)` / `read_doc(filename, …)` / `list_docs()` — full-text docs\n- `get_node(label)` / `get_neighbors(label, …)` — concept detail and relations\n- `get_god_nodes()` / `get_community(id)` / `get_graph_stats()` — structure overview\n- `find_shortest_path(source, target, …)` — conceptual path between two ideas\n\n</details>\n\n<details>\n<summary><b>MCP prompts &amp; resources</b></summary>\n\n<br>\n\n- Prompt `gonka_start(task)` — seed a cost-comparison conversation\n- Prompt `calculate_my_savings(monthly_spend_usd)` — seed a savings estimate\n- Resource `gonka://pricing-guide` — structured live pricing data + decision matrix\n\n</details>\n\n---\n\n## Honesty & hygiene\n\n- **Live, not hardcoded.** Prices float with the market and the model set rotates —\n  the server quotes both live (`get_pricing`, `get_available_models`), and the badges\n  above are rendered from live data, not typed into this file.\n- **Panel ≠ magic.** A second opinion is worth exactly as much as the models are\n  independent. The panel uses the genuinely different models live on the network at\n  the time of the call; it does not claim a bigger fleet than is actually serving.\n- **OpenAI/Anthropic-compatible.** Two config changes, zero code changes:\n  `base_url=https://gate.joingonka.ai/v1` (OpenAI) or `https://gate.joingonka.ai` (Anthropic).\n- **Tool hygiene.** All tools ship typed input schemas with MCP annotations\n  (`readOnlyHint`, `idempotentHint`, `openWorldHint`), enum/range constraints, and clear\n  descriptions. Inference tools are per-IP rate-limited in trial mode.\n- **Privacy.** HTTPS/TLS 1.2+. No keys in query strings (flagged by middleware).\n  Anonymized logging (IP, User-Agent, tool name); inference prompts truncated;\n  caller keys never logged or returned.\n\n**Live health grade:** https://wmcp.sh/mcp/grade/mcp.gogonka.com\n\n---\n\n## Links\n\n- **Website:** https://gogonka.com\n- **GitHub:** https://github.com/bystray/gonka-mcp-server\n- **Signup (welcome bonus):** https://gate.joingonka.ai/register?ref=cf2bd855-ba1e-4b6e-8e56-9970049eec31\n- **Live pricing JSON:** https://gogonka.com/pricing.json\n- **Status / grade:** https://wmcp.sh/mcp/grade/mcp.gogonka.com\n\n**License:** MIT · **Version:** 2.2.0\n",
  "bytes": 9647,
  "sha": "e747daf55599e28177403ae135daaf2558b1ede10a59bbec5d0c78d55233b9ec",
  "repo_slug": "bystray/gonka-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_bystray_gonka_mcp_server_f8eba4e6/readme"
}