一个基于Node.js的MCP(模型上下文协议)工具服务器,为Python项目提供三个专注于文档生成的工具。作为npm包构建,可以直接从Git仓库安装。
create_class_diagram - 分析Python文件并生成PlantUML格式的UML类图create_tree_structure - 创建干净的目录树结构文档,并智能排除不需要的文件create_module_functions - 记录模块级别的函数签名、装饰器和类型提示# 克隆仓库
git clone https://github.com/your-username/mcp-docs-tools.git
cd mcp-docs-tools
# 安装依赖
npm install
# 全局安装(可选)
npm install -g .
# 或者直接运行
npm start
# 直接从GitHub安装
npm install -g git+https://github.com/your-username/mcp-docs-tools.git
# 然后运行
mcp-docs-tools
git clone https://github.com/your-username/mcp-docs-tools.git
cd m-oc-docs-tools
npm install
npm start
服务器在运行时会自动检测可用的Python 3解释器。在Windows上,如果可用则优先使用py -3,否则回退到python或python3。在macOS/Linux上,优先使用python3,如果python是Python 3,则回退到python。
如果没有找到Python 3解释器,您将看到一个可操作的错误:
"未找到Python 3解释器。请安装Python 3或设置MCP_PYTHON(以及可选的MCP_PYTHON_ARGS)。尝试过:..."
您可以显式指定解释器和参数:
MCP_PYTHON:命令或绝对路径(例如,py,python3,C:\\Python312\\python.exe)MCP_PYTHON_ARGS:空格分隔的参数(例如,-3)示例:
# Windows PowerShell
$env:MCP_PYTHON = "python"
$env:MCP_PYTHON_ARGS = "-3"
npm start
# macOS/Linux bash
export MCP_PYTHON=py
export MCP_PYTHON_ARGS=-3
npm start
启动服务器以通过模型上下文协议暴露工具:
# 如果全局安装
mcp-docs-tools
# 或从项目目录
npm start
# 或直接使用node运行
node bin/server.js
服务器将监听标准输入/输出,并暴露可以由MCP客户端调用的三个工具。
目的:从Python代码生成UML类图
参数:
project_path(字符串,必需):要分析的Python项目的根路径输出:
docs/uml.txt示例:
@startuml
class MyClass {
+public_attr: str
-_private_attr: int
--
+__init__(self, name: str)
+public_method(self, arg: int): bool
-{static} _private_method(): None
}
@enduml
目的:生成项目目录树结构
参数:
project_path(字符串,必需):要分析的项目的根路径输出:
docs/tree-structure.txt示例:
my-project
├── src/
│ ├── main.py
│ └── utils/
│ └── helpers.py
├── tests/
│ └── test_main.py
└── README.md
目的:记录模块级别的函数及其签名
参数:
project_path(字符串,必需):要分析的Python项目的根路径输出:
docs/module-functions.txt示例:
## 模块:src.utils.helpers
### `async def process_data(data: List[str], timeout: int = 30) -> Dict[str, Any]`
**装饰器**:
- `@retry(max_attempts=3)`
**描述**:
处理带可选超时的数据列表。
**行号**:42
该工具采用结合了两者优点的混合架构:
mcp-docs-tools/
├── package.json # npm包配置
├── bin/
│ └── server.js # 主MCP服务器入口点
├── src/
│ ├── server.js # MCP服务器实现
│ ├── tools/ # 工具实现
│ │ ├── class-diagram.js # UML生成包装器
│ │ ├── tree-structure.js # 树生成包装器
│ │ └── module-functions.js # 函数文档包装器
│ └── config/
│ └── exclusions.js # 默认排除模式
├── python/
│ ├── generate_uml.py # 类的Python AST解析
│ ├── generate_tree.py # 目录树生成
│ ├── generate_functions.py # 函数解析和文档生成
│ └── requirements.txt # Python依赖项(无需任何依赖项)
└── README.md
这些工具会自动排除不应被文档化的常见文件和目录:
__pycache__, *.pyc, *.pyo, *.pydbuild, dist, eggs, *.egg-infovenv, .venv, env, virtualenv.git, .svn, .hg.idea, .vscode, .cursor.pytest_cache, .coverage, .toxnode_modules, target, out, binpackage-lock.json, yarn.lock, Pipfile.lock.DS_Store, Thumbs.db, *.tmp, *.log配置取决于您如何安装这些工具:
在您的项目中创建一个.cursorrules文件,并添加到您的Cursor MCP配置中:
{
"mcpServers": {
"docs-tools": {
"command": "node",
"args": ["/path/to/mcp-docs-tools/bin/server.js"],
"cwd": "/path/to/mcp-docs-tools"
}
}
}
替换/path/to/mcp-docs-tools为您实际克隆仓库的位置。
例如:
"/Users/yourname/projects/mcp-docs-tools""C:\\Users\\yourname\\projects\\mcp-docs-tools"npm install -g{
"mcpServers": {
"docs-tools": {
"command": "mcp-docs-tools"
}
}
}
在您的Python项目中创建这个.cursorrules文件:
# 文档工具集成
## 可用的MCP工具
- `create_class_diagram` - 生成UML类图
- `create_tree_structure` - 生成目录树
- `create_module_functions` - 记录模块函数
## 使用方法
在会话开始时运行这些工具以在`docs/`目录中生成文档。
参考生成的文件以了解代码库结构。
## 生成的文件
- `docs/uml.txt` - PlantUML类图
- `docs/tree-structure.txt` - 目录结构
- `docs/module-functions.txt` - 函数文档
添加到您的Claude Desktop MCP配置中:
{
"mcpServers": {
"docs-tools": {
"command": "node",
"args": ["/path/to/mcp-docs-tools/bin/server.js"],
"cwd": "/path/to/mcp-docs-tools"
}
}
}
替换/path/to/mcp-docs-tools为您实际克隆仓库的位置。
npm install -g{
"mcpServers": {
"docs-tools": {
"command": "mcp-docs-tools"
}
}
}
克隆并安装(推荐):
git clone https://github.com/your-username/mcp-docs-tools.git
cd mcp-docs-tools
npm install
查找您的安装路径:
pwd
# 复制此路径用于您的MCP配置
更新您的MCP配置,使用步骤2中的路径
测试工具 在您的Python项目中!
这些工具包括全面的错误处理:
MIT许可证 - 详情见LICENSE文件。
为Python开发社区制作 ❤️