Token导航 LogoToken导航TokenDH.com
autodocument MCP logo
开发工具stdio官方级别未说明来源级核验

autodocument MCP

MCP Server

An MCP (Model Context Protocol) server that automatically generates documentation for code repositories by analyzing directory structures and code files using OpenRouter API.

工具数

3

提示词数

0

GitHub Stars

5

资源数

0
开发工具TypeScriptClaudeClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

PARS-DOE

提供方

PARS-DOE

最后核验

2026/5/18 03:34

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

自动记录MCP服务器

一种MCP(模型上下文协议)服务器,通过使用OpenRouter API分析目录结构和代码文件,自动为代码库生成文档。

特性

  • 智能目录分析:递归分析代码存储库中的目录和文件
  • Git集成:尊重 .gitignore 跳过忽略文件的模式
  • AI驱动的文档:使用OpenRouter API(默认为Claude 3.7)生成全面的文档
  • 测试计划生成:自动创建具有适当测试类型、边缘用例和模拟需求的测试计划
  • 代码审查:执行高级开发人员级别的代码审查,重点关注安全性、最佳实践和改进
  • 由下而上:从叶子目录开始,向上工作,创建连贯的文档层次结构
  • 智能文件处理:

- 创建 documentation.md, testplan.md,以及 review.md 每个目录级别的文件 - 跳过单个文件目录,但将其内容包含在父输出中 - 支持更新现有文件 - 为超出限制的目录创建回退文件

  • 进度报告:提供详细的进度更新,以防止长时间运行的操作超时
  • 高度可配置性:自定义文件扩展名、大小限制、模型、提示等
  • 可扩展架构:模块化设计使未来添加更多自动工具变得容易

安装

先决条件

安装步骤

# Clone the repository
git clone https://github.com/PARS-DOE/autodocument.git
cd autodocument

# Install dependencies
npm install

# Build the project
npm run build

配置

使用环境变量、命令行参数或MCP配置文件配置自动文档:

环境变量

  • OPENROUTER_API_KEY:您的OpenRouter API密钥
  • OPENROUTER_MODEL:要使用的模型(默认值: anthropic/claude-3-7-sonnet)
  • MAX_FILE_SIZE_KB:最大文件大小(KB)(默认值:100)
  • MAX_FILES_PER_DIR:每个目录的最大文件数(默认值:20)

与Roo或Cline一起使用

Roo Code和Cline是支持模型上下文协议(MCP)的人工智能助手,允许他们使用自动文档等外部工具。

Roo/Cline的设置

  1. 克隆并构建存储库 (按照上述安装步骤操作)
  1. 配置MCP服务器:

#### 对于Roo:

在MCP服务器菜单中,编辑MCP设置,并使用克隆存储库的完整路径添加自动文档配置:

使用克隆存储库的完整路径添加自动文档配置:

   {
     "mcpServers": {
       "autodocument": {
         "command": "node",
         "args": ["/path/to/autodocument/build/index.js"],
         "env": {
           "OPENROUTER_API_KEY": "your-api-key-here"
         },
         "disabled": false,
         "alwaysAllow": []
       }
     }
   }

#### 对于Claude桌面应用程序:

在以下位置编辑Claude桌面应用程序配置文件:

- 窗户: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json

使用克隆存储库的完整路径添加自动文档配置:

   {
     "mcpServers": {
       "autodocument": {
         "command": "node",
         "args": ["/path/to/autodocument/build/index.js"],
         "env": {
           "OPENROUTER_API_KEY": "your-api-key-here"
         },
         "disabled": false,
         "alwaysAllow": []
       }
     }
   }
  1. 重要提示: 确保使用克隆存储库中build/index.js文件的绝对路径
  1. 重新启动Roo/Cline或Claude桌面应用程序
  1. 使用工具:

在与Roo或Claude的对话中,您现在可以要求它为您的代码库生成文档或测试计划:

   Please generate documentation for my project at /path/to/my/project

或测试计划:

   Please create a test plan for my project at /path/to/my/project

或者用于代码审查:

   Please review the code in my project at /path/to/my/project

运作原理

autodocument服务器使用自下而上的方法工作:

  1. 发现:递归扫描目标目录,尊重 .gitignore 规则
  2. 智能目录处理:

- 标识包含多个代码文件或子目录的目录 - 跳过单个文件目录,但将其内容包含在父文档中

  1. 文件分析:分析代码文件,按扩展名和大小进行筛选
  2. 文档生成:对于每个符合条件的目录:

- 读取代码文件 - 使用优化的提示将代码发送到OpenRouter API - 创建一个 documentation.md 文件(或更新现有文件)

  1. 聚合:当它在目录树中向上移动时:

- 处理每个父目录 - 包括子目录中的文档 - 在每个级别创建全面的概述

建筑

