swapi_mcp
swapi_mcp
Небольшой сквозной эталонный проект для создания наблюдаемого ИИ-агента: MCP-сервер, оборачивающий Star Wars API, агент Claude, который им управляет, и веб-интерфейс чата — всё инструментировано с помощью OpenTelemetry и Grafana Cloud (распределённые трассировки, RED-метрики, фронтенд RUM и наблюдаемость ИИ/агентов).
Он создан, чтобы на одной работающей кодовой базе показать, как части сочетаются друг с другом: граница инструментов MCP, цикл использования инструментов агентом и сквозная трассировка от клика в браузере до вышестоящего HTTP-вызова и обратно.
Что внутри
Две части, которые общаются друг с другом через MCP (stdio):
mcpClient.ts— запускает собранный сервер через stdio и подключается как MCP-клиент.agent.ts— ручной цикл использования инструментов: отправляет вопрос и инструменты сервера в Claude, выполняет каждый запрошенный инструмент через MCP, возвращает результаты и повторяет, пока задача не будет завершена.main.ts— точка входа CLI.server.ts+public/index.html— HTTP-сервер и одностраничный чат-интерфейс.
Related MCP server: SWAPI MCP Server
Наблюдаемость
Всё нижеперечисленное необязательно и управляется переменными окружения — агент отлично работает и без этого.
Распределённая трассировка (OpenTelemetry → Tempo): одна трасса охватывает
browser → POST /ask → agent.turn → llm.request / tool.call → tool.execute → swapi.fetchв трёх сервисах (swapi-web,swapi-agent,swapi-mcp-server). Контекст трассы передаётся через границу MCP через_metaзапроса.RED-метрики (→ Mimir): гистограммы частоты запросов / ошибок / длительности для каждого инструмента и каждого вызова LLM, плюс счётчик использования токенов для оценки стоимости, с тегами
model,errorиerror.type.Фронтенд RUM (Grafana Faro): Web Vitals, ошибки JS и распространение трассы из браузера в бэкенд.
Наблюдаемость ИИ / агентов (
@grafana/agent-o11y): нормализованные генерации LLM и выполнения инструментов.Демонстрационная инъекция сбоев (
src/chaos.ts): опционально заставляет один ресурс возвращать имитируемую ошибку 503, а другой — работать на 50 % медленнее, чтобы на дашбордах были реальные сигналы ошибок и задержек.
Предварительные требования
Node.js 22+ (использует
--env-file)Yarn 4 (через Corepack)
Ключ API Anthropic (для агента)
Аккаунт Grafana Cloud (необязательно — только для функций наблюдаемости)
Установка
yarn install
yarn buildИспользование MCP-сервера напрямую (например, Claude Desktop)
Направьте ваш MCP-клиент на собранный сервер:
{
"mcpServers": {
"swapi": { "command": "node", "args": ["/absolute/path/to/swapi_mcp/build/index.js"] }
}
}Запуск агента
Создайте файл .env (игнорируется git) как минимум с вашим ключом Anthropic:
ANTHROPIC_API_KEY=sk-ant-...Затем:
yarn dev # build + serve the web UI at http://localhost:8787
yarn ask "Who is Luke's homeworld?" # one-shot CLIПеременные окружения
Переменная | Назначение |
| Обязательно для агента. |
| Переопределение модели (по умолчанию |
| Порт веб-сервера (по умолчанию |
| Включает OTLP-трассы и метрики в Grafana Cloud. |
| Включает фронтенд RUM Grafana Faro (URL коллектора публичен по замыслу). |
| Включает Grafana Agent Observability (токену требуется область |
| Демонстрационная инъекция сбоев (по умолчанию выключено). |
Примечания
Это учебный / демонстрационный проект. Данные берутся из статического зеркала SWAPI, которое моделирует связи (персонаж «появляется в» фильме), а не действия — поэтому ответы формулируются соответствующим образом.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
SWAPI MCP — wraps the Star Wars API (free, no auth)
Free Star Wars MCP server (SWAPI): people, films, planets, species, starships, vehicles. No API key.
Rick and Morty MCP — wraps the Rick and Morty API (free, no auth)
Rick and Morty MCP — wraps The Rick and Morty API (free, no auth)
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables searching characters, planets, and films from the Star Wars universe via the SWAPI API.412 npm1ISC
- AlicenseNot gradedqualityCmaintenanceEnables 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
- FlicenseBqualityDmaintenanceA Model Context Protocol server that exposes Star Wars API data as MCP tools. It enables users to list available categories and retrieve character information.335 npm-