Elixir MCP服务器
使用Elixir与Bandit和Plug实现模型上下文协议(MCP)服务器的Elixir。
模型上下文协议(MCP)是一种开放协议,它使AI模型能够通过标准化的服务器实现与本地和远程资源安全地交互。 此项目是使用SSE(服务器发送事件)作为传输协议的MCP服务器的基本示例。它基于以下示例https://modelcontextprotocol.io/quickstart/server
先决条件
- 灵丹妙药1.18或更高
- Erlang/OTP 27或更高版本
- 天气API键可以通过
WEATHER_API_KEY环境变量。
默认服务使用免费层https://www.weatherapi.com/.
入门指南
- 安装依赖项:
mix deps.get- 启动服务器:
WEATHER_API_KEY="1234567890abcdef" mix run --no-halt
- 服务器将在以下位置可用:
- SSE端点:http://localhost:4000/sse - 消息端点:http://localhost:4000/message
可用工具
list_files:列出目录中的文件echo:回复一条消息get_weather:获取天气信息
使用MCP客户端进行测试
安装 恩智浦Inspector客户端 并按照说明连接到服务器。
确保使用SSE(服务器发送事件)作为传输协议,然后您应该能够列出可用的工具并调用它们。为了ping/keepalive连接,您还可以使用 ping 工具。
添加自定义工具
要添加自定义工具,请更新 handle_initialize/2 函数包含您的工具定义并实现相应的 handle_call_tool/3 条款。
