SAME MCP 服务端

使用说明(Markdown 格式)

  • 项目简介
    • SAME 提供一个基于 MCP 的后端服务器,用于向 LLM 客户端暴露资源访问、工具执行以及提示模板渲染等能力,核心围绕知识库的向量检索、笔记读取、相关笔记查找、以及 vault 的索引与统计等功能构建。
  • 主要功能点
    • 资源与向量检索:对 vault 中的笔记进行向量检索、过滤与排序,支持按域、工作流与标签过滤。
    • 工具注册与执行:通过 MCP 注册并执行多种工具,如 search_notes、search_notes_filtered、get_note、find_similar_notes、reindex、index_stats。
    • Vault 管理与索引:支持增量重建、完整重建,以及索引状态统计。
    • 安全与本地化:嵌入模型在本地完成,默认通过 Ollama 提供嵌入向量;对传输和路径有基本的边界安全检查,避免暴露私有内容。
    • 与 Claude Code 集成:内置 hook 和插件机制,方便接入 Claude Code 的工作流。
  • 安装步骤
    • 克隆代码并编译:将仓库源码下载到本地后执行构建命令以生成可执行二进制。
    • 启动 MCP 服务器:在同一工作流中执行相应命令以启动 MCP 服务器(见下方服务器配置说明)。
  • 服务器配置(MCP 客户端需要的起始连接信息)
    • MCP 客户端需要的配置信息以 JSON 格式表示,包含以下字段:
      • server_name: 服务器实例名称,用于标识该 MCP 服务。
      • command: 启动服务器的命令路径,例如同一仓库生成的可执行程序路径。
      • args: 启动命令的参数数组,例如 ["mcp"],表示启动 MCP 模式的子服务。
      • transport: 传输协议,MCP 客户端可设置为 stdio(本实现通过标准输入输出进行 JSON-RPC 通信)。
    • 参考配置(描述性文本,不作为代码块展示):
      • server_name: "statelessagent_same"
      • command: "./same"(或你编译后生成的可执行路径)
      • args: ["mcp"]
      • transport: "stdio"
    • 说明:客户端在连接 MCP 服务器时,不需要包含实现细节的代码,仅使用上述结构化信息来建立连接与通信。
  • 基本使用方法
    • 构建并启动服务
      • 使用仓库提供的构建流程生成可执行程序,然后在需要的环境中以 MCP 模式启动。
    • 与客户端交互
      • 客户端通过 JSON-RPC 访问服务器暴露的工具和资源,例如执行 search_notes、get_note、find_similar_notes、reindex、index_stats 等工具,服务器按规定返回 JSON-RPC 响应。
    • 运行示例
      • 启动后,客户端可向服务器发送请求,获取笔记的向量、查询结果、笔记文本等信息,并可请求对 vault 进行重新索引等操作。

服务器信息