PCM MCP服务器
](https://badge.fury.io/js/pcm-mcp-server) 
渐进式上下文映射(PCM)作为模型上下文协议(MCP)服务器。将任何代码库转换为智能的分层文档系统,为LLM辅助开发提供完美的上下文。
🎯 什么是PCM?
PCM创建 上下文气泡 围绕代码库中的任何点:
- 📁 扫描项目以确定文档需求
- 🔍 生成LLM就绪分析提示
- 📝 创建结构化
.pcm.md源代码旁边的文件 - 🌳 构建全面的上下文树
PCM.md - 🎯 按需提供分层上下文
🚀 快速开始
安装
# Global installation (recommended)
npm install -g pcm-mcp-server
# Or local to project
npm install pcm-mcp-serverClaude桌面集成
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"pcm": {
"command": "pcm-mcp-server"
}
}
}全局安装不起作用时的替代路径:
{
"mcpServers": {
"pcm": {
"command": "node",
"args": ["/usr/local/lib/node_modules/pcm-mcp-server/dist/index.js"]
}
}
}其他MCP客户端
适用于任何兼容MCP的客户端:
- 克莱恩 (VS代码)
- 光标
- 克劳德桌面
- 自定义MCP客户端
🛠️ 可用工具
| 工具 | 说明 | 示例用法 |
|---|---|---|
pcm-scan | 列出未记录的文件/目录 | 查找需要文档的内容 |
pcm-ingest | 创建占位符PCM文件 | 准备文档结构 |
pcm-analyze | 生成LLM分析提示 | 获取上下文感知提示 |
pcm-write | 将文档写入PCM文件 | 保存分析结果 |
pcm-update | 生成/更新上下文树 | 创建项目概述 |
pcm-generate-context | 🌟 获取层次结构上下文 | 非常适合开发工作 |
💡 关键功能:上下文生成
这 pcm-generate-context 工具是星形功能:
pcm-generate-context({
targetPath: "/project/src/components/Button.tsx",
includeSource: true
})返回智能上下文:
- 🎯 目标:文档+文件来源
- ⬆️ 父母:来自上述目录的上下文(架构)
- ⬇️ 孩子们:来自以下文件/组件的上下文(依赖关系)
非常适合:
- 理解不熟悉的代码
- 进行有针对性的更改
- 代码审查
- 调试
- 重构
📖 完成工作流程
1.初始设置
// See what needs documentation
pcm-scan({ projectPath: "/path/to/project" })
// Create placeholder files
pcm-ingest({ projectPath: "/path/to/project", batch: 10 })2.文件编制阶段
// Get analysis prompts
pcm-analyze({ projectPath: "/path/to/project", batch: 5 })
// Write documentation (after using prompts with LLM)
pcm-write({
targetPath: "/path/to/project/src/index.js",
content: "# Index Module\n\nMain entry point for the application..."
})3.上下文生成
// Generate context tree
pcm-update({ projectPath: "/path/to/project" })
// Get focused context for development
pcm-generate-context({
targetPath: "/path/to/project/src/components/Button.tsx",
includeSource: true
})🏗️ PCM的工作原理
文件结构
your-project/
├── src/
│ ├── src.pcm.md # Directory documentation
│ ├── components/
│ │ ├── components.pcm.md # Directory documentation
│ │ ├── Button.tsx
│ │ ├── Button.pcm.md # File documentation
│ │ └── Modal.tsx
│ └── utils/
└── PCM.md # Root context tree上下文层次结构
当你打电话的时候 pcm-generate-context 在…上 Button.tsx:
🏗️ your-project/ # Root context
└── 📁 src/ # Parent context
└── 📁 components/ # Parent context
├── 🎯 Button.tsx # Target + source
└── 📄 Modal.tsx # Child context⚙️ 配置
PCM查找 pcm.config.json 在 pcm-tool/ 目录:
{
"ignoreDirectories": [".git", "node_modules", ".venv", "__pycache__"],
"criticalExtensions": [".js", ".py", ".json", ".ts", ".tsx", ".jsx"],
"criticalFiles": ["Dockerfile", "package.json", "README.md"],
"minFileSize": 20,
"placeholderText": "[NEEDS_ANALYSIS]"
}🎨 输出示例
上下文生成输出
# Context Map for Button.tsx
## Target Context
**Path:** src/components/Button.tsx
**Type:** File
React button component with variant support and accessibility features...
### Source Content
\`\`\`typescript
import React from 'react';
interface ButtonProps {
variant: 'primary' | 'secondary';
// ...
}
\`\`\`
## Parent Context (Above)
### src
Main source directory containing all application code...
### components
UI component library with reusable React components...
## Child Context (Below)
### Button.test.tsx
Test suite for Button component...
### Button.stories.tsx
Storybook stories for Button component...🔧 发展
地方发展
git clone https://github.com/Martin-Atrin/pcm-mcp.git
cd pcm-mcp
npm install
npm run build
npm run dev测试
npm test
npm run lint建筑
npm run build
npm run pack-test # Test package contents🤝 与现有工具集成
传统PCM工具兼容性
此MCP服务器与现有的Node.js/Python PCM工具协同工作:
# Legacy server (still works)
node pcm-tool/pcm-server.js &
# Legacy CLI (still works)
python3 pcm-tool/pcm_handler.py ingest /path/to/projectAPI等价物
| MCP工具 | 传统API | 传统CLI | |
|---|---|---|---|
pcm-scan | - | scan | |
pcm-ingest | POST /ingest | ingest | |
pcm-analyze | POST /populate | populate | \ |
pcm-update | POST /update | update | |
pcm-generate-context | ✨ 新 | ✨ 新 |
🎯 用例
🔍 代码探索
使用智能上下文浏览不熟悉的代码库
🛠️ 开发工作
在进行更改时获得完美的上下文
📝 文档
构建全面、实时的文档
🔄 代码评审
理解上下文中的变化
🎓 学习
了解架构和模式
📚 资源
可用MCP资源
pcm://help-完整的帮助文档
相关链接
🚨 故障排除
常见问题
未找到MCP服务器
# Check global installation
npm list -g pcm-mcp-server
# Or use full path in config
which pcm-mcp-server权限错误
# Fix executable permissions
chmod +x /path/to/pcm-mcp-server/dist/index.js配置未加载
- 确保
pcm.config.json存在于pcm-tool/目录 - 检查JSON语法
cat pcm-tool/pcm.config.json | jq
调试模式
{
"mcpServers": {
"pcm": {
"command": "pcm-mcp-server",
"env": {
"NODE_ENV": "development"
}
}
}
}📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🤝 贡献
看 贡献.md 用于开发设置和贡献指南。
📦 出版
此包已发布到npm并在MCP注册表中列出,以便于查找。
______________________________________________________________________
将您的代码库转换为智能上下文系统。非常适合LLM辅助开发。 ✨