该项目采用模块化架构:

  • 核心组件:配置管理和服务器实施
  • 爬虫模块:目录遍历和文件发现
  • 分析仪模块:代码文件分析和过滤
  • OpenRouter模块:基于LLM的内容生成的AI集成
  • 文档模块:文件编制过程的编排
  • 工具模块:适用于不同auto-\*工具(文档、测试计划等)的可扩展系统
  • 提示配置:集中提示管理,便于定制

示例用法

命令行

# Navigate to your cloned repository
cd path/to/cloned/autodocument

# Set your API key (or configure in environment variables)
export OPENROUTER_API_KEY=your-api-key-here

# Run documentation generation on a project
node build/index.js /path/to/your/project

程序化使用

const { spawn } = require('child_process');
const path = require('path');

// Path to your project
const projectPath = '/path/to/your/project';

// Your OpenRouter API key
const apiKey = 'your-api-key-here';

// Create a JSON command to simulate an MCP tool call
const toolCallCommand = JSON.stringify({
  jsonrpc: '2.0',
  method: 'call_tool',
  params: {
    name: 'generate_documentation',
    arguments: {
      path: projectPath,
      openRouterApiKey: apiKey
    }
  },
  id: 1
});

// Start the server process - use the full path to your cloned repository
const serverProcess = spawn('node', ['/path/to/autodocument/build/index.js'], {
  env: {
    ...process.env,
    OPENROUTER_API_KEY: apiKey
  }
});

// Send the tool command
serverProcess.stdin.write(toolCallCommand + '\n');

// Handle server output and errors
// ...

自定义提示

您可以通过编辑来轻松自定义工具使用的提示 src/prompt-config.ts 文件。这使您能够:

  • 调整生成内容的基调和风格
  • 为您的项目需求添加具体说明
  • 修改现有内容的更新方式

提示配置与工具实现是分开的,这使得在不更改代码的情况下很容易尝试不同的提示。

可用工具

生成文档

为代码存储库生成全面的文档:

{
  "path": "/path/to/your/project",
  "openRouterApiKey": "your-api-key-here", // Optional
  "model": "anthropic/claude-3-7-sonnet", // Optional
  "updateExisting": true // Optional, defaults to true
}

自动测试计划

为代码存储库中的功能和组件生成测试计划:

{
  "path": "/path/to/your/project",
  "openRouterApiKey": "your-api-key-here", // Optional
  "model": "anthropic/claude-3-7-sonnet", // Optional
  "updateExisting": true // Optional, defaults to true
}

作者视图

为存储库生成高级开发人员级别的代码审查:

{
  "path": "/path/to/your/project",
  "openRouterApiKey": "your-api-key-here", // Optional
  "model": "anthropic/claude-3-7-sonnet", // Optional
  "updateExisting": true // Optional, defaults to true
}

输出文件

服务器创建几种类型的输出文件:

documentation.md

包含目录中代码的全面文档,包括:

  • 准则的目的
  • 关键功能和类
  • 文件之间的关系
  • 与子组件集成

测试平面.md

包含目录中代码的详细测试计划,包括:

  • 每个功能的适当测试类型(单元、集成、e2e)
  • 要测试的常见边缘情况
  • 依赖模拟需求
  • 集成测试策略

review.md

包含高级开发人员级别的代码审查反馈,包括:

  • 安全问题和漏洞
  • 违反最佳做法
  • 潜在的错误或架构问题
  • 重构的机会
  • 实用、建设性的反馈(不是吹毛求疵的问题)

回退文件

当目录超过大小或文件数限制时创建:

  • undocumented.md -用于文档生成
  • untested.md -用于生成测试计划
  • review-skipped.md -用于代码审查生成

这些文件包含:

  • 跳过处理的原因
  • 已分析和排除的文件列表
  • 关于如何修复(增加限制或手动创建内容)的说明

故障排除

API关键问题

如果您看到有关无效API密钥的错误:

  • 确保您已设置 OPENROUTER_API_KEY 环境变量
  • 检查您的OpenRouter帐户是否处于活动状态
  • 验证您是否有足够的信用用于API调用

大小限制错误

如果由于大小限制跳过了太多目录:

  • 设置环境变量以增加限制: MAX_FILE_SIZE_KBMAX_FILES_PER_DIR
  • 考虑手动记录非常大的目录

模型选择

如果您对文档质量不满意:

  • 通过设置来尝试不同的模型 OPENROUTER_MODEL 环境变量

许可证

CC0-1.0许可证-本作品由美国能源部根据CC0专用于公共领域

贡献

欢迎投稿!请随时提交拉取请求。

添加新工具

该架构旨在使添加新的auto-\*工具变得容易:

  1. 创建一个扩展的新类 BaseToolsrc/tools 目录
  2. 在中定义提示 src/prompt-config.ts
  3. 在中注册该工具 ToolRegistry

有关如何实现新功能的示例,请参阅现有工具。

目录标签

目录标签

开发工具TypeScriptClaudedeveloper-tools代码文档生成本地部署AI代码分析自动化测试计划智能代码审查

支持客户端

ClaudeCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP