AutoDocMcpServer
使用说明内容(Markdown格式)
AutoDocMcpServer 使用说明
-
项目简介
- AutoDocMcpServer 是一个基于 MCP 的后端服务器,运行为 stdio 通道的服务。它能够从本地 Git 仓库中读取提交信息,按配置的规则和提示将提交摘要转换为结构化的 CSV 报告,并将报告写入本地文件系统。服务器通过 MCP 框架提供工具(Tools)接口,LLM 客户端可以调用这些工具实现报告的生成与保存等操作。
-
主要功能点
- 以 stdio 传输与 MCP 客户端通信,支持 JSON-RPC 风格的请求/响应流程。
- 提供工具集用于:读取指定日期区间的提交、生成 CSV 文本、自动将 CSV 内容保存到本地路径、以及检查服务器就绪状态。
- 支持通过环境变量进行服务配置(仓库路径、拥有者信息、输出路径、报告列名、规则等)。
- 内置将提交数据转换为可由 LLM 处理的 Prompt 的逻辑,生成高质量的描述性 CSV 内容。
- 将 CSV 文件写入本地磁盘,确保输出目录存在并处理潜在异常。
-
安装步骤
- 确保已安装 .NET SDK。
- 构建与运行(在项目根目录下执行):
- dotnet build AutoDocMcpServer/AutoDocMcpServer.csproj
- dotnet run --project AutoDocMcpServer/AutoDocMcpServer.csproj
- 确保本地环境变量配置正确,必要变量包括:
- REPOSITORY_PATH:待分析的本地 Git 仓库路径
- OWNER_EMAIL / OWNER_NAME:提交作者邮箱和名称,用于报告中的参与者列
- CULTURE:报告语言/区域设置(如 en-US、pt-BR)
- OUTPUT_PATH:CSV 报告写入的目录
- REPORT_COLUMNS_TITLES:CSV 的列标题(用逗号分隔)
- RULES:分析提交时的规则描述
- PROJECT_METADATA:用于上下文的项目摘要
-
服务器配置(MCP 客户端需要的最低信息) 说明:以下 JSON 结构用于 MCP 客户端配置服务器信息,描述服务器名称、启动命令与参数等。MCP 客户端不需要执行代码,仅需要知道如何启动服务器与传递参数。
{ "servers": { "AutoDocMCPServer": { "type": "stdio", "command": "dotnet", "args": [ "run", "--project", "C:/path/to/AutoDocMcpServer/AutoDocMcpServer.csproj" ], "env": { "REPOSITORY_PATH": "C:\path\to\repo", "OWNER_EMAIL": "[email protected]", "OWNER_NAME": "Project Owner", "CULTURE": "en-US", "OUTPUT_PATH": "C:\Reports", "REPORT_COLUMNS_TITLES": "Period,Phase/Stage,Activity (Title),Activity Description,Motivation,Process,Outcome,Participants", "RULES": "Analyze only relevant commits. Ignore merges and noisy commits. Use phases: Development, Tests, Infrastructure, Integration. Summarize titles using the configured culture. Use OWNER_NAME for Participants. Be brief and objective.", "PROJECT_METADATA": "Short project summary to include in report context." } } } }
-
主要使用方法
- 启动后,通过 MCP 客户端向 GetCommits 工具提供的日期范围请求提交信息,服务器返回基于提交的文本内容(作为 Prompt 的 RAW 数据)。
- 之后可调用 SaveReport 将 RAW CSV 内容保存到 OUTPUT_PATH 指定的目录,工具会返回保存结果或错误信息。
- 可通过 CheckServerStatus 工具快速验证服务器是否就绪,以及环境变量是否加载成功。
-
基本使用流程示例
- 用户请求:指定一个日期区间,得到 AutoDocMcpServer 根据仓库的提交生成的 CSV 文本。
- 系统返回:带有 RAW CSV 内容的文本
- 用户选择将其保存:调用 SaveReport,传入 CSV 内容和目标文件名,服务器返回保存结果。
-
备注
- 服务器运行时将日志输出到标准错误流,MCP 协议消息通过标准输出流传输,确保两边的通信分离。
- 该实现依赖 LibGit2Sharp 读取本地仓库,所需访问权限需通过操作系统权限配置。