使用说明

项目简介

Markdown Sidecar MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 应用提供代码文档上下文。它允许你将 NPM 包、Go Modules 和 PyPi 包的 Markdown 文档以 资源 (Resources)工具 (Tools) 的形式挂载到 MCP 服务器上,从而使 LLM 客户端能够通过标准化的 MCP 协议访问这些文档,增强代码理解和生成能力。

主要功能点

  • 文档服务: 将本地安装的 NPM 包、Go Modules 和 PyPi 包的 Markdown 文档通过 MCP 协议提供服务。
  • 资源与工具: 支持将文档挂载为 MCP 资源 (Resources)工具 (Tools),以适应不同的 LLM 客户端需求。资源提供静态文档访问,工具则可以被LLM调用执行并返回文档内容。
  • 多包管理器支持: 支持 NPM, Go Modules, PyPi 三种常见的包管理器。
  • 灵活配置: 允许指定工作目录、包名、注册表类型以及文档子目录,并可选择将文档暴露为 resource 或 tool。
  • 多种传输协议: 支持 Stdio 和 SSE 两种传输协议,满足不同应用场景的需求。
  • 本地环境访问: 所有文档访问都限定在本地工作目录内,保障数据安全。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm (或 npx)。
  2. 执行安装命令: 在你的项目目录下打开终端,运行以下命令安装 Markdown Sidecar MCP Server。此命令会自动下载并执行该 MCP 服务器。
    npx -y markdown-sidecar-mcp

服务器配置

为了让 MCP 客户端 (例如 Cursor 编辑器) 连接到 Markdown Sidecar MCP Server,你需要在客户端中配置服务器信息。以 Cursor 编辑器为例,在 '.cursor/mcp.json' 文件中添加如下配置:

{
  "mcpServers": {
    "sidecar": {  // 服务器名称,可以自定义
      "command": "npx",  // 启动服务器的命令,这里使用 npx
      "args": [  // 启动命令的参数
        "-y", "--package", "markdown-sidecar-mcp", // 使用 npx 安装并运行 markdown-sidecar-mcp 包
        "--", // 分隔 npx 参数和 markdown-sidecar-mcp 参数
        "mcp", "start", // 运行 mcp server 的 start 命令
        "--workingDir", "{REPO_WORKING_DIR}", // 工作目录,Cursor 将自动替换为当前仓库根目录
        "--packageName", "{PACKAGE_NAME}", // 要获取文档的包名,Cursor 将自动替换为当前编辑器中打开的包名
        "--registry", "npm" // 包的注册表类型,根据实际情况修改为 npm, gomodules 或 pypi
      ]
    }
  }
}

参数说明:

  • 'server name': 'sidecar' (可以自定义,用于在客户端中标识该服务器).
  • 'command': 'npx' (使用 npx 命令执行).
  • 'args': 启动参数列表:
    • '-y', '--package', 'markdown-sidecar-mcp': 使用 npx 安装并运行 'markdown-sidecar-mcp' 包.
    • '--': 分隔 npx 参数和 'markdown-sidecar-mcp' 的参数.
    • 'mcp', 'start': 指定运行 'markdown-sidecar-mcp' 的 'start' 命令,启动 MCP 服务器.
    • '--workingDir', '{REPO_WORKING_DIR}': 指定服务器的工作目录,'{REPO_WORKING_DIR}' 是占位符,Cursor 等客户端会自动替换为当前仓库的根目录。
    • '--packageName', '{PACKAGE_NAME}': 指定要加载文档的包名,'{PACKAGE_NAME}' 是占位符,Cursor 等客户端通常会根据上下文自动替换为用户当前编辑代码相关的包名。
    • '--registry', '"npm"': 指定包的注册表类型,根据需要修改为 '"npm"', '"gomodules"' 或 '"pypi"'。

注意: 请根据你使用的包管理器 (NPM, Go Modules, PyPi) 修改 'registry' 参数的值。如果需要加载特定子目录下的文档,可以使用 '--docsSubDir' 参数。

基本使用方法

  1. 启动 MCP 服务器: 配置好 '.cursor/mcp.json' 后,Cursor 等 MCP 客户端会自动启动 Markdown Sidecar MCP Server。
  2. 客户端请求文档: 在 LLM 客户端中,当需要访问代码文档时,客户端会通过 MCP 协议向 Markdown Sidecar MCP Server 发送请求。
  3. 服务器返回文档: Markdown Sidecar MCP Server 根据请求,查找并返回相应的 Markdown 文档内容 (以 Resource 或 Tool 的形式返回)。
  4. LLM 使用文档: LLM 客户端接收到文档后,可以利用这些信息来提升代码理解、生成和补全等能力。

信息

分类

开发者工具