关于 DCR MCP Server
DCR MCP Server 是一个 Go 编写的开发与研究工具服务,涵盖 Git 提交分析、文献查询、文档转换、PDF 生成和邮件起草。Git 摘要使用 OpenAI,文献查询可通过 PMID 或 DOI 定位。
主要功能
- 01使用 AI 总结 Git 提交
- 02按 PMID 或 DOI 获取论文
- 03将 Markdown 转为支持 GFM 的 HTML
- 04从 Markdown 生成 PDF
- 05起草日常邮件
适用场景
- 01查看仓库分支中分类整理的变更
- 02获取研究论文的元数据和摘要
- 03将 Markdown 文档转换为 HTML 或 PDF
- 04准备日常邮件草稿
MCP 相关
向 MCP 客户端提供开发和研究工具,包括 Git 分析、文献搜索、格式转换、PDF 生成和邮件起草。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DCR MCP Server
一个 Model Context Protocol(MCP)服务,提供开发和研究工具:Git 分析、文献搜索、Markdown/PDF 转换和邮件草拟。
目录
快速开始
-
安装
go install github.com/dictybase/dcr-mcp/cmd/server@latest -
配置 - 添加到你的 MCP 配置中:
{ "mcpServers": { "dcr-mcp": { "command": "server", "env": { "OPENAI_API_KEY": "your-api-key-here" } } } } -
使用 - 此服务提供以下工具:
- Git 摘要 - 使用 AI 分析提交消息
- 文献 - 根据 PMID/DOI 获取研究论文
- Markdown - 转换为支持 GFM 的 HTML
- PDF - 从 Markdown 生成 PDF
- 邮件 - 草拟轻松随意的邮件
安装选项
| 方法 | 命令 | 二进制文件名称 | 适用场景 |
|---|---|---|---|
| Go 安装 | go install github.com/dictybase/dcr-mcp/cmd/server@latest | server | 快速设置 |
| 从源代码安装 | git clone && make build | dcr-mcp-server | 开发 |
| 手动构建 | go build -o dcr-mcp-server ./cmd/server | dcr-mcp-server | 自定义构建 |
要求: Go 1.23.8+,OpenAI API 密钥(用于 Git 摘要)
配置
MCP 设置
根据安装方式使用正确的命令:
{
"mcpServers": {
"dcr-mcp": {
"command": "server", // for go install
// or "command": "dcr-mcp-server", // for source build
// or "command": "/full/path/to/binary", // for custom path
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
}
}
此服务会随 MCP 客户端自动启动,并将结构化日志输出到 stderr,便于调试。
工具参考
🔍 Git 摘要
分析 Git 提交,并按类型生成 AI 摘要。
参数:
repo_url(必填)- Git 仓库 URLbranch(必填)- 要分析的分支start_date(必填)- 分析开始日期end_date(可选)- 结束日期(默认为当前时间)author(必填)- 按作者姓名筛选api_key(必填)- OpenAI API 密钥
输出: 按类别整理的 Markdown 摘要,包含项目符号列表(功能、错误修复、文档等)
🔬 文献搜索
通过 dictyBase API 使用 PubMed ID 或 DOI 获取科学论文。
参数:
id(必填)- PMID(例如,“12345678”)或 DOI(例如,“10.1038/nature12373”)id_type(必填)- “pmid”或“doi”provider(可选)- “pubmed”(默认)或“europepmc”
输出: 格式化的文章元数据,包含标题、作者、摘要和引用数据
📝 Markdown 转换器
将 Markdown 转换为支持 GitHub Flavored Markdown 的 HTML。
参数:
content(必填)- 要转换的 Markdown 内容
功能: GFM、语法高亮、表情符号、表格、YAML 元数据
📄 PDF 生成器
将 Markdown 转换为格式专业的 PDF。
参数:
content(必填)- Markdown 内容filename(可选)- 输出文件名(默认为“output.pdf”)
输出: 使用 IBM Plex 字体的 PDF 文件和确认消息
✉️ 邮件提示词
生成可自定义语气的轻松随意邮件草稿。
参数:
from(必填)- 发件人姓名或邮箱to(必填)- 收件人姓名或邮箱
输出: 完整的邮件草稿,包含主题行,语气友好且专业
开发
构建命令
| 命令 | 用途 |
|---|---|
make build | 将二进制文件构建到 bin/dcr-mcp-server |
make test | 运行所有测试 |
make test-verbose | 运行测试并显示详细输出 |
make fmt | 使用 gofumpt 格式化代码 |
make clean | 移除构建产物 |
项目结构
dcr-mcp/
├── cmd/server/ # Main entry point
├── pkg/
│ ├── tools/ # Core tool implementations
│ │ ├── gitsummary/ # Git analysis + OpenAI
│ │ ├── literaturetool/ # PubMed/DOI fetching
│ │ ├── markdowntool/ # Markdown → HTML
│ │ └── pdftool/ # Markdown → PDF
│ ├── prompts/ # Email prompt logic
│ └── markdown/ # Shared markdown utilities
└── bin/ # Built binaries
参与贡献
- Fork 并创建功能分支
- 遵循
CLAUDE.md中的规范 - 为新功能添加测试
- 运行:
make fmt && make test && golangci-lint run - 提交拉取请求
调试
服务会将带前缀的消息记录到 stderr:
[git-summary]、[literature]、[markdown]、[pdf-tool]、[email-prompt]
在 MCP 客户端中启用 stderr 输出以进行调试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。