DCR MCP服务器
一个模型上下文协议(MCP)服务器,提供开发和研究工具:git分析、文献搜索、markdown/PDF转换和电子邮件起草。
目录
- 🔍 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获取研究论文 - 降价 -使用GFM支持转换为HTML - 可移植文档格式 -从markdown生成PDF - 电子邮件 -起草非正式电子邮件
安装选项
| 方法 | 命令 | 二进制名称 | 最适合 |
|---|---|---|---|
| 去安装 | 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摘要
🔬 文献检索
通过dictyBaseneneneba API使用PubMed ID或DOI获取科学论文。
参数:
id(必填)-PMID(例如“12345678”)或DOI(例如“10.1038/nature12373”)id_type(必填)-“pmid”或“doi”provider(可选)-“pubmed”(默认)或“europepmc”
输出: 包含标题、作者、摘要和引文数据的格式化文章元数据
📝 Markdown转换器
使用GitHub风味Markdown支持将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贡献
- 分叉并创建特征分支
- 遵循惯例
CLAUDE.md - 添加新功能的测试
- 运行:
make fmt && make test && golangci-lint run - 提交拉取请求
调试
服务器使用前缀消息登录到stderr:
[git-summary],[literature],[markdown],[pdf-tool],[email-prompt]
在MCP客户端中启用stderr输出以进行调试。
