Elixir MCP Server

Elixir MCP Server

site icon
2025.03.20 3
ElixirAI 模型交互协议服务器其它
Elixir MCP Server 是一个基于 Elixir 和 Bandit、Plug 的 Model Context Protocol (MCP) 服务器实现。MCP 是一个开放协议,允许 AI 模型通过标准化的服务器实现与本地和远程资源安全交互。该项目是一个使用 SSE(Server-Sent Events)作为传输协议的基本 MCP 服务器示例。
View on GitHub

Overview

基本能力

产品定位

Elixir MCP Server 是一个基于 Elixir 的 MCP 协议服务器实现,用于支持 AI 模型与本地和远程资源的交互。

核心功能

  • 支持 SSE(Server-Sent Events)作为传输协议。
  • 提供基本的工具调用功能,如文件列表、消息回显和天气信息获取。
  • 支持自定义工具的添加和扩展。

适用场景

  • AI 模型与本地或远程资源的交互。
  • 开发基于 MCP 协议的应用程序或服务。
  • 快速搭建一个支持 SSE 的 MCP 服务器。

工具列表

  • list_files: 列出目录中的文件。
  • echo: 回显消息。
  • get_weather: 获取天气信息。

常见问题解答

  • 如何添加自定义工具? 更新 handle_initialize/2 函数以包含工具定义,并实现相应的 handle_call_tool/3 子句。

使用教程

使用依赖

  • Elixir 1.18 或更高版本。
  • Erlang/OTP 27 或更高版本。
  • 通过 WEATHER_API_KEY 环境变量设置天气 API 密钥。

安装教程

  1. 安装依赖: mix deps.get
  2. 启动服务器: WEATHER_API_KEY="1234567890abcdef" mix run --no-halt

调试方式

  • 服务器将在以下地址可用:
  • SSE 端点:http://localhost:4000/sse
  • 消息端点:http://localhost:4000/message
  • 使用 NXP Inspector client 进行测试,确保使用 SSE 作为传输协议。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。