Unified MCP Client Library for Elixir

Unified MCP Client Library for Elixir

site icon
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_KEYANTHROPIC_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 等)

安装教程

  1. 添加 mcpixirmix.exs 的依赖列表: elixir def deps do [ {:mcpixir, "~> 0.1.0"} ] end
  2. 或从源代码安装: bash git clone https://github.com/yourusername/mcpixir.git cd mcpixir mix deps.get mix compile

调试方式

  1. 设置日志级别: bash export MCP_USE_LOG_LEVEL=debug
  2. 或在代码中设置: elixir Mcpixir.Logging.set_level(:debug)
  3. 或在 config/config.exs 中配置: elixir config :mcpixir, log_level: :debug

许可证

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