> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# KI-Agenten mit dem querying.ai MCP-Server verbinden

> Geben Sie Claude Code, Codex oder jedem MCP-Client Tools, um KI-Engines abzufragen, Seiten zu scrapen, Prompts zu recherchieren und GEO-Monitore zu verwalten.

Der querying.ai MCP-Server stellt die API als Tools des [Model Context Protocol](https://modelcontextprotocol.io/) bereit. Er nutzt dieselben Engines, dieselbe Warteschlange, dieselben Ergebnisformen und dieselben API-Schlüssel wie die REST-API und speichert weder Ihren Schlüssel noch Ihre Tasks.

| | |
| - | - |
| Endpunkt | `https://mcp.querying.ai/mcp` |
| Transport | Streamable HTTP |
| Authentifizierung | `Authorization: Bearer <API key>` |

## Einen Client verbinden

Legen Sie Ihren Schlüssel zuerst in der Umgebungsvariablen `QUERYING_API_KEY` ab. Einen Schlüssel erhalten Sie unter [API-Schlüssel](https://querying.ai/dashboard/keys).

**Claude Code**

```bash theme={"theme":"css-variables"}
claude mcp add --transport http querying \
  https://mcp.querying.ai/mcp \
  --header 'Authorization: Bearer ${QUERYING_API_KEY}'
```

Behalten Sie die einfachen Anführungszeichen bei. Mit doppelten Anführungszeichen setzt Ihre Shell den Schlüssel einmalig ein, und Claude Code speichert den Wert in seiner Konfigurationsdatei.

**Codex**

In `~/.codex/config.toml` ergänzen:

```toml theme={"theme":"css-variables"}
[mcp_servers.querying]
url = "https://mcp.querying.ai/mcp"
bearer_token_env_var = "QUERYING_API_KEY"
tool_timeout_sec = 240
```

**mcp.json**

Für Clients, die eine `mcp.json`-Datei lesen:

```json theme={"theme":"css-variables"}
{
  "mcpServers": {
    "querying": {
      "url": "https://mcp.querying.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

Jeder andere Streamable-HTTP-Client funktioniert, wenn er bei jeder Anfrage diese Header sendet:

```http theme={"theme":"css-variables"}
Authorization: Bearer <API key>
Accept: application/json, text/event-stream
Content-Type: application/json
```

Eine Anfrage ohne Bearer-Header liefert `401`. Ein ungültiger Schlüssel wird beim ersten Tool-Aufruf als Tool-Fehler gemeldet.

## Tools

Tools, die Tasks einreichen, kosten so viel wie der entsprechende API-Aufruf. Lesende Tools sind kostenlos.

### Tasks und Recherche

| Tool | Funktion | Credits |
| - | - | - |
| `run_prompt` | Reicht einen Prompt bei einer Engine ein und wartet auf das Ergebnis. | Preis der Engine |
| `submit_prompt` | Reicht einen Prompt ein und gibt sofort den eingereihten Task zurück. | Preis der Engine |
| `get_task` | Liefert den Status eines Tasks und nach Abschluss sein Ergebnis. | Kostenlos |
| `scrape_page` | Liest eine Webseite oder ein Text-PDF als Markdown (`WEB_SCRAPE`) und wartet darauf. | 1 pro URL |
| `read_product` | Liest eine Produktseite eines Shops (`COMMERCE_PRODUCT`) und wartet auf Preis, Bestand, Bilder, Beschreibungsbilder, technische Daten und Optionen. | 3 pro Seite |
| `research_prompts` | Findet die Fragen, die Menschen KI-Assistenten zu einem Thema stellen, sortiert nach Suchnachfrage, mit einem `monitorSet` für `create_monitor`. Märkte US und KR. | 11 |
| `run_product_lookup` | Fragt die KI-Shopping-Engines nach einem Produkt und bis zu 5 Wettbewerbern und wartet auf das Ergebnis: ob jede Engine sie zeigt, Händler, Preise, zitierte Websites und welche davon die Shopping-Prompts bringen. Märkte US und KR. | 10 pro Produkt, 5 pro Shopping-Prompt |
| `get_product_lookup` | Liefert eine Product-Lookup-Abfrage per id, als Zusammenfassung oder vollständig. | Kostenlos |

`run_prompt` und `submit_prompt` nehmen `taskType`, `prompt` sowie optional `country`, `idempotencyKey`, `include` und `page` (1 bis 10, für `GOOGLE_SERP` und `NAVER_SERP`). Engines und Preise finden Sie unter [Engines](/de/engines/overview.md), die Recherche-Eingaben unter [Prompt Research](/de/research/prompt-research.md).

Für `COMMERCE_SERP` senden Sie `site` und `query` statt `prompt`, optional mit `limit` (1 bis 40); siehe [Commerce Search](/de/engines/commerce-serp.md). `read_product` nimmt `url` sowie optional `country` und `idempotencyKey`; siehe [Commerce Product](/de/engines/commerce-product.md).

`run_product_lookup` nimmt `product`, `country` sowie optional `competitors`, `prompts`, `engines` und `idempotencyKey`; siehe [Product Lookup](/de/research/product-lookup.md). Es liefert eine Zusammenfassung: pro Produkt die Engines, die es zeigen, seine Preisspanne, die 10 wichtigsten Händler und zitierten Websites und eine Zeile pro Engine; pro Shopping-Prompt die Produkte, die jede Engine gezeigt oder genannt hat. Das ist etwa ein Zehntel der vollständigen Antwort. Übergib `detail: "full"` für jedes Listing, jede zitierte Seite und jede Task-id.

### GEO-Monitore

Jedes Monitor-Tool führt einen API-Aufruf mit Ihrem Schlüssel aus; Eigentümerschaft, Schlüsselbereich und Tariflimits gelten also wie bei REST. Siehe [GEO-Monitoring](/de/monitors.md).

| Tool | Funktion | Credits |
| - | - | - |
| `get_monitor_capabilities` | Monitor-Engines, Credits pro Task, Limits und Metrikdefinitionen. Rufen Sie es auf, bevor Sie einen Monitor konfigurieren. | Kostenlos |
| `list_monitors` | Ihre Monitore mit 30-Tage-Zusammenfassungen. | Kostenlos |
| `get_monitor` | Die Legacy-Detailansicht eines Monitors. | Kostenlos |
| `create_monitor` | Erstellt einen Monitor und startet seinen ersten Lauf. Jeder Lauf reicht pro Prompt, Messpunkt und Stichprobe auf jeder Engine einen Task ein. | Pro Lauf; siehe [Kosten und Zeitplan](/de/monitors.md#kosten-und-zeitplan) |
| `update_monitor` | Ändert Felder oder pausiert und setzt mit `enabled` fort. | Kostenlos; mehr Prompts oder Engines erhöhen die Kosten jedes Laufs |
| `delete_monitor` | Löscht einen Monitor und seinen Bewertungsverlauf. Nicht rückgängig zu machen. | Kostenlos |
| `run_monitor` | Startet sofort einen Lauf. | Die Tasks eines Laufs, abgerechnet wie ein geplanter Lauf |
| `get_monitor_analytics` | Erwähnungs- und Zitierraten, Periodenvergleich, Share of Voice, Zeilen pro Engine und pro Prompt. | Kostenlos |
| `get_monitor_sources` | Zitierte Domains oder Seiten, paginiert mit `nextCursor`. | Kostenlos |
| `get_monitor_results` | Bewertete Zeilen, mit Antworttext und Quellen, wenn `includeEvidence` true ist. | Kostenlos |
| `get_monitor_answer` | Markdown, Quellen und Bewertungskontext einer einzelnen Antwort. | Kostenlos |
| `suggest_monitor_prompts` | Entwirft Prompt-Ideen aus Markenangaben. Es wird nichts gespeichert. | Kostenlos; 30 Aufrufe pro Stunde, einer alle 20 Sekunden |
| `get_monitor_alerts` | Alarmverlauf und ob der Alarm scharf geschaltet ist. | Kostenlos |
| `test_monitor_alert` | Sendet eine Test-Alarm-E-Mail. Begrenzt auf 3 pro Monitor je 5 Minuten (`429 RATE_LIMITED`). | Kostenlos |

## Timeouts

`run_prompt`, `scrape_page`, `read_product` und `research_prompts` pollen, bis der Task fertig ist. Sie warten `timeoutSeconds` (Standard 180, maximal 900). Läuft der Task danach noch, liefert das Tool einen `TASK_TIMEOUT`-Fehler mit der `taskId`. Der Task läuft weiter; rufen Sie `get_task` mit dieser id auf, um ihn abzuholen.

`run_product_lookup` pollt die Abfrage auf dieselbe Weise. Es wartet standardmäßig 210 Sekunden, damit der Aufruf innerhalb eines Client-Timeouts von 240 Sekunden endet, und die meisten Abfragen sind in 2 bis 3 Minuten fertig. Läuft die Abfrage danach noch, liefert das Tool einen `LOOKUP_TIMEOUT`-Fehler mit der `lookupId`; rufe damit `get_product_lookup` auf.

Stellen Sie den Tool-Timeout Ihres Clients länger als `timeoutSeconds` ein. Das Codex-Beispiel verwendet `tool_timeout_sec = 240` für den Standard von 180 Sekunden. Erlaubt Ihr Client nur kurze Tool-Aufrufe, verwenden Sie `submit_prompt` und danach `get_task`.

## Fehler

Tool-Fehler kommen als JSON im Tool-Ergebnis zurück:

| Code | Bedeutung |
| - | - |
| API-Fehlercodes wie `KEY_SCOPE_DENIED` | Die API hat den Aufruf abgelehnt; Status und Details sind enthalten. Siehe [Fehler](/de/concepts/errors.md). |
| `VALIDATION_ERROR` | Die Tool-Eingabe war ungültig. |
| `TASK_TIMEOUT` | Das Warten endete, bevor der Task fertig war. Enthält `taskId`. |
| `LOOKUP_TIMEOUT` | Das Warten endete, bevor alle Anfragen der Produktabfrage fertig waren. Enthält `lookupId` und die noch offenen Engines. |
| `TASK_FAILED` | Der Task ist fehlgeschlagen. Enthält `taskId` und das Task-Ergebnis. |

## Abrechnung

Jeder Tool-Aufruf wird dem Konto berechnet, dem der Schlüssel gehört, zu denselben Preisen wie die REST-API. Schlüsseleinstellungen gelten: Ein [Engine-Bereich oder ein tägliches Credit-Limit](/de/authentication.md#schlüsseleinstellungen) am Schlüssel begrenzt, was der Agent ausgeben kann. Geben Sie einem Agenten einen eigenen, eingeschränkten Schlüssel mit Tageslimit.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.