mcpField
D
DCR MCP Server

DCR MCP Server

Local
github.com/cybersiddhuDeveloper Tools0Updated 60w ago

About DCR MCP Server

DCR MCP Server is a Go-based server for development and research tasks, including Git commit analysis, literature lookup, document conversion, PDF generation, and email drafting. Git summaries use OpenAI, while literature lookup accepts PMID or DOI identifiers.

Key features

  1. 01Summarize Git commits with AI
  2. 02Fetch papers by PMID or DOI
  3. 03Convert Markdown to HTML with GFM
  4. 04Generate PDFs from Markdown
  5. 05Draft casual emails

Use cases

  1. 01Review categorized changes in a repository branch
  2. 02Retrieve metadata and abstracts for research papers
  3. 03Convert Markdown documents to HTML or PDF
  4. 04Prepare a casual email draft

MCP support

Exposes development and research utilities as tools for MCP clients, including Git analysis, literature search, conversion, PDF generation, and email drafting.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

DCR MCP Server

A Model Context Protocol (MCP) server providing development and research utilities: git analysis, literature search, markdown/PDF conversion, and email drafting.

Table of Contents

Quick Start

  1. Install

    go install github.com/dictybase/dcr-mcp/cmd/server@latest
    
  2. Configure - Add to your MCP configuration:

    {
        "mcpServers": {
            "dcr-mcp": {
                "command": "server",
                "env": {
                    "OPENAI_API_KEY": "your-api-key-here"
                }
            }
        }
    }
    
  3. Use - The server provides these tools:

    • Git Summary - Analyze commit messages with AI
    • Literature - Fetch research papers by PMID/DOI
    • Markdown - Convert to HTML with GFM support
    • PDF - Generate PDFs from markdown
    • Email - Draft casual emails

Installation Options

MethodCommandBinary NameBest For
Go Installgo install github.com/dictybase/dcr-mcp/cmd/server@latestserverQuick setup
From Sourcegit clone && make builddcr-mcp-serverDevelopment
Manual Buildgo build -o dcr-mcp-server ./cmd/serverdcr-mcp-serverCustom builds

Requirements: Go 1.23.8+, OpenAI API key (for git summaries)

Configuration

MCP Setup

Use the correct command based on your installation method:

{
    "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"
            }
        }
    }
}

The server auto-starts with your MCP client and provides structured logging to stderr for debugging.

Tools Reference

🔍 Git Summary

Analyzes git commits and generates AI-powered summaries categorized by type.

Parameters:

  • repo_url (required) - Git repository URL
  • branch (required) - Branch to analyze
  • start_date (required) - Start date for analysis
  • end_date (optional) - End date (defaults to now)
  • author (required) - Filter by author name
  • api_key (required) - OpenAI API key

Output: Markdown summary with categorized bullet points (features, bugs, docs, etc.)

🔬 Literature Search

Fetches scientific papers using PubMed IDs or DOIs via dictyBase API.

Parameters:

  • id (required) - PMID (e.g., "12345678") or DOI (e.g., "10.1038/nature12373")
  • id_type (required) - "pmid" or "doi"
  • provider (optional) - "pubmed" (default) or "europepmc"

Output: Formatted article metadata with title, authors, abstract, and citation data

📝 Markdown Converter

Converts Markdown to HTML with GitHub Flavored Markdown support.

Parameters:

  • content (required) - Markdown content to convert

Features: GFM, syntax highlighting, emoji, tables, YAML metadata

📄 PDF Generator

Converts Markdown to PDF with professional formatting.

Parameters:

  • content (required) - Markdown content
  • filename (optional) - Output filename (defaults to "output.pdf")

Output: PDF file with IBM Plex fonts and confirmation message

✉️ Email Prompt

Generates casual email drafts with customizable tone.

Parameters:

  • from (required) - Sender's name or email
  • to (required) - Recipient's name or email

Output: Complete email draft with subject line and friendly, professional tone

Development

Build Commands
CommandPurpose
make buildBuild binary to bin/dcr-mcp-server
make testRun all tests
make test-verboseRun tests with detailed output
make fmtFormat code with gofumpt
make cleanRemove build artifacts
Project Structure
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
Contributing
  1. Fork and create feature branch
  2. Follow conventions in CLAUDE.md
  3. Add tests for new functionality
  4. Run: make fmt && make test && golangci-lint run
  5. Submit pull request
Debugging

The server logs to stderr with prefixed messages:

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

Enable stderr output in your MCP client for debugging.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.