
Unified MCP Client Library for Elixir

2025.04.19
1
ElixirLLM 连接工具访问控制多服务器支持浏览器自动化开发效率
Mcpixir 是一个开源的 Elixir 库,用于将任何支持工具调用的 LLM 连接到 MCP 服务器,并构建具有工具访问权限的自定义代理。它支持多种 MCP 服务器,包括 Playwright、Airbnb 和 Blender 等,提供了灵活的工具访问控制和多服务器支持。
View on GitHub
Overview
基本能力
产品定位
Mcpixir 是一个开源的 Elixir 库,旨在将任何支持工具调用的 LLM 连接到 MCP 服务器,并构建具有工具访问权限的自定义代理。
核心功能
- 易用性:仅需 6 行代码即可创建 MCP 代理。
- LLM 灵活性:支持任何支持工具调用的 LLM(如 OpenAI、Anthropic 等)。
- HTTP 支持:直接连接到运行在特定 HTTP 端口上的 MCP 服务器。
- 动态服务器选择:代理可以从可用池中动态选择最适合给定任务的 MCP 服务器。
- 多服务器支持:在单个代理中同时使用多个 MCP 服务器。
- 工具限制:限制潜在危险工具(如文件系统或网络访问)。
适用场景
- 网页浏览:使用 Playwright 进行网页浏览和搜索。
- Airbnb 搜索:查找和预订住宿。
- Blender 3D 创建:控制 Blender 3D 软件进行 3D 建模。
- 文件系统操作:与本地文件系统交互。
- HTTP 连接:连接到基于 Web 的 MCP 服务器。
工具列表
- Playwright:用于网页浏览和自动化。
- Airbnb:用于搜索和预订住宿。
- Blender:用于 3D 建模和渲染。
- 文件系统:用于本地文件操作。
- HTTP 连接:用于连接到基于 Web 的 MCP 服务器。
常见问题解答
- 如何配置 LLM 提供商:需要在环境变量中设置 API 密钥(如
OPENAI_API_KEY
或ANTHROPIC_API_KEY
)。 - 如何限制工具访问:在创建代理时使用
disallowed_tools
参数限制特定工具。 - 如何调试:通过设置
MCP_USE_LOG_LEVEL
环境变量或使用Mcpixir.Logging.set_level(:debug)
启用调试日志。
使用教程
使用依赖
- Elixir 1.15+
- Erlang/OTP 25+
- MCP 实现(如 Playwright MCP)
- LLM API 访问(如 OpenAI、Anthropic 等)
安装教程
- 添加
mcpixir
到mix.exs
的依赖列表:elixir def deps do [ {:mcpixir, "~> 0.1.0"} ] end
- 或从源代码安装:
bash git clone https://github.com/yourusername/mcpixir.git cd mcpixir mix deps.get mix compile
调试方式
- 设置日志级别:
bash export MCP_USE_LOG_LEVEL=debug
- 或在代码中设置:
elixir Mcpixir.Logging.set_level(:debug)
- 或在
config/config.exs
中配置:elixir config :mcpixir, log_level: :debug