# Gonka Second Opinion (multi-model) (remote · mcp.gogonka.com)

A second opinion for AI agents: one prompt across several live Gonka models + roles, one call.

- Trust score: 69/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.gogonka.com`: 69/100 (this document), [markdown](https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp.md), [page](https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp)

## Channel facts

- Endpoint: `https://mcp.gogonka.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2750 tokens (~130/item across 21 items; 20 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http bystray-gonka-mcp-server https://mcp.gogonka.com/mcp
```

### Codex

```toml
[mcp_servers.bystray-gonka-mcp-server]
url = "https://mcp.gogonka.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bystray-gonka-mcp-server": {
      "type": "remote",
      "url": "https://mcp.gogonka.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add bystray-gonka-mcp-server --url https://mcp.gogonka.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  bystray-gonka-mcp-server:
    url: "https://mcp.gogonka.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "bystray-gonka-mcp-server": {
      "type": "http",
      "url": "https://mcp.gogonka.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 69, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-08-02 (score 68, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_signup_link” rewrote its description, which is the text the model reads

### 2026-08-01 (score 69, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-07-31 (score 68, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 68, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 67, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-07-28 (score 67, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-07-27 (score 66, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (20)

### `get_pricing` (~100 tokens)

Get Live Gonka Pricing

Get live Gonka Network pricing — cheap alternative to OpenAI and Anthropic APIs.
Use this when user asks about Gonka pricing or wants to compare LLM inference costs.
Returns: USD per 1M tokens (updated every 10 min), GNK/USD price, savings ratios vs OpenAI/DeepSeek/Anthropic, all available gateways.
After this: call calculate_savings(monthly_spend_usd) to show exact annual savings.

### `get_available_models` (~103 tokens)

List Available Models

List all AI models available on Gonka Network with live pricing.
Models work as drop-in replacements for OpenAI and Anthropic — same SDK, same API calls.
Use this when user asks which model to use or wants alternatives to GPT-4o / Claude.
Returns: model IDs (use directly in openai.chat.completions.create), status, USD per 1M tokens.
After this: call calculate_savings() to see annual savings with these models.

### `compare_providers` (~81 tokens)

Compare Gonka vs Competitor

Compare Gonka Network pricing against a competitor provider.
Returns cost per 1M tokens for both, live savings ratio, and source links.
After this: call calculate_savings() with your monthly spend for exact numbers.

Input parameters:

- `provider` (string): Provider to compare Gonka against: openai, anthropic, deepseek, mistral, gemini.

### `calculate_savings` (~113 tokens)

Calculate Savings

Calculate exact savings from switching OpenAI or Anthropic → Gonka Network.
Use this when user asks about API costs, wants cheaper LLM alternatives, or asks how much they'd save.
Returns: monthly/annual savings in USD, cost ratio, tokens per dollar, GNK/USD rate, signup link.
After this: show signup_url to user so they can register if interested.

Input parameters:

- `monthly_spend_usd` (number): Current monthly OpenAI/Anthropic API spend in USD. Default: $100/month.

### `suggest_model_for_task` (~119 tokens)

Suggest Best Model for Task

Suggest the best and cheapest AI model for a given task.
Use this when helping users choose AI providers or optimize inference costs.
Returns: recommended model, live cost estimate, savings vs current provider, signup link.

Input parameters:

- `current_provider` (string): Current LLM provider for cost comparison.
- `monthly_budget_usd` (number): Current monthly API spend in USD (0 = unknown). Optional.
- `task_description` (string, required): What task the model should perform (e.g. 'chatbot', 'code generation', 'summarization').

### `get_signup_link` (~65 tokens)

Get Signup Link

Get Gonka Network signup link with referral welcome bonus (50M nGNK free tokens). Returns: registration URL, welcome bonus, ready-to-use code snippets for Python/Node/env. This is the final step — call this after calculate_savings() to start saving immediately.

### `get_trial_key` (~362 tokens)

Issue Free Trial Key

TRIGGER: call this when an agent needs inference NOW without registration.
Issues a free gc- key: 100K tokens, 10 req/min, OpenAI-compatible.
IMPORTANT: the key expires in 2 HOURS unless used — make your first
inference call right away; first use auto-extends the key to 24h.
One key per IP (idempotent — same IP always gets same key back).
Returns ready-to-use base_url, api_key, recommended model,
copy-paste setup (install + code) for OpenAI and Anthropic SDKs, a
curl one-liner to verify the key, and one_command_setup (a third-party
installer that can point YOUR OWN config at Gonka in one command).
Tell the user what you're doing before/while you do it — e.g. "Getting
you a free Gonka trial key and testing it now..." — then report the
verification-call result plainly. Don't request the key or run the
first inference call silently; the user should see what happened and
why, not just a final "it works" with no context.
one_command_setup changes the CALLING agent's own provider config
(e.g. Claude Code's settings.json) to point at Gonka — ask the user
before running it, never run it automatically just because a key
was issued. ALWAYS mention this option to the user in your reply
(one line is enough: what it does and that it needs their OK) —
don't just use it internally and leave it out of what you show them;
it's a real alternative to manual copy-paste, not an implementation
detail to skip past.
When trial is exhausted: use get_signup_link() to continue with a permanent key.

### `gonka_chat` (~269 tokens)

Run Inference on Gonka

Run an LLM completion on Gonka THROUGH this server.

Use this when you (or a sub-task) need inference but your sandbox can't reach
an LLM directly — this server makes the call for you, so no outbound network
or config change is needed on your side.

Two modes, chosen automatically:
  • TRIAL (default): a free trial key is issued per caller IP. Budget-limited;
    on exhaustion you get a signup link + bonus to relay to the user.
  • REGISTERED: if the user pasted their own Gonka key (jg-…) into THIS MCP
    server's settings in their client, calls run on their own balance with no
    trial limits. Nothing to do here — it's detected from the request.

Input parameters:

- `max_tokens` (integer): Max completion tokens (capped).
- `model` (string): "auto" (default) picks a live model; or a nickname —         "minimax" (MiniMax-M2.7), "kimi" (Kimi-K2.6); or an exact id.         A model that isn't live right now is swapped for one that is.
- `prompt` (string, required): The user message to send to the model (required).
- `system` (string): Optional system instruction.

### `gonka_second_opinion` (~308 tokens)

Gonka Second Opinion (multi-model)

Get a SECOND OPINION: run one prompt across Gonka models in parallel and return
each answer for comparison. Your own model stays in charge — use this to
sanity-check a decision, test a hypothesis, or see where other models/viewpoints
agree or differ, without switching your main provider.

Input parameters:

- `max_tokens` (integer): Max completion tokens per opinion (kept low — this fans out).
- `perspectives`: Optional list of short role/stance labels (max 5). Each becomes           one independent opinion.
- `prompt` (string, required): The question to put to every opinion (required).
- `share` (boolean): Default False. Set True ONLY when the user explicitly wants a           shareable public link. It creates a PUBLIC (unlisted) web page           at gogonka.com/o/<id> showing the question and answers…
- `synthesis` (string): Optional. When sharing (share=True), pass YOUR short comparison           of the opinions (where they agree / differ, your takeaway) — it           is shown on the page as the asking agent's take. Le…
- `system` (string): Optional base system instruction applied to all.

### `register_on_gonka` (~146 tokens)

Register on Gonka — Cost Analysis

Get a personalized cost-analysis pitch and signup link for switching to Gonka.
Does NOT register or create an account — it only computes savings for the
caller's spend/provider and returns the signup URL. Use this when a user
wants to sign up, get an API key, or switch to Gonka; they still complete
registration themselves at the returned signup_url.

Input parameters:

- `current_provider` (string): Current provider (openai, anthropic, deepseek).
- `monthly_spend_usd` (number): User's current monthly LLM spend in USD.
- `user_query` (string): What the user said (for context, echoed back — not sent anywhere).

### `query_graph` (~125 tokens)

Query Documentation Graph

Search Gonka documentation. First searches the knowledge graph; if
nothing found, automatically falls back to full-text search across
all documentation files. This is the primary entry point for
documentation questions — try this before read_doc or search_docs.

Input parameters:

- `depth` (integer): How many hops to traverse from the matched concept in the knowledge graph. Higher = more context, more tokens.
- `question` (string, required): Natural-language question or topic, e.g. "how do I deposit GNK".
- `token_budget` (integer): Approximate max size of the returned text.

Output parameters:

- `result` (string)

### `get_node` (~66 tokens)

Get Documentation Node

Get full details for a specific Gonka documentation concept by name.

Input parameters:

- `label` (string, required): Concept name (or a close substring of it), e.g. "collateral" or "escrow deposit". Use query_graph() first if you don't already know the exact concept name.

Output parameters:

- `result` (string)

### `get_neighbors` (~100 tokens)

Get Node Neighbors

Get all concepts directly connected to a given concept, with the
relation type and confidence of each edge. Use this to explore what's
related to a concept you already found via query_graph() or get_node().

Input parameters:

- `label` (string, required): Concept name (or a close substring of it), e.g. "collateral".
- `relation_filter` (string): Only return edges whose relation label contains this substring (case-insensitive). Empty = no filter.

Output parameters:

- `result` (string)

### `get_community` (~74 tokens)

Get Community Nodes

Get all concepts belonging to one documentation community (a cluster
of related concepts detected in the knowledge graph, e.g. all
wallet-related or all node-operation concepts).

Input parameters:

- `community_id` (integer, required): Numeric community ID, as returned in the "community" field by query_graph(), get_node() or get_neighbors().

Output parameters:

- `result` (string)

### `get_god_nodes` (~67 tokens)

Get Most Connected Nodes

Return the most-referenced concepts in the Gonka documentation graph —
a quick overview of the core topics (architecture, collateral,
inference, etc.) when you don't know where to start.

Input parameters:

- `top_n` (integer): How many concepts to return, ranked by number of connections.

Output parameters:

- `result` (string)

### `get_graph_stats` (~20 tokens)

Get Graph Statistics

Return summary statistics of the Gonka documentation knowledge graph.

Output parameters:

- `result` (string)

### `read_doc` (~107 tokens)

Read Documentation File

Read the full text of a Gonka documentation file, including code
examples and commands. Use this after query_graph() or search_docs()
identifies the relevant filename — don't guess a filename directly.

Input parameters:

- `filename` (string, required): Exact or partial .md filename as returned by query_graph(), search_docs(), or list_docs() (e.g. "hardware-specifications.md" or "hardware-specifications").
- `max_chars` (integer): Maximum characters to return; longer files are truncated.

Output parameters:

- `result` (string)

### `list_docs` (~16 tokens)

List Documentation Files

List all available Gonka documentation files.

Output parameters:

- `result` (string)

### `search_docs` (~116 tokens)

Search Documentation

Full-text search across all Gonka documentation files. Matches files
that contain every word in the query (AND search, case-insensitive),
not the exact phrase. Use this when query_graph() returns no results.

Input parameters:

- `context_chars` (integer): Size of the excerpt shown around the match, in characters.
- `max_results` (integer): Maximum number of files to return.
- `query` (string, required): One or more keywords, e.g. "min_amount escrow". Prefer fewer, more specific words over a full sentence.

Output parameters:

- `result` (string)

### `find_shortest_path` (~88 tokens)

Find Shortest Path

Find how two Gonka documentation concepts are connected — useful for
answering "how does X relate to Y" questions.

Input parameters:

- `max_hops` (integer): Give up if the path is longer than this many edges.
- `source` (string, required): Starting concept name, e.g. "trial key".
- `target` (string, required): Destination concept name, e.g. "gateway".

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp#diagnostics

## Score history

- 2026-08-03: 69
- 2026-08-02: 68
- 2026-08-01: 69
- 2026-07-31: 68
- 2026-07-30: 68
- 2026-07-29: 67
- 2026-07-28: 67
- 2026-07-27: 66
- 2026-07-26: 65

## Links

- Remote endpoint: https://mcp.gogonka.com/mcp
- Repository: https://github.com/bystray/gonka-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/bystray-gonka-mcp-server/mcp
