Clarvis MCP Server

使用说明(简要指南)

  • 项目简介
    • Clarvis MCP 服务器集成在 Clarvis 的守护进程中,核心通过 JSON-RPC 风格的 IPC 提供对资源、工具和上下文的访问与执行能力,面向 LLM 客户端(如 Claude Code 等)提供后端服务。
    • 服务器实现了基于 UNIX 套接字的请求/响应模型,支持异步任务、会话状态、工具执行、以及对外部服务(如天气、记忆、计时器、知识图谱等)的访问。
  • 主要功能点
    • JSON-RPC 风格的请求处理与 响应/通知 机制,错误信息标准化返回。
    • 资源与工具的访问端点,包含记忆、知识图谱、音乐/计时器等资源的读写与执行。
    • 会话与状态管理(状态存储、会话跟踪、心跳/健康检查、工具使用历史)。
    • 与外部组件的耦合:天气、定位、记忆后端、在线渠道、 wake-word、语音输入/输出等整合。
    • 支持本地进程间通信、以及通过 DaemonServer 向外暴露的 IPC 客户端调用。
  • 安装与运行步骤
    • 安装并准备运行环境(Python 3.x,所需依赖按项目需求安装)。
    • 启动 MCP 服务器(守护进程):
      • 运行 Clarvis 的守护进程入口,通常是执行 main() 所在的脚本,例如: 启动命令示例:python3 -m clarvis.daemon
    • 启动后服务器会监听内部 IPC 入口(Unix 套接字),客户端通过 DaemonClient 连接并发送 JSON-RPC 请求。
  • 服务器配置(JSON 配置示例说明)
    • 配置项用于 MCP 客户端在启动阶段了解服务器的入口信息。以下为示意文本,实际客户端不需要此代码实现: { "server_name": "Clarvis MCP Server", "command": "python3", "args": ["-m", "clarvis.daemon"], "notes": "启动 Clarvis 守护进程作为 MCP 服务器,使用默认 UNIX 套接字 /tmp/clarvis-daemon.sock 进行 JSON-RPC 通信。" } 说明:
    • server_name: 服务器名称,应与实际部署名称保持一致,便于日志与监控区分。
    • command/args: 客户端启动服务器的命令及参数,客户端不需要此信息,但用于记录与部署说明。
    • 服务器监听的通信入口在实现中是本地 UNIX 套接字,客户端通过 DaemonClient 进行调用。
  • 基本使用方法(简化示例)
    • 启动服务器后,创建 MCP 客户端连接:
      • 使用 DaemonClient 连接到默认套接字路径 /tmp/clarvis-daemon.sock。
    • 发送请求示例(JSON-RPC 风格,具体字段按服务器实现定义):
      • 调用 hook_event 将 Claude Code 的钩子事件传递给服务器,服务器返回处理结果或通知。
    • 常见操作:
      • 读取/写入资源、执行工具、触发提示模板渲染等操作,服务器将返回相应的结果数据或错误信息。
    • 服务器的日志与健康状态由内置的调度器/心跳机制进行监控,遇到异常会自动重试或抑制损坏状态。

服务器信息