Elixir协议客户端

MCP Client是一个为Elixir生态系统设计的规范模型上下文协议客户端,提供统一的传输适配器、声明式工具和可观察性优先的设计。

  • by nshkrdotcom
  • Elixir
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nshkrdotcom/mcp_client

使用说明

MCP Elixir客户端

Elixir生态系统的规范模型上下文协议客户端,具有一流的传输、工具和文档。

✨ 亮点

  • 统一运输:具有共享退避+墓碑语义的WebSocket、SSE和原始TCP适配器
  • 声明性工具:用于工具声明、调用和验证的类型安全包装器
  • 可观察性优先:每个跃点的遥测事件以及结构化、可编辑的日志助手
  • 生产工效学:可配置的重试窗口、断路器和连接监视器
  • 文档作为产品:ExDoc资产、架构指南和SVG品牌随库提供

📦 安装

添加 mcp_client 到你的 mix.exs 依赖关系:

def deps do
  [
    {:mcp_client, "~> 0.1.0"}
  ]
end

然后获取依赖关系:

mix deps.get

🚀 快速开始

  1. 在中配置MCP服务器凭据 config/runtime.exs
  2. 与以下对象建立连接 McpClient.start_link/1
  3. 使用声明工具 McpClient.Tools.declare/1 和注册处理程序
  4. 具有内置监控、遥测和重试功能的流式响应

随着项目的成熟,完整的指南和API文档将在HexDocs上发布。

🧪 发展

mix test
mix credo --strict
MIX_ENV=test mix coveralls.html

透析器PLTs住在 priv/plts (在Hex包中忽略),因此共享CI节点保持快速。

🤝 贡献

欢迎发布问题和PR!请先就大规模协议或API更改展开讨论,以便我们在设计上保持一致。