Demarkus MCP 服务端

使用说明(Markdown 格式)

  • 项目简介

    • Demarkus 的 MCP 服务器实现提供一组工具(如 mark_fetch、mark_list、mark_versions、mark_graph、mark_publish、mark_archive、mark_append、mark_discover),使 LLM 客户端可以通过 MCP 框架对 Demarkus 的后端服务进行读取、写入和查询等操作。
    • 服务器通过标准的 JSON-RPC 协议与客户端交互,支持会话管理、能力声明,以及对不同传输通道的支持(如 STDIO、SSE、WebSocket 等)。具体实现包含权限控制、版本管理、存档、冲突检测等核心后端能力。
  • 主要功能点

    • 提供面向 LLM 的工具集,覆盖文档获取、目录列表、版本历史、文档发布、追加、存档等常用行为。
    • 与 Mark Protocol 服务端保持协同,支持将资源以版本化方式写入存储、处理前后端的 frontmatter、ETag、If-Modified-Since 等 HTTP 风格的缓存与一致性语义。
    • 内置基于令牌的能力授权,支持基于路径模式的访问控制和基于时间的令牌过期。
    • 支持多传输协议的后端实现(如 STDIO),以便与不同的 MCP 客户端集成。
    • 提供对外部链接爬取、链接图结构渲染等扩展能力,方便在对话场景中进行内容推断和推理。
  • 安装步骤

    1. 确保已安装 Go 以及所需的构建工具。
    2. 构建 MCP 服务器可执行文件(示例路径以仓库为准):
      • go build ./client/cmd/demarkus-mcp
    3. 运行 MCP 服务器(默认以 STDIO 模式提供服务,配合 MCP 客户端使用):
      • 执行编译后的 demonarkus-mcp 可执行文件,标准输入输出将作为通信管道。
    4. 配置 MCP 客户端以连接到该服务器(客户端会通过配置描述要连接的服务器、命令及参数来启动与之通信)。
    5. 如有需要,可通过 -host 指定默认 Mark Protocol 服务端地址,或通过令牌进行受控发布操作。
  • 服务器配置(MCP 客户端所需的配置信息,JSON 格式;说明中包含 server name、command、args 等,便于 MCP 客户端通过该信息启动和接入服务器) { "server_name": "demarkus-mcp", "command": "./client/bin/demarkus-mcp", "args": [ "-host", "mark://localhost:6309", // 默认的 Mark Protocol 服务端地址 "-token", "<your-auth-token-if-needed>" // 发布/归档等需要鉴权时的令牌,可留空由客户端在需要时提供 ], "description": "Demarkus MCP 服务端,提供对 Mark Protocol 资源、工具与提示模板的访问接口。该配置用于 MCP 客户端在启动时自动接入该服务器。" }

  • 基本使用方法

    • 连接方式:通过 MCP 客户端以 JSON-RPC/协议的方式与该 MCP 服务器交互,执行下列操作示例(由 MCP 客户端发起,常见用途包括读取资源、列出目录、获取版本、发布新文档、追加内容、存档等)。
    • 常用工作流:
      • 查询资源与目录
      • 使用 mark_fetch、mark_list、mark_versions 等工具获取文档与版本信息
      • 使用 mark_publish、mark_archive、mark_append 对文档进行创建、更新、归档、追加
      • 使用 mark_discover 获取服务器代理信息,了解服务器能力与使用方式
    • 安全与权限:通过令牌实现对特定路径与操作的授权,确保只允许具备相应权限的客户端执行写入或归档等敏感操作。

服务器信息