aidaemon MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • aidaemon 是一个面向 LLM 的自托管 AI 守护进程,内置资源、工具、提示模板的管理能力,并通过 MCP(Model Context Protocol)服务器向 LLM 客户端提供标准化的上下文服务。它实现了会话管理、能力声明,以及对多种传输协议的支持,旨在为 LLM 应用提供安全、可扩展的上下文服务框架。
  • 主要功能点

    • MCP 服务器核心能力
      • 资源管理:托管和访问面向 LLM 的数据资源,便于上下文注入与数据访问。
      • 工具注册与执行:注册可供 LLM 调用的外部功能,支持调用外部 CLI、网络请求等工具。
      • Prompt 定义与渲染:定义可定制的 Prompt 模板,能够渲染并提供给客户端使用。
    • JSON-RPC 通信
      • 服务器端通过标准的 JSON-RPC 方式与客户端进行请求/响应交互,提供资源读取、工具调用、提示获取等能力。
    • 会话与能力声明
      • 维护会话状态、能力声明、以及对客户端的能力描述,确保上下文服务的可控性和安全性。
    • 多传输协议支持
      • 设计目标包括通过标准传输通道(如 Stdio、SSE、WebSocket 等)进行上下文服务传输,便于不同场景的接入。
    • 与现有组件的集成
      • 与内置的 Agent、Channels、Heartbeat、Health、Dashboard、Updater 等模块协同工作,构成完整的 MCP 服务器端能力。
  • 安装步骤

    • 该仓库为 Rust/Cargo 项目,建议按以下步骤部署:
      1. 克隆代码并进入项目根目录。
      2. 使用 Cargo 构建发布版本:cargo build --release
      3. 运行可执行文件(在发布环境中):./target/release/aidaemon
      4. 参考文档配置 config.toml,按照需要启用 MCP 相关配置、插件与提供者。
  • 服务器配置(给 MCP 客户端使用的启动信息)

    • MCP 客户端需要与 MCP 服务器建立连接,服务器端的启动信息需包含服务器名称、启动命令与参数等元信息。以下为示例说明(以 JSON 形式表达,便于客户端理解,但不作为实际代码块呈现):
      • server_name: "aidaemon-mcp"
        • 说明:在你的环境中对 MCP 服务器的唯一标识名称。
      • command: "aidaemon"
        • 说明:启动 MCP 服务器的可执行文件或二进制名称。
      • args: [ "--config", "/path/to/config.toml" ]
        • 说明:启动 MCP 服务器时使用的参数,指定配置文件路径(如需要)。实际参数可根据部署环境调整。
    • 注:MCP 客户端不需要实现细粒度的服务器端内部实现细节(如各资源的内部结构、具体的工具实现等),只需知道服务器的名称、启动命令与启动参数,以便在启动阶段建立连接并请求资源、工具和提示模板等。
  • 基本使用方法

    • 启动后,MCP 客户端可以通过统一的 JSON-RPC 请求读取资源、调用工具、获取并渲染提示模板等。
    • 使用时请确保服务器与客户端的网络/通信通道配置正确,避免跨域、鉴权等问题。
    • 服务器会维护会话、暴露能力、并在需要时提供安全的上下文注入和策略控制,帮助 LLM 客户端高效地访问上下文信息与功能。

服务器信息