KI-Agenten - MCP, REST und OpenAPI

Verbinden Sie Claude Desktop, Claude Code, claude.ai, ChatGPT oder Ihren eigenen Agenten mit Arachnide - drei Zugänge, 25 Tools, der empfohlene System-Prompt und das Sicherheitsmodell.

Drei Zugänge, ein Satz von Tools

Seit 3.13 ist Arachnide dafür gebaut, von einem KI-Agenten gesteuert zu werden: von Ihrem eigenen oder von jedem Assistenten, der MCP (Claude) oder OpenAPI (ChatGPT Actions, LangChain, n8n, Make…) spricht. Der Agent liest das geöffnete Audit, startet Crawls, die live in der App erscheinen, erkundet Seiten, ruft den priorisierten Maßnahmenplan und den Bericht zur GEO-Readiness ab und korrigiert die Website mit Ihrer Zustimmung über die CMS-Connectors. Alles läuft auf Ihrem Rechner oder Ihrem Server; an Dritte wird nichts gesendet, außer dem, was das Modell Ihres eigenen Agenten erhält.

Diese Tabelle wird aus dem Repository erzeugt und ist nur auf Englisch verfügbar.

DoorForURLAuth
MCP over stdioClaude Code, Claude Desktop, any local MCP clientnode src/mcp.mjsnone (local process)
MCP over HTTP (Streamable HTTP, stateless JSON)claude.ai custom connectors, Claude Desktop remote servers, hosted agents, Claude Agent SDKhttps://<your-host>/mcpAuthorization: Bearer <token>
REST + OpenAPI 3.1ChatGPT GPT Actions, OpenAI Agents/Responses API tools, LangChain, n8n, Make, curlPOST https://<your-host>/api/agent/<tool> · spec at /openapi.jsonAuthorization: Bearer <token> or X-API-Key: <token>

Das Token wird beim ersten Start von Arachnide erstellt und liegt in ~/.arachnide/agent.json (Modus 0600). Lesen, kopieren oder erneuern Sie es unter Einstellungen → KI-Agenten; auf einem Server setzen Sie stattdessen ARACHNIDE_AGENT_TOKEN. Derselbe Bildschirm zeigt die letzten von Agenten empfangenen Aufrufe, die MCP- und OpenAPI-URLs, ein Feld für die öffentliche URL bei Tunneln und fertige Snippets zum Einfügen. Die Tools sind auf den drei Zugängen identisch: Sie stammen aus einem einzigen Register, src/agent/tools.mjs. crawl_id: "current" bezeichnet immer den in der Arachnide-App geöffneten Crawl.

Claude Desktop und Claude Code (lokal, stdio)

claude mcp add arachnide -- node /path/to/arachnide-seo-spider/src/mcp.mjs
# mit einem Secret für eine Website:
claude mcp add arachnide -e ARACHNIDE_WP_APP_PASSWORD="xxxx xxxx xxxx xxxx" -- node /path/to/arachnide-seo-spider/src/mcp.mjs

Claude Desktop: Settings → Developer → Edit Config, dann den Server hinzufügen und Claude Desktop neu starten:

{
  "mcpServers": {
    "arachnide": {
      "command": "node",
      "args": ["C:\\Users\\you\\arachnide-seo-spider\\src\\mcp.mjs"],
      "env": { "ARACHNIDE_WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx", "ARACHNIDE_LANG": "de" }
    }
  }
}

Dann fragen Sie einfach: „Prüfe www.meine-seite.de und korrigiere die Titles, Descriptions und fehlenden Alt-Texte der wichtigsten Seiten.“, oder verwenden Sie den Prompt optimize_site. Bei laufender App können Sie von Claude Desktop aus auch den HTTP-Zugang nutzen: Einstellungen → KI-Agenten → Claude-Desktop-Konfiguration kopieren liefert { "mcpServers": { "arachnide": { "url": "http://127.0.0.1:4000/mcp", "headers": { "Authorization": "Bearer ara_…" } } } }.

Umgebungsvariablen des MCP-Servers: ARACHNIDE_LANG (Beschriftungen: en, fr, de, es, it, pt), ARACHNIDE_HOME (Konfiguration und Journal, Standard ~/.arachnide), ARACHNIDE_CONFIG (Datei der Websites), ARACHNIDE_CRAWLS (Crawl-Ordner, standardmäßig mit der Web-App geteilt).

Benutzerdefinierter Connector in claude.ai und gehostete Agenten (HTTP)

claude.ai erreicht nur Server im öffentlichen Internet über HTTPS. Machen Sie die App erreichbar:

npm start                                        # Arachnide auf http://localhost:4000
cloudflared tunnel --url http://localhost:4000   # oder: ngrok http 4000 · tailscale funnel 4000

Fügen Sie in Arachnide → Einstellungen → KI-Agenten die öffentliche URL ein (zum Beispiel https://xyz.trycloudflare.com). In claude.ai → Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen: URL https://xyz.trycloudflare.com/mcp, und das Token als Bearer-Token. Das Token ist Ihr Schlüssel: Geben Sie es nie weiter. Für einen gehosteten Agenten, der mit dem Claude Agent SDK oder der Messages API gebaut ist, fügen Sie den Server als MCP-Server mit derselben URL und demselben Authorization-Header hinzu, oder rufen Sie den REST-Zugang direkt auf.

ChatGPT (GPT Actions) und OpenAI-Agenten

Im GPT-Builder → Actions → Import from URL: https://<your-host>/openapi.json. Authentifizierung: API Key, Auth-Typ Bearer, Token einfügen. Jedes Tool wird zu einer Action (arachnide_get_summary, arachnide_action_plan…); Nur-Lese-Tools sind als nicht folgenreich markiert, Schreib-Tools (anwenden, zurückrollen, konfigurieren) fragen um Bestätigung. Mit der OpenAI Agents / Responses API richten Sie ein gehostetes MCP-Tool auf https://<your-host>/mcp mit dem Bearer-Header, oder kapseln Sie die REST-Endpunkte als Funktionen aus der OpenAPI-Spezifikation.

Die 25 Tools

Diese Tabelle wird aus dem Repository erzeugt und ist nur auf Englisch verfügbar.

ToolWhat it doesWrites?
arachnide_detect_siteCMS, framework, CDN and the connector that fitsno
arachnide_crawlCrawl + ~95 SEO/GEO checks, waits for the result; mode: "list" with urls or sitemap_url crawls exactly those URLsno
arachnide_start_crawl / arachnide_crawl_statusSame crawl in the background, live in the app, polled by job idno
arachnide_list_crawlsSaved crawls; current first when the app has one openno
arachnide_get_summaryScore, grade, pillars, top issuesno
arachnide_list_issues / arachnide_get_issueIssues by priority, affected URLs (paginated)no
arachnide_action_planThe ordered action plan (quick wins flagged), as in the appno
arachnide_search_pagesFind pages by text, status, indexability, depth, folder, issue; sort by Link Scoreno
arachnide_get_pageEverything about one URLno
arachnide_geo_readinessAI crawlers access, llms.txt, structured data coverage, content depth, hygiene → 0-100 GEO score + recommendationsno
arachnide_segmentsSite sections (product pages, categories, blog…): get the score, errors and averages per segment, suggest one per directory, or set them (no recrawl). Then pass segment to the reading toolsno (saves the segments on the crawl)
arachnide_fetch_pageRead a live page (tags, headings, images, text excerpt)no
arachnide_suggest_fixesFixable fields per page with current values and constraintsno
arachnide_compare_crawlsBefore/after between two crawlsno
arachnide_list_connectors / arachnide_list_sites / arachnide_configure_site / arachnide_test_siteCMS connectors and site configuration (secrets as env:VAR, never in chat)config
arachnide_preview_changesDry run of a batch of changesno
arachnide_apply_changesApply approved changes through the connector, journaledyes
arachnide_verify_changes / arachnide_rollback_changes / arachnide_list_changesVerify on the live site, undo a batch, read the journalrollback writes

Jedes Lese-Tool (arachnide_get_summary, arachnide_list_issues, arachnide_get_issue, arachnide_action_plan, arachnide_search_pages, arachnide_geo_readiness) akzeptiert segment. Google Analytics 4: Übergeben Sie ga4_key_file (und ga4_property) oder ga4_csv an die Crawl-Tools. Listenmodus (3.21): mode: "list" mit urls oder sitemap_url, max_pages bis zu 200 000. GET /api/agent/tools liefert dieselbe Liste mit dem JSON Schema jeder Eingabe.

GEO-Readiness

arachnide_geo_readiness bewertet einen Crawl mit einem Score von 100 für die Sichtbarkeit in KI-Antworten: in der robots.txt erlaubte oder blockierte KI-Crawler (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended…), llms.txt, Abdeckung strukturierter Daten und antwortorientierte Typen, Inhaltstiefe und dünne Seiten, Duplikate, Hygiene von Titles / Descriptions / H1 / Open Graph, mit einem Score je Teil und geordneten Empfehlungen. Dieselben Signale erscheinen im Tab Robots, KI & Sitemaps der App.

Empfohlener System-Prompt

Fügen Sie dies in den System-Prompt Ihres Agenten ein (Claude-Projektanweisungen, GPT-Anweisungen, system des Agent SDK):

You are an SEO and GEO (generative engine optimisation) consultant. You work with Arachnide SEO Spider through its tools.
- When the user mentions "the audit", "the site" or "the crawl", use crawl_id "current": it is what they see in the Arachnide app. Call arachnide_list_crawls if unsure.
- Start every analysis with arachnide_get_summary, then arachnide_action_plan (what to do first) and arachnide_geo_readiness (visibility in AI answers). Explain in plain language, cite numbers, never invent data that is not in the tool results.
- To explore, use arachnide_search_pages (sorted by Link Score) and arachnide_get_page; to write content, read the real page with arachnide_fetch_page first.
- A new crawl: arachnide_start_crawl, then poll arachnide_crawl_status every 15-30 s; the user can watch it in the app.
- Changes to the live site: arachnide_suggest_fixes → write the values yourself (same language as the site, natural, unique, within pixel limits) → arachnide_preview_changes → show a before/after table → wait for an explicit "yes" → arachnide_apply_changes → arachnide_verify_changes. Small batches (10-30), most important pages first. Every batch can be undone with arachnide_rollback_changes.
- Never ask the user to paste passwords or API keys in the chat: configure sites with "env:VARIABLE" references.

Eine Website verbinden (MCP-Server)

Websites liegen in ~/.arachnide/sites.json. Der Agent legt den Eintrag mit arachnide_configure_site an; Secrets laufen nie durch den Chat: Die Datei speichert env:VARIABLE, und der Wert kommt aus der Umgebung des MCP-Servers. Felder, die der Agent ändern kann: SEO-Title, Meta Description, H1, Canonical, noindex, Alt-Text von Bildern, 301-Weiterleitungen.

{
  "sites": {
    "my-blog": {
      "url": "https://www.my-blog.com",
      "connector": "wordpress",
      "user": "admin",
      "appPassword": "env:ARACHNIDE_WP_APP_PASSWORD",
      "policy": { "allowedFields": ["seo_title", "meta_description", "image_alt"], "maxChangesPerBatch": 30 }
    }
  }
}

Die Einstellungen und Voraussetzungen der Connectors sind unter Mit 1 Klick korrigieren aufgeführt.

Sicherheitsmodell

  • Das Token ist auf /mcp und /api/agent/* erforderlich; /openapi.json ist öffentlich (es enthält kein Secret), damit GPT-Builder es importieren können. /api/agent/settings (Token, Protokoll) antwortet nur der lokalen Oberfläche.
  • Anfragen sind ratenbegrenzt (240 pro Minute und IP), und die letzten 50 Aufrufe werden in der App angezeigt.
  • Deaktivieren Sie Agenten jederzeit mit dem Schalter unter Einstellungen → KI-Agenten; erneuern Sie das Token, wenn es durchsickert.
  • Machen Sie Arachnide nur über HTTPS erreichbar (Tunnel oder Reverse-Proxy). Hinter einem Proxy leiten Sie X-Forwarded-Proto / X-Forwarded-Host weiter oder setzen die öffentliche URL in der App (ARACHNIDE_PUBLIC_URL).
  • Schreib-Tools durchlaufen dieselben Regeln wie der MCP-Server: erlaubte Felder pro Website, Stapelgröße, Nur-Lesen-Modus, Journal und Rollback. Die Tools zum Anwenden und Zurückrollen sind als destruktiv markiert, sodass Claude Code und Claude Desktop um Erlaubnis fragen. Nur der eigene Host der Website wird akzeptiert.

Beispiele

# Zusammenfassung des in der App geöffneten Audits
curl -X POST https://<host>/api/agent/arachnide_get_summary -H "Authorization: Bearer ara_…" -H "Content-Type: application/json" -d '{}'
# die 10 Seiten mit dem höchsten Link Score unter /blog/
curl -X POST https://<host>/api/agent/arachnide_search_pages -H "Authorization: Bearer ara_…" -H "Content-Type: application/json" -d '{"folder":"/blog/","limit":10}'
# GEO-Readiness eines gespeicherten Crawls
curl -X POST https://<host>/api/agent/arachnide_geo_readiness -H "Authorization: Bearer ara_…" -H "Content-Type: application/json" -d '{"crawl_id":"www.example.com_2026-10-19T09-00-00"}'

Fehler kommen als JSON: 400 ungültige Argumente (mit dem Feldpfad), 401 fehlendes oder ungültiges Token, 404 unbekanntes Tool, unbekannter Crawl, unbekanntes Problem oder unbekannte Seite, 409 ein Crawl läuft bereits.

Version 3.21.0 Die Referenztabellen und das Changelog werden aus dem Arachnide-Repository erzeugt (Commit f287355). Diese Seite auf GitHub bearbeiten