Skip to main content
Glama

🔗 Inhaltsverzeichnis

  1. ✨ Highlights

  2. ⚡️ Schnellstart

  3. 🛠️ Tool-Flow

  4. 🤝 Codex-Integration

  5. ⚙️ Konfiguration

  6. 🏗️ Architektur

  7. 🧪 Entwicklungs-Workflow

  8. 🧩 Troubleshooting

  9. 📜 Lizenz


Related MCP server: Ask MCP

✨ Highlights

  • 🧠 Mehrstufige Advisor-Pipeline: 3 kostenlose OpenRouter-Codingmodelle + automatische Premium-Fallbacks bei Rate-Limits.

  • 🤖 Codex-native Instruktionen: MCP Instructions erklären dem Agent genau, wann das Tool sinnvoll ist.

  • 📉 Kosten- & Latenz-Telemetrie: Jede Antwort liefert Token-Usage + Antwortzeit direkt an Codex zurück.

  • npx-fähig: npx @meinzeug/mcp-ai-bug-helper reicht – kein Clonen erforderlich.

  • 🔐 Secretsafe: .env + dotenv für API Keys, keine versehentlichen Commits.


⚡️ Schnellstart

Option A – Zero Install via npx

export OPENROUTER_API_KEY=sk-or-v1-...   # einmalig setzen
npx @meinzeug/mcp-ai-bug-helper

Option B – Lokal entwickeln

git clone https://github.com/meinzeug/mcp-ai-bug-helper.git
cd mcp-ai-bug-helper
npm install
cp .env.example .env && $EDITOR .env   # Key eintragen
npm run dev

💡 npm run dev startet den MCP-Server via ts-node und streamt Logs – perfekt zum Debuggen.

📦 Veröffentlichtes Paket: @meinzeug/mcp-ai-bug-helper – überprüfbar mit npm view @meinzeug/mcp-ai-bug-helper.


🛠️ Tool-Flow

Phase

Beschreibung

🔍 Analyse

ask-coding-advisors nimmt question + optional context entgegen (Stacktraces, Diffs, Logs).

🧑‍💻 Advisor-Fächer

qwen/qwen3-coder:free, qwen/qwen-2.5-coder-32b-instruct:free, agentica-org/deepcoder-14b-preview:free.

🚨 Fallback-Trigger

Erstes HTTP 429 schaltet auf Premium-Rotation: anthropic/claude-3.7-sonnet, mistralai/codestral-2508.

📊 Response-Payload

Drei unabhängige Antworten + Latency + Token-Stats + Hinweis, ob Fallback aktiv war.

Adaptive Modellwahl

  • 🔎 Jeder Prompt wird analysiert (Keywords für React/Go/infra/LLM etc.), daraus entstehen ScenarioTags (z. B. frontend, node, go).

  • 🤖 Für jeden Tag gibt es passende Modelle mit hinterlegten Stärken und Zuverlässigkeitsskalen (platinum/gold/silver).

  • ✅ Vor jedem Call prüft der Server über GET /api/v1/models, ob das Modell beim Account verfügbar ist. Modelle mit 404/500 werden für einige Minuten automatisch gesperrt.

  • 💳 Wenn kein gesundes Free-Modell verfügbar ist oder ein 429 zurückkommt, wird automatisch auf Premium-Fallbacks (Claude, Codestral, GPT-5.1 Codex) gewechselt.

  • 🚫 Sobald die kostenlosen Modelle dauerhaft fehlschlagen (z. B. Quota aufgebraucht oder Provider-404), werden sie für den gesamten Prozess deaktiviert – alle weiteren Aufrufe laufen direkt über die kostenpflichtigen Advisors.

sequenceDiagram
    participant Codex
    participant MCP as MCP Server
    participant OR as OpenRouter
    Codex->>MCP: call ask-coding-advisors(question, context)
    loop 3 advisors
        MCP->>OR: chat(model=free[i])
        alt HTTP 429
            MCP->>OR: chat(model=paid[j])
        end
        OR-->>MCP: text + usage + latency
        MCP-->>Codex: stream advisor result
    end

