NC

nyo16/conduit_mcp

Developer tools

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

11 stars 1 forks 品質 78 トレンド 32Apache-2.0

Elixir implementation of the Model Context Protocol (MCP) — build servers to expose tools, resources, and prompts to LLM applications.

概要

An Elixir implementation of the Model Context Protocol (MCP) specification, serving both protocol eras from one server: modern and legacy / . Build MCP servers to expose tools, resources, and prompts to LLM applications like Claude Desktop, VS Code, and Cursor — and connect to MCP servers from Elixir with the built-in client. - — Tools can return interactive UI rendered as sandboxed iframes in host clients - — DSL macros, raw callbacks, or component modules — pick your level of control - — One server answers modern 2026-07-28 clients (server/discover, MRTR, subscriptions/listen, streamed responses, cache hints, header validation) and legacy 2025-11-25 / 2025-06-18 clients; the era is chosen per request - — Supervised client for stdio and Streamable HTTP servers in both eras, with a multi-server hub, policy and hooks, LLM provider adapters, and OAuth 2.

README

以下は原文 README の抜粋です。原文を見る。

ConduitMCP

An Elixir implementation of the Model Context Protocol (MCP) specification, serving both protocol eras from one server: modern 2026-07-28 and legacy 2025-11-25 / 2025-06-18. Build MCP servers to expose tools, resources, and prompts to LLM applications like Claude Desktop, VS Code, and Cursor — and connect to MCP servers from Elixir with the built-in client.

Features

  • MCP Apps — Tools can return interactive UI rendered as sandboxed iframes in host clients
  • Three Ways to Build — DSL macros, raw callbacks, or component modules — pick your level of control
  • Dual-era MCP — One server answers modern 2026-07-28 clients (server/discover, MRTR, subscriptions/listen, streamed responses, cache hints, header validation) and legacy 2025-11-25 / 2025-06-18 clients; the era is chosen per request
  • MCP Client — Supervised client for stdio and Streamable HTTP servers in both eras, with a multi-server hub, policy and hooks, LLM provider adapters, and OAuth 2.1
  • Runtime Validation — NimbleOptions-powered param validation with type coercion and custom constraints
  • Stateless Architecture — Pure functions, no processes, maximum concurrency via Bandit
  • Authentication — Bearer tokens, API keys, OAuth 2.1 (RFC 9728), custom verification
  • Rate Limiting — HTTP-level and message-level rate limiting with Hammer
  • Session Management — Pluggable session stores (ETS, Redis, PostgreSQL, Mnesia)
  • Observability — Telemetry events, optional Prometheus metrics via PromEx
  • Phoenix Ready — Drop-in integration with Phoenix routers
  • CORS & Security — Configurable origins, preflight handling, origin validation

Installation

def deps do
  [
    {:conduit_mcp, "~> 0.11"}
  ]
end

Requires Elixir ~> 1.18.

Optional dependencies

The core library needs nothing beyond the block above. These features are compiled in only when their dependency is present, so add the ones you need before you configure the feature:

Feature Dependency Add to deps
auth: [strategy: :oauth] — JWT bearer validation (guide) :joken, :jose {:joken, "~> 2.6"}``{:jose, "~> 1.11"}
ConduitMcp.OAuth.KeyProvider.JWKS — fetch signing keys from a JWKS URI :req {:req, "~> 0.6.1 or ~> 0.7"}
ConduitMcp.Plugs.RateLimit / ConduitMcp.Plugs.MessageRateLimit (guide) :hammer {:hammer, "~> 7.2"}
GitHub で README 全文を見る

インストール

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

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

設定

{ "mcpServers": { "my-app": { "url": "http://localhost:4001/", "headers": { "Authorization": "Bearer your-token" } } } }