ZA

zoedsoupe/anubis-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

181 stars 74 forks 品質 54 トレンド 37NOASSERTION

Elixir Model Context Protocol (MCP) SDK (hermes-mcp fork)

概要

Elixirにおける高性能モデルコンテキストプロトコル(MCP)実装。 Anubis MCPは、Model Context Protocol向けの包括的なElixir SDKであり、Elixirの卓越した並行性モデルとフォールトトレランスを備えた完全なクライアントおよびサーバー実装を提供します。 これでhttp://localhost: /mcpでMCPサーバーを達成できます 冥界の神であり来世の案内役であるエジプトの神アヌビスにちなんで名付けられたこのライブラリは、大規模言語モデルと外部ツールの境界を乗り越える手助けをします。アヌビスが魂を移行へ導いたように、このSDKはAIと外部システムの境界空間を導きます。 名前には個人的な意味も込められています。私が企業の裏社会を旅した後、このプロジェクトは前作の灰の中から再生し、開発者たちをMCPの冒険へと導く準備ができました。時には、移行の神が必要になることもあります...移行。

概要(AI 翻訳)

Elixirにおける高性能モデルコンテキストプロトコル(MCP)実装。

概要

Anubis MCPは、Model Context Protocol向けの包括的なElixir SDKであり、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仕様をミラーリングする:

  • Deprecated機能は少なくとも1回のマイナーリリースサイクルで動作し、文書化された移行経路とともに出荷されます。
  • 削除された機能は主要リリースでのみ削除されます。スペックバージョンの削除は常に大きな乗り越えです。

クイックスタート

サーバー

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

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.SSE on 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
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →