swapi_mcp
swapi_mcp
Ein kleines End-to-End-Referenzprojekt zum Aufbau eines beobachtbaren KI-Agenten: ein MCP-Server, der die Star Wars API kapselt, ein Claude-Agent, der ihn steuert, und eine Web-Chat-UI – alles instrumentiert mit OpenTelemetry und Grafana Cloud (verteilte Traces, RED-Metriken, Frontend-RUM und KI-/Agenten-Beobachtbarkeit).
Es soll in einer einzigen lauffähigen Codebasis zeigen, wie die Teile zusammenspielen – die MCP-Tool-Grenze, die Schleife zur Tool-Nutzung des Agenten und das Full-Stack-Tracing von einem Browserklick bis hinunter zu einem HTTP-Aufruf an einen vorgelagerten Dienst und zurück.
Was ist enthalten
Zwei Hälften, die über MCP (stdio) miteinander kommunizieren:
Der MCP-Server (src/index.ts, src/tools/) – kapselt die Star Wars API als 18 Tools über 6 Ressourcen (Personen, Planeten, Filme, Spezies, Fahrzeuge, Raumschiffe): ein search_, ein get-all und ein get-by-id pro Ressource. Er ist ein reiner Tool-Anbieter; er trifft keine Entscheidungen.
Der Agent (src/agent/) – der Entscheidungsträger:
mcpClient.ts– startet den gebauten Server über stdio und verbindet sich als MCP-Client.agent.ts– eine manuelle Schleife zur Tool-Nutzung: die Frage plus die Tools des Servers an Claude senden, jedes angeforderte Tool über MCP ausführen, Ergebnisse zurückspielen und wiederholen, bis alles erledigt ist.main.ts– ein CLI-Einstiegspunkt.server.ts+public/index.html– ein HTTP-Server und eine Single-Page-Chat-UI.
Related MCP server: SWAPI MCP Server
Beobachtbarkeit
Alles unten ist optional und über Umgebungsvariablen gesteuert – der Agent läuft auch ganz ohne all das einwandfrei.
Verteiltes Tracing (OpenTelemetry → Tempo): ein Trace erstreckt sich über
browser → POST /ask → agent.turn → llm.request / tool.call → tool.execute → swapi.fetchüber drei Dienste (swapi-web,swapi-agent,swapi-mcp-server). Der Trace-Kontext wird über das_meta-Feld der Anfrage über die MCP-Grenze hinweg propagiert.RED-Metriken (→ Mimir): Histogramme für Rate, Fehler und Dauer pro Tool und pro LLM-Aufruf sowie ein Token-Verbrauchszähler für Kosten, getaggt mit
model,errorunderror.type.Frontend-RUM ([Gra fana Faro](https://gra fana.com/oss/faro/)): Web-Vitals, JS-Fehler und Browser→Backend-Trace-Weitergabe.
KI-/Agenten-Beobachtbarkeit (
@gra fana/agent-o11y): normalisierte LLM-Generierungen und Tool-Ausführungen.Demo-Fehlerinjektion (
src/chaos.ts): lässt optional eine Ressource einen simulierten 503 zurückgeben und eine andere 50 % langsamer laufen, sodass die Dashboards echte Fehler- und Latenzsignale zeigen.
Voraussetzungen
Node.js 22+ (verwendet
--env-file)Yarn 4 (über Corepack)
Ein Anthropic-API-Schlüssel (für den Agenten)
Ein Grafana-Cloud-Konto (optional – nur für die Beobachtbarkeitsfunktionen)
Einrichtung
yarn install
yarn buildDen MCP-Server direkt verwenden (z. B. Claude Desktop)
Richten Sie Ihren MCP-Client auf den gebauten Server aus:
{
"mcpServers": {
"swapi": { "command": "node", "args": ["/absolute/path/to/swapi_mcp/build/index.js"] }
}
}Den Agenten ausführen
Erstellen Sie eine .env (von Git ignoriert) mit mindestens Ihrem Anthropic-API-Schlüssel:
ANTHROPIC_API_KEY=sk-ant-...Dann:
yarn dev # build + serve the web UI at http://localhost:8787
yarn ask "Who is Luke's homeworld?" # one-shot CLIUmgebungsvariablen
Variable | Zweck |
| Erforderlich für den Agenten. |
| Modellüberschreibung (Standard |
| Port des Webservers (Standard |
| Aktiviert OTLP-Traces und -Metriken an Gra fana Cloud. |
| Aktiviert das Gra fana-Faro-Frontend-RUM (die Collect-or-URL ist bewusst öffentlich). |
| Aktiviert Gra fana Agent Observability (das Token benötigt die Berechtigung |
| Demo-Fehlerinjektion (standardmäßig deaktiviert). |
Hinweise
Dies ist ein Lern-/Demoprojekt. Die Daten stammen aus einem statischen Spiegel von SWAPI, der Assoziationen modelliert (ein Charakter „erscheint in“ einem Film), keine Aktionen – daher sind die Antworten entsprechend formuliert.
Lizenz
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables searching characters, planets, and films from the Star Wars universe via the SWAPI API.4121ISC
- AlicenseNot gradedqualityBmaintenanceEnables LLMs and clients to search for Star Wars characters, planets, and films by exposing SWAPI as MCP tools.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for querying the Star Wars universe via the SWAPI API, providing access to characters, films, starships, vehicles, species, and planets.ISC
- FlicenseBqualityBmaintenanceA Model Context Protocol server that exposes Star Wars API data as MCP tools. It enables users to list available categories and retrieve character information.3140
Related MCP Connectors
SWAPI MCP — wraps the Star Wars API (swapi.dev, free, no auth)
Star Wars API (SWAPI) as a remote MCP server: films, people, planets, species, starships, vehicles.
Rick and Morty MCP — wraps the Rick and Morty API (free, no auth)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jasonwarta/swapi_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server