🤝 Codex-Integration

  1. Server in Codex registrieren

    codex mcp add coding-advisors \
      --env "OPENROUTER_API_KEY=sk-or-v1-..." \
      npx @meinzeug/mcp-ai-bug-helper
    
    # Syntax entspricht auch anderen MCP-Beispielen wie
    # codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
  2. Verifizieren

    codex mcp list | grep coding-advisors
  3. Im Prompt nutzen

    • /toolsask-coding-advisors

    • oder direkt mit @ask-coding-advisors im Prompt.

📎 Wenn du lieber aus dem Repo startest: --cmd "node" --args "dist/server.js" verwenden.

Andere MCP-Clients

  • Claude Code: Anthropic beschreibt in den Claude-Code-MCP-Docs exakt den gleichen stdio-/HTTP-Mechanismus. Du kannst denselben Befehl wie oben benutzen (oder einen claude.json-Eintrag), und die Tools erscheinen dort unter /mcp bzw. @ask-coding-advisors.

  • Sonstige IDEs: Jede Umgebung, die MCP spricht (z. B. VS Code-Extensions, Cursor, Eigene Agenten), kann denselben Server starten. Wichtig ist nur, dass OPENROUTER_API_KEY gesetzt ist und der Prozess via stdio oder TCP erreichbar ist.

Schnellbefehle für gängige Clients

  • Amp CLIamp mcp add coding-advisors -- npx @meinzeug/mcp-ai-bug-helper

  • Claude Code CLIclaude mcp add coding-advisors npx @meinzeug/mcp-ai-bug-helper

  • Codex CLIcodex mcp add coding-advisors --env "OPENROUTER_API_KEY=sk-or-v1-..." npx @meinzeug/mcp-ai-bug-helper

  • Copilot CLI/mcp add → Name coding-advisors, Command npx @meinzeug/mcp-ai-bug-helper

  • VS Code / Copilotcode --add-mcp '{"name":"coding-advisors","command":"npx","args":["@meinzeug/mcp-ai-bug-helper"]}'

  • Cursor / Amp / Cline / Kiro / Qoder / Warp / Windsurf / JetBrains AI / Gemini / Droid (Factory CLI) – überall einfach denselben Command + Name übernehmen; falls der Client eine Konfigurationsdatei verlangt, setzt du command = "npx", args = ["@meinzeug/mcp-ai-bug-helper"] und ergänzt OPENROUTER_API_KEY in der jeweiligen env-Sektion. Mobile Beispiele findest du in deren MCP-Handbüchern (Links: Amp, Cline, Gemini CLI, JetBrains AI Assistant).

  • Windows 11 & Codex – falls npx Chrome oder Node aus Program Files laden muss, ergänze in ~/.codex/config.toml:

    [mcp_servers.coding-advisors]
    command = "cmd"
    args = ["/c", "npx", "@meinzeug/mcp-ai-bug-helper"]
    env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files", OPENROUTER_API_KEY="sk-or-v1-..." }
    startup_timeout_ms = 20_000

⚙️ Konfiguration

Variable

Pflicht

Beschreibung

OPENROUTER_API_KEY

Persönlicher OpenRouter Key (liegt in .env).

OPENROUTER_APP_NAME

⛔ optional

Eigener Analytics-Tag (Default: MCP AI Bug Helper).

OPENROUTER_REFERRER

⛔ optional

Referrer-URL für OpenRouter-Dashboard.

.env.example liefert ein Template. Für Mehrfach-Workspaces einfach mehrere .env Dateien pflegen und vor dem Start sourcen.


🏗️ Architektur

  • Transport: @modelcontextprotocol/sdk + StdioServerTransport

  • Domainlogik: CodingAdvisorCoordinator orchestriert freie + paid Modelle.

  • HTTP-Layer: OpenRouterClient (native fetch, Retry auf Rate-Limits, Usage-Mapping).

  • Config: config.ts liest .env, assertConfig() schützt vor fehlendem Key.

  • Packaging: Scoped npm Modul, bindist/server.js, prepare/postbuild erzeugen ausführbares Artefakt.

src/
├─ server.ts            # MCP Bootstrap + Tool Definition
├─ codingAdvisors.ts    # Sequencer + Fallback-Rotation
├─ openrouterClient.ts  # REST Wrapper + Error Handling
├─ modelCatalog.ts      # Liste freier & paid Modelle
├─ config.ts            # dotenv + Validation
└─ errors.ts / types.ts # Hilfsklassen & DTOs

