模型上下文协议服务器

提供开发和科研实用工具的模型上下文协议服务器,包括Git分析、文献搜索、Markdown/PDF转换和邮件起草功能。

  • by cybersiddhu
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 cybersiddhu/dcr-mcp

使用说明

DCR MCP服务器

一个模型上下文协议(MCP)服务器,提供开发和研究工具:git分析、文献搜索、markdown/PDF转换和电子邮件起草。

目录

快速开始

  1. 安装

    go install github.com/dictybase/dcr-mcp/cmd/server@latest
    
  2. 配置 -添加到MCP配置中:

    {
        "mcpServers": {
            "dcr-mcp": {
                "command": "server",
                "env": {
                    "OPENAI_API_KEY": "your-api-key-here"
                }
            }
        }
    }
    
  3. 使用 -服务器提供以下工具:

    • 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存储库URL
  • branch (必填)-分支机构分析
  • 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

贡献

  1. 分叉并创建特征分支
  2. 遵循惯例 CLAUDE.md
  3. 添加新功能的测试
  4. 运行: make fmt && make test && golangci-lint run
  5. 提交拉取请求

调试

服务器使用前缀消息登录到stderr:

  • [git-summary], [literature], [markdown], [pdf-tool], [email-prompt]

在MCP客户端中启用stderr输出以进行调试。