Demarkus MCP 服务端
使用说明(Markdown 简要指南)
-
项目简介
- Demarkus 包含一个 MCP 服务器实现,旨在为大型语言模型(LLM)客户端提供标准化的上下文信息来源、可调用的外部功能与可渲染的提示模板。服务器通过 JSON-RPC 在 STDIO 传输层暴露多种工具,支持资源读取、目录查询、版本历史获取、文档发布/归档/追加、以及基于图谱的链接分析等能力。
-
主要功能点
- 资源与版本管理:通过 MCP 提供对文档资源的读取、版本历史查询、目录列表等能力。
- 工具注册与执行:实现了多种工具(如 mark_fetch、mark_list、mark_graph、mark_versions、mark_publish、mark_archive、mark_append、mark_discover、mark_resolve、mark_index、mark_backlinks 等)供 LLM 客户端调用,返回结构化的文本或数据。
- 认证与安全:提供基于令牌的授权机制与支持配置的令牌存储,便于对写操作进行鉴权控制;支持自签证书开发模式与生产模式的 TLS 配置。
- 会话与上下文:在加载代理、解析请求、聚合元数据等方面实现了会话上下文管理,以及对 publisher 元数据的处理。
- 传输与接口:采用 MCP-Go 库提供的 ServeStdio 进行 JSON-RPC 通信,便于将 MCP 服务嵌入到更大规模的 AI 工作流中。
-
安装步骤
- 克隆仓库并构建
- go build ./server/cmd/demarkus-mcp
- 运行 MCP 服务器(示例,实际参数可结合你的环境调整)
- 运行可执行程序集成后端服务,默认通过 STDIO 提供 MCP 服务。
- 如需使用传输与认证,请按需要配置本地令牌文件、Graph 存储等组件。
- 克隆仓库并构建
-
服务器配置(MCP 客户端需要的配置信息,JSON 结构,示例说明)
- 服务器名称(server_name):demarkus-mcp
- 启动命令(command):./demarkus-mcp
- 启动参数(args):[ "-host", "mark://localhost:6309" // 指定默认 Mark Protocol 服务器(可选,允许空值以要求显式 URLs) ]
- 注释说明:该配置用于 MCP 客户端在启动时知道如何启动并连接到 MCP 服务器;MCP 客户端本身不需要该配置代码,仅用于描述如何部署与对接。若将来增加令牌或 TLS 配置,可在 args 中追加相应参数。
-
基本使用方法
- 启动后,LLM 客户端通过 MCP 客户端接口向 demarkus-mcp 提交请求并获取工具执行结果。
- 常用工具示例:mark_fetch(获取文档内容与元数据)、mark_list(列出路径)、mark_graph(爬取并输出链接图)、mark_versions(获取版本历史)、mark_publish/mark_append/mark_archive(文档修改与管理)等。
- 使用时请遵循工具定义的输入参数要求(如 url、body、expected_version 等),以及服务器端对 publisher 元数据的处理规则。
-
进阶用法与注意事项
- 结合 GraphStore 提供 backlink 与持久化图谱能力时,可获得更丰富的上下文与跨文档关联能力。
- 如需开启自定义域名、TLS、令牌加载等,请参阅仓库中的相应实现(证书加载、TokenStore、TLS 配置等)。
- MCP 客户端在与服务器交互时应遵循 MCP 的 JSON-RPC 语义,确保请求参数与返回内容的正确性。