MCP over SSE
Библиотека на Elixir для реализации сервера Model Context Protocol с использованием Server-Sent Events.
Описание
Это простая реализация Model Context Protocol (MCP) на Elixir с транспортом SSE. Ключевые особенности: полная поддержка MCP-сервера, управление SSE-соединениями, обработка JSON-RPC, регистрация и выполнение инструментов, управление сессиями, автоматический keepalive и обработка ошибок. Технологии: Elixir, Phoenix или Plug с Bandit. Применения: создание серверов для интеграции с инструментами вроде MCP Inspector или Cursor для вызова инструментов в AI-контекстах.
Возможности
Полная реализация MCP-сервера
Поддержка всех аспектов протокола Model Context Protocol.
Управление SSE-соединениями
Обработка Server-Sent Events для потоковой передачи данных.
Обработка JSON-RPC сообщений
Маршрутизация и валидация JSON-RPC запросов.
Регистрация и выполнение инструментов
Автоматическая регистрация инструментов и их вызов.
Управление сессиями
Генерация и использование session ID для соединений.
Автоматический keepalive
Периодические pings для поддержания соединения.
Обработка ошибок и валидация
Встроенная обработка ошибок JSON-RPC и логирование.
Установка
Для Phoenix: 1. Добавьте в config/config.exs MIME-типы SSE и конфигурацию MCP-сервера. 2. Добавьте {:mcp_sse, “~> 0.1.6”} в mix.exs. 3. Настройте роутер для /sse и /message. 4. Запустите mix phx.server.
Для Plug с Bandit: 1. Добавьте конфигурацию в config/config.exs. 2. Добавьте зависимости mcp_sse, plug, bandit в mix.exs. 3. Настройте роутер с forward для /sse и /message. 4. Обновите application.ex для Bandit. 5. Запустите mix run –no-halt.