🧪 Entwicklungs-Workflow

Script

Zweck

npm run dev

MCP Server mit ts-node (Logs in Echtzeit).

npm run build

TypeScript Build + .d.ts + Sourcemaps + postbuild chmod.

npm run typecheck

Schneller TS-Check ohne Emit.

npm start

Führt das gebaute CLI (dist/server.js).

npm run scenarios

Führt reale OpenRouter-Tests auf mehreren Debug-Szenarien aus (filterbar via SCENARIO=react).

Bei Veröffentlichung sorgt npm publish automatisch für frische Builds (via prepare).


🧩 Troubleshooting

  • Missing OPENROUTER_API_KEY.env nicht geladen? Terminal neu starten oder source .env.

  • 429 Too Many Requests – Die App schwenkt automatisch auf die Premiumliste. Wenn alles blockiert ist, hilft nur Warten oder eigener OpenRouter-Plan.

  • codex mcp add ... schlägt fehl – Prüfe, ob codex Zugriff auf npx hat (Pfad) oder wechsle auf direkten node dist/server.js Befehl.

  • Keine Antworten im Codex-UInpm run dev separat starten und schauen, ob Requests ankommen (stdout).


📜 Lizenz

MIT © meinzeug – Mit Liebe für MCP + Codex gebaut. Contributions willkommen! 🎉

Available Tools

1 tool
ask-coding-advisorsAsk Coding AdvisorsB

Queries three OpenRouter coding specialists (free tier) and falls back to premium models when rate limited.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes
contextNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context: it queries three specialists (implying multiple responses or aggregation), uses free tier models, and has a fallback mechanism for rate limits. However, it doesn't cover other key behaviors like response format, error handling beyond rate limits, or whether it's read-only or mutative, leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Queries three OpenRouter coding specialists') and adds necessary details (free tier, fallback) without waste. Every part earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (querying multiple models with fallback), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on parameter usage, response format, error handling beyond rate limits, and other operational aspects, making it inadequate for full contextual understanding despite its conciseness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 2 parameters with 0% description coverage, so the description must compensate. It provides no information about the parameters (e.g., what 'question' and 'context' represent, their expected content, or how they're used in the query). This fails to add meaning beyond the bare schema, resulting in a low score due to the high burden from lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it queries three OpenRouter coding specialists. It specifies the service (OpenRouter), the type of specialists (coding), and the quantity (three). However, it doesn't distinguish from siblings since there are none, so it can't achieve a perfect score for sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'free tier' and 'falls back to premium models when rate limited,' suggesting it's suitable for general coding queries with fallback handling. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., other query tools or direct model calls), and there are no siblings to compare against, so the guidance is limited to implied context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • Changedask-coding-advisors2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
  2. 1 tool update
    • First observedask-coding-advisors

TDQS

B3.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a distinct purpose of querying coding specialists, so an agent cannot misselect between non-existent alternatives.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The tool name 'ask-coding-advisors' follows a clear verb_noun pattern, but consistency cannot be assessed across a set of one.

Tool Count2/5

One tool is generally too few for a server's purpose, as it limits functionality and suggests an incomplete or trivial scope. For a bug helper server, a single tool is insufficient to cover typical operations like analyzing, fixing, or testing code, making it feel thin and under-scoped.

Completeness2/5

The server's purpose as a bug helper implies a need for tools to handle various aspects of debugging, but with only one tool for querying advisors, there are significant gaps. Missing operations like code analysis, error detection, or solution implementation make the surface severely incomplete for the domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI-powered assistance for coding problems using Google's Gemini AI, combined with Perplexity insights and Stack Overflow references, facilitating contextual analysis and automatic response archiving for improved troubleshooting.
    15
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to multiple AI models (Grok, Gemini 2.5 Pro, Kimi, Qwen3 Coder, GLM-4.5) through OpenRouter, enabling users to query different specialized models for reasoning, coding, translation, and general tasks with automatic fallback to free variants.
    8
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/meinzeug/mcp-ai-bug-helper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server