Dcr MCP
DCR MCP Server - An MCP server implementation using mcp-go
Installation
npx dcr-mcpAsk AI about Dcr MCP
Powered by Claude Β· Grounded in docs
I know everything about Dcr MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
-
Install
go install github.com/dictybase/dcr-mcp/cmd/server@latest -
Configure - Add to your MCP configuration:
{ "mcpServers": { "dcr-mcp": { "command": "server", "env": { "OPENAI_API_KEY": "your-api-key-here" } } } } -
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
| Method | Command | Binary Name | Best For |
|---|---|---|---|
| Go Install | go install github.com/dictybase/dcr-mcp/cmd/server@latest | server | Quick setup |
| From Source | git clone && make build | dcr-mcp-server | Development |
| Manual Build | go build -o dcr-mcp-server ./cmd/server | dcr-mcp-server | Custom 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 URLbranch(required) - Branch to analyzestart_date(required) - Start date for analysisend_date(optional) - End date (defaults to now)author(required) - Filter by author nameapi_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 contentfilename(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 emailto(required) - Recipient's name or email
Output: Complete email draft with subject line and friendly, professional tone
Development
Build Commands
| Command | Purpose |
|---|---|
make build | Build binary to bin/dcr-mcp-server |
make test | Run all tests |
make test-verbose | Run tests with detailed output |
make fmt | Format code with gofumpt |
make clean | Remove 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
- Fork and create feature branch
- Follow conventions in
CLAUDE.md - Add tests for new functionality
- Run:
make fmt && make test && golangci-lint run - 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.
