{"_id":"@buhuo/product-doc-mcp","_rev":"5-e7cd2c26242f4af7f5f09fa7aff43cf7","name":"@buhuo/product-doc-mcp","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@buhuo/product-doc-mcp","version":"1.0.0","keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"author":"","license":"MIT","_id":"@buhuo/product-doc-mcp@1.0.0","maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"bin":{"product-doc-mcp":"dist/index.js"},"dist":{"shasum":"e90bf1159a916dd65a574aabd7b41347f358efbc","tarball":"https://registry.npmjs.org/@buhuo/product-doc-mcp/-/product-doc-mcp-1.0.0.tgz","fileCount":7,"integrity":"sha512-uZHRI3HIz3N9YgaO0UX0BK3OI8B2Ubu3K4AuWv6A3+0bXWeHHOequPti0eb7Z3IznCM+0nKF5n6tALGzmnLdbA==","signatures":[{"sig":"MEQCIHoQb9HXwcyq7hCvFk3nB9Y3tEIfUfRIU6XVQ4PZXPdjAiAZHbljHDvmlU9TQXyHXs/xLMPymhv93bY04E1vUH4zJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61243},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"49510b881922ba3bd6c4aa76d4ca78f6ca9d2a04","scripts":{"build":"tsc","start":"tsx src/index.ts","inspect":"mcp-inspector tsx src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"buhuo","email":"644912187@qq.com"},"repository":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","directories":{},"_nodeVersion":"20.20.2","dependencies":{"js-yaml":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"tsx":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/product-doc-mcp_1.0.0_1780976775975_0.10766896879318244","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@buhuo/product-doc-mcp","version":"1.0.1","keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"author":"","license":"MIT","_id":"@buhuo/product-doc-mcp@1.0.1","maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"bin":{"product-doc-mcp":"dist/index.js","product-doc-init":"install.js"},"dist":{"shasum":"3e62902e2de7770c34959bd8e12b23c69c5578f8","tarball":"https://registry.npmjs.org/@buhuo/product-doc-mcp/-/product-doc-mcp-1.0.1.tgz","fileCount":8,"integrity":"sha512-vW6yp8hQAV1Ffv3tBU8XLjKNd3VFrazRfLmklvwrGpb12N54LFcaPBb/SXHLimM06QEycKNTkN6DeImvUk9oZQ==","signatures":[{"sig":"MEQCIE7JQb2D2qP8AJmpnI7eR8CspG1Y7umgIAH0Oi5DICd2AiAix2DpFdxSgVrPv6vR/3t2l3t7N4dhST5oIGNn64WLow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63745},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"7659fe5d55b33cd071ae43d6e6e1cda270e195ed","scripts":{"build":"tsc","start":"tsx src/index.ts","inspect":"mcp-inspector tsx src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"buhuo","email":"644912187@qq.com"},"repository":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","directories":{},"_nodeVersion":"20.20.2","dependencies":{"js-yaml":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"tsx":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/product-doc-mcp_1.0.1_1780977471009_0.5118989080994474","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@buhuo/product-doc-mcp","version":"1.0.2","keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"author":"","license":"MIT","_id":"@buhuo/product-doc-mcp@1.0.2","maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"bin":{"product-doc-mcp":"dist/index.js","product-doc-init":"install.js"},"dist":{"shasum":"0baee620e93dc7686240740b9bdf704ca8a55d8e","tarball":"https://registry.npmjs.org/@buhuo/product-doc-mcp/-/product-doc-mcp-1.0.2.tgz","fileCount":8,"integrity":"sha512-a7i8+V3uV0dU8Ski8EzobNXE5LVmtmd+X7rwr4R+agM5O5MGEFPSAKJPdWpBJgRGgLSQzx9sSAkeDJALsYGf2w==","signatures":[{"sig":"MEQCIBwisljk2Xn8wm8flZoGR7TnrXgETDlxtqlCSzwmrXusAiAbHBhmCtFLxi8WXh4twDxI5YY/ivoH6snUjDVAqoep2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64922},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"145c69455727bd2a38c2e8eb0e7dc7c015837b12","scripts":{"build":"tsc","start":"tsx src/index.ts","inspect":"mcp-inspector tsx src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"buhuo","email":"644912187@qq.com"},"repository":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","directories":{},"_nodeVersion":"20.20.2","dependencies":{"js-yaml":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"tsx":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/product-doc-mcp_1.0.2_1780986115979_0.7658826222117101","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@buhuo/product-doc-mcp","version":"1.0.3","keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"author":"","license":"MIT","_id":"@buhuo/product-doc-mcp@1.0.3","maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"bin":{"product-doc-mcp":"dist/index.js","product-doc-init":"install.js"},"dist":{"shasum":"a8e4d834828b1823be7fb205e33b49d2c0171eb2","tarball":"https://registry.npmjs.org/@buhuo/product-doc-mcp/-/product-doc-mcp-1.0.3.tgz","fileCount":8,"integrity":"sha512-L9PFsty+RxQXVUCyhn8ITs6SJP20L4V6bpfIS7vilJ+odif4bFMP+gXwkIBL8u0Jslv/f90HR2CcLU5D+jmqjA==","signatures":[{"sig":"MEUCIQDIi8Jrm2ITH9aUua5SR5Mq9xFvBY+K8D3ZRe1BmDQhQgIgAdrhJu3gtzagXruPoxtbRabefWwAmTVvpwZVT658HDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69358},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"11111dd0a6e7163b7ace5206ed1380cb120064a4","scripts":{"build":"tsc","start":"tsx src/index.ts","inspect":"mcp-inspector tsx src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"buhuo","email":"644912187@qq.com"},"repository":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","directories":{},"_nodeVersion":"20.20.2","dependencies":{"js-yaml":"^4.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/js-yaml":"^4.0.9"},"peerDependencies":{"tsx":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/product-doc-mcp_1.0.3_1780988805858_0.7083006267233571","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@buhuo/product-doc-mcp","version":"1.0.4","description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"product-doc-mcp":"dist/index.js","product-doc-init":"install.js"},"scripts":{"build":"tsc","start":"tsx src/index.ts","inspect":"mcp-inspector tsx src/index.ts","prepublishOnly":"npm run build"},"keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"author":"","license":"MIT","repository":{"type":"git","url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git"},"bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","peerDependencies":{"tsx":"^4.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","js-yaml":"^4.2.0"},"devDependencies":{"@types/node":"^22.0.0","@types/js-yaml":"^4.0.9","tsx":"^4.19.0","typescript":"^5.6.0"},"engines":{"node":">=18.0.0"},"_id":"@buhuo/product-doc-mcp@1.0.4","gitHead":"6b072248f672439ac23c1d57852329583410a23a","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-QBV/+UVWrIVF5HbIBxrK9Ak7/AuKlyiJ3pfh5uOWVhlg6wKYtqjsPHmVLzDlvqdX65flBolgrDuUrLGmMKjsGg==","shasum":"dd6bcb07cf1feb2127dfc9ca6f9465896547689e","tarball":"https://registry.npmjs.org/@buhuo/product-doc-mcp/-/product-doc-mcp-1.0.4.tgz","fileCount":8,"unpackedSize":68172,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDMF18hvc2rcNEUdXfCsjJvEZyoCHmGGQzmJaM34lypbwIhAKXjJ26FkK8LFJQhNK7ROvRMiXBHQOPPD9kBKW2Zziz6"}]},"_npmUser":{"name":"buhuo","email":"644912187@qq.com"},"directories":{},"maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/product-doc-mcp_1.0.4_1780989663406_0.03696263727610072"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T03:46:15.752Z","modified":"2026-06-09T07:21:03.956Z","1.0.0":"2026-06-09T03:46:16.147Z","1.0.1":"2026-06-09T03:57:51.147Z","1.0.2":"2026-06-09T06:21:56.119Z","1.0.3":"2026-06-09T07:06:46.009Z","1.0.4":"2026-06-09T07:21:03.558Z"},"bugs":{"url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp/issues"},"license":"MIT","homepage":"https://gitlab.vmic.xyz/minigame/product-doc-mcp#readme","keywords":["mcp","mcp-server","product","planning","prd","document","doc","model-context-protocol"],"repository":{"type":"git","url":"https://gitlab.vmic.xyz/minigame/product-doc-mcp.git"},"description":"MCP Server for quick access to product planning documents - search, read, and manage PRD files with ease","maintainers":[{"name":"buhuo","email":"644912187@qq.com"}],"readme":"# Product Doc MCP - 产品策划文档快速访问\n\n一个 MCP Server，用于快速搜索和访问产品策划文档。支持本地目录配置，在项目目录下自动初始化目录结构。\n\n## 功能特性\n\n- 🔍 **智能搜索** - 根据文件名或关键词快速搜索策划文档\n- 📄 **快速读取** - 一键读取文档内容\n- ⚡ **搜索+读取** - `search_and_read` 一站式完成搜索和读取\n- 📁 **多源管理** - 支持配置多个文档来源\n- 📊 **相关度排序** - 智能匹配相关文档，优先显示最匹配的\n- 🛠️ **配置管理** - 运行时添加/移除文档来源\n- ✨ **自动初始化** - 一键创建项目目录结构\n\n## 工具列表\n\n### 1. `search_docs` - 搜索策划文档\n\n根据关键词搜索策划文档，返回匹配文件列表。\n\n**参数：**\n| 参数 | 类型 | 必需 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `query` | string | ✅ | - | 搜索关键词 |\n| `limit` | number | ❌ | 10 | 返回结果数量 |\n\n**示例：**\n```\n搜索关键词: \"用户增长\"\n```\n\n### 2. `read_doc` - 读取策划文档\n\n读取指定路径的策划文档内容。\n\n**参数：**\n| 参数 | 类型 | 必需 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `filePath` | string | ✅ | - | 文档完整路径 |\n| `maxLength` | number | ❌ | 50000 | 最大读取字符数 |\n\n**示例：**\n```\n文档路径: /Users/xxx/Documents/PRD/用户增长方案.md\n```\n\n### 3. `search_and_read` - 搜索并读取 ⭐（推荐）\n\n搜索策划文档并直接读取第一个匹配结果，适合快速访问。\n\n**参数：**\n| 参数 | 类型 | 必需 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `query` | string | ✅ | - | 搜索关键词 |\n| `readContent` | boolean | ❌ | true | 是否直接读取内容 |\n\n**示例：**\n```\n搜索关键词: \"用户增长\"\n```\n\n### 4. `list_docs` - 列出所有文档\n\n列出所有配置的文档目录中的策划文件。\n\n**参数：**\n| 参数 | 类型 | 必需 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| `sourceName` | string | ❌ | - | 按来源名称筛选 |\n| `limit` | number | ❌ | 20 | 返回文件数量 |\n\n### 5. `get_config` - 查看配置\n\n查看当前文档来源配置。\n\n### 6. `update_config` - 更新配置\n\n添加或移除文档来源。\n\n**参数：**\n| 参数 | 类型 | 必需 | 说明 |\n|------|------|------|------|\n| `action` | string | ✅ | `add` / `remove` / `list` |\n| `name` | string | add/remove时必需 | 来源名称 |\n| `path` | string | add时必需 | 文档目录路径 |\n| `type` | string | ❌ | `local` / `remote` |\n| `description` | string | ❌ | 来源描述 |\n\n## 安装\n\n### 方式一：npm 安装（推荐）\n\n```bash\n# 全局安装\nnpm install -g @buhuo/product-doc-mcp\n\n# 初始化项目（创建目录结构和 Qoder MCP 配置）\nnpx product-doc-init\n```\n\n这将自动创建：\n\n```\nyour-project/\n├── prd/\n│   ├── planning/     # 产品策划目录\n│   └── req/          # 产品需求目录\n├── .product-doc-mcp/\n│   └── config.yaml   # MCP 配置文件\n└── mcp.json          # Qoder MCP 配置\n```\n\n### 方式二：手动配置（从源码）\n\n#### 1. 克隆项目\n\n```bash\ngit clone https://gitlab.vmic.xyz/minigame/product-doc-mcp.git\ncd product-doc-mcp\nnpm install\n```\n\n#### 2. 初始化项目\n\n```bash\nnpx tsx install.ts\n```\n\n#### 3. 配置 Qoder MCP\n\n安装完成后会自动生成 `mcp.json` 文件。如果需要手动配置，编辑 `mcp.json`：\n\n```json\n{\n  \"mcpServers\": {\n    \"product-doc\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"/path/to/global/node_modules/@buhuo/product-doc-mcp/dist/index.js\"]\n    }\n  }\n}\n```\n\n#### 4. 重启 Qoder\n\n---\n\n## 使用示例\n\n### 场景1：快速查找并阅读策划文档\n\n```\n帮我查找\"用户增长\"相关的策划文档，并读取内容\n```\n\n### 场景2：列出所有策划文档\n\n```\n列出我配置的所有策划文档\n```\n\n### 场景3：添加新的文档来源\n\n```\n添加一个新的策划文档目录，路径是 /Users/xxx/新项目/策划，名称叫\"新项目策划\"\n```\n\n### 场景4：快速获取文档进行技术策划\n\n```\n查找\"订单模块\"的策划文档，我需要基于这个来做技术方案设计\n```\n\n---\n\n## 配置说明\n\n### 配置文件位置\n\n- **项目目录**：`./.product-doc-mcp/config.yaml`（推荐，便于版本控制）\n- **用户目录**：`~/.product-doc-mcp/config.yaml`（备选）\n\n### 配置项说明\n\n| 配置项 | 类型 | 说明 |\n|--------|------|------|\n| `sources` | array | 文档来源列表 |\n| `sources[].path` | string | 目录路径（本地或远程） |\n| `sources[].type` | string | `local` 或 `remote` |\n| `sources[].name` | string | 来源名称（用于识别） |\n| `sources[].description` | string | 来源描述 |\n| `fileExtensions` | array | 支持的文件扩展名 |\n| `searchDepth` | number | 递归搜索深度 |\n\n### 支持的文件格式\n\n- `.md` / `.markdown` - Markdown 格式\n- `.txt` - 纯文本\n- `.doc` / `.docx` - Word 文档\n- `.pdf` - PDF 文档\n\n---\n\n## 编程方式使用\n\n### 直接运行\n\n```bash\n# 直接运行\nnpx tsx src/index.ts\n\n# 或构建后运行\nnpm run build\nnpx tsx dist/index.js\n```\n\n### 作为模块导入\n\n```typescript\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\n\n// 在其他 MCP 客户端中使用\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\n```\n\n---\n\n## 工作流程\n\n```\n用户输入\n    ↓\n[search_and_read]\n    ↓\nMCP Server\n    ↓\n┌─────────────────────┐\n│  1. 加载配置文件     │\n│  2. 搜索匹配文件     │\n│  3. 计算相关度       │\n│  4. 返回结果/内容    │\n└─────────────────────┘\n    ↓\n返回文档内容\n    ↓\n用户可以基于内容生成技术策划等\n```\n\n---\n\n## 项目结构\n\n```\nproduct-doc-mcp/\n├── src/\n│   └── index.ts        # MCP Server 主入口\n├── install.ts          # 自动安装脚本\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## 技术栈\n\n- **TypeScript** - 开发语言\n- **@modelcontextprotocol/sdk** - MCP SDK\n- **js-yaml** - YAML 配置解析\n- **zod** - 参数验证\n\n---\n\n## 开发\n\n### 环境要求\n\n- Node.js >= 18.0.0\n- npm >= 9.0.0\n\n### 安装\n\n```bash\nnpm install\n```\n\n### 构建\n\n```bash\nnpm run build\n```\n\n### 类型检查\n\n```bash\nnpx tsc --noEmit\n```\n\n### 调试\n\n```bash\n# 方式一：直接运行\nnpm start\n\n# 方式二：使用 inspector\nnpm run inspect\n```\n\n---\n\n## 测试\n\n### 手动测试\n\n1. 启动 MCP Server：\n```bash\nnpm start\n```\n\n2. 在 Qoder 中测试工具：\n- 使用 `search_docs` 搜索文档\n- 使用 `read_doc` 读取文档\n- 使用 `search_and_read` 一站式访问\n\n### 测试场景\n\n```typescript\n// 搜索文档\nawait server.tools.search_docs({\n  query: \"用户增长\",\n  limit: 5\n});\n\n// 读取文档\nawait server.tools.read_doc({\n  filePath: \"/path/to/document.md\"\n});\n\n// 搜索并读取\nawait server.tools.search_and_read({\n  query: \"订单模块\"\n});\n```\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}