
zoedsoupe/anubis-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Протокол контекста модели Elixir (MCP) SDK (форк Hermes-MCP)
Обзор
Реализация высокопроизводительного протокола Model Context Protocol (MCP) в Elixir. Anubis MCP — это комплексный SDK Elixir для протокола контекста модели, обеспечивающий полные реализации клиента и сервера с исключительной моделлю параллелизма и отказоустойчивостью Elixir. Теперь вы можете создать свой MCP-сервер на http://localhost: /mcp Названный в честь Анубиса, египетского бога подземного мира и проводника в загробный мир, эта библиотека помогает ориентироваться между Большими языковыми моделями и внешними инструментами. Подобно тому, как Анубис направлял души через переходы, этот SDK направляет данные через пограничное пространство между ИИ и внешними системами. Имя также имеет личное значение — после того, как мое путешествие по корпоративному подполью неожиданно закончилось, этот проект возродился из пепла своего предшественника, готовый вести разработчиков через их собственные приключения MCP. Иногда нужен бог переходов, чтобы помочь вам... переходу.
Обзор (машинный перевод)
Реализация высокопроизводительного протокола Model Context Protocol (MCP) в Elixir.
Обзор
Anubis MCP — это комплексный SDK Elixir для протокола контекста модели, обеспечивающий полные реализации клиента и сервера с исключительной моделлю параллелизма и отказоустойчивостью Elixir.
Установка
Поддерживаемые версии MCP
| anubis_mcp | Версии по спецификациям MCP |
|---|---|
| 1.x | 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 |
| 2.x | 2025-03-26, 2025-06-18, 2025-11-25, 2026-07-28 |
Основные изменения в версии 2.0:
- Поддержка спецификационной версии 2024-11-05 была отменена; 2025-03-26 — новый этаж.
- Транспорты HTTP+SSE (
{:sse, ...}на клиенте,Anubis.Server.Transport.SSEна сервере) были удалены после их устарения вверх по потоку. Используйте Streamable HTTP ({:streamable_http, ...}).
Политика амортизаций
Зеркально повторяя спецификацию MCP в восходящем потоке:
- Устаревшие функции продолжают работать как минимум один небольшой цикл релиза и поставляются с задокументированным путём миграции.
- Удалённые функции удаляются только в крупных релизах. Отказ от спецификационной версии всегда является серьёзным проблемом.
Быстрый старт
Сервер
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
Anubis MCP
A high-performance Model Context Protocol (MCP) implementation in Elixir.
Overview
Anubis MCP is a comprehensive Elixir SDK for the Model Context Protocol, providing complete client and server implementations with Elixir’s exceptional concurrency model and fault tolerance.
Installation
def deps do
[
{:anubis_mcp, "~> 2.2.0"} # x-release-please-version
]
end
Supported MCP versions
| anubis_mcp | MCP spec versions |
|---|---|
| 1.x | 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 |
| 2.x | 2025-03-26, 2025-06-18, 2025-11-25, 2026-07-28 |
Breaking changes in 2.0:
- Support for spec version 2024-11-05 was dropped; 2025-03-26 is the new floor.
- The HTTP+SSE transports (
{:sse, ...}on the client,Anubis.Server.Transport.SSEon the server) were removed, following their deprecation upstream. Use Streamable HTTP ({:streamable_http, ...}) instead.
Deprecation policy
Mirroring the upstream MCP specification:
- Deprecated features keep working for at least one minor release cycle and ship with a documented migration path.
- Removed features are deleted only in major releases. Dropping a spec version is always a major bump.
Quick Start
Server
# Define a tool as a Component (compile-time registration)
defmodule MyApp.Echo do
@moduledoc "Echoes everything the user says to the LLM"
use Anubis.Server.Component, type: :tool
alias Anubis.Server.Response
schema do
field :text, :string, required: true, max_length: 150, description: "the text to be echoed"
end
@impl true
def execute(%{text: text}, frame) do
{:reply, Response.text(Response.tool(), text), frame}
end
end
defmodule MyApp.MCPServer do
use Anubis.Server,
name: "My Server",
version: "1.0.0",
capabilities: [:tools]
# Static component registration — dispatches to MyApp.Echo.execute/2
component MyApp.Echo
@impl true
def init(_client_info, frame) do
# You can also register tools dynamically at runtime via the Frame:
# frame = register_tool(frame, "dynamic_tool", description: "...", input_schema: %{...})
{:ok, frame}
end
end
# Add to your application supervisor
children = [
{MyApp.MCPServer, transport: :streamable_http}
]
# Add to your Phoenix router (if using HTTP)
forward "/mcp", Anubis.Server.Transport.StreamableHTTP.Plug, server: MyApp.MCPServer
# Or if using only Plug router
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →