使用Elixir、Bandit和Plug实现的模型上下文协议(MCP)服务器。
模型上下文协议(MCP)是一种开放协议,它使AI模型能够通过标准化的服务器实现安全地与本地和远程资源进行交互。该项目是一个基本的MCP服务器示例,使用SSE(服务器发送事件)作为传输协议。该示例基于https://modelcontextprotocol.io/quickstart/server。
Elixir 1.18或更高版本
Erlang/OTP 27或更高版本
可以通过环境变量WEATHER_API_KEY设置天气API密钥。
默认服务使用的是https://www.weatherapi.com/的免费层级。
安装依赖项:
mix deps.get
启动服务器:
WEATHER_API_KEY="1234567890abcdef" mix run --no-halt
服务器将在以下地址可用:
list_files:列出目录中的文件echo:回显消息get_weather:获取天气信息安装NXP Inspector客户端,并按照说明连接到服务器。
确保使用SSE(服务器发送事件)作为传输协议,这样您就可以列出可用工具并调用它们。为了保持连接的活跃状态,可以使用ping工具。
要添加自定义工具,请更新handle_initialize/2函数以包含您的工具定义,并实现相应的handle_call_tool/3子句。