dcr-mcp
dcr-mcp is a project developed in Go, but it lacks sufficient information regarding its specific features or purposes in the README. The content does not clearly outline any particular functionalities or use cases, making it difficult to assess its advantages compared to other projects. Overall, while it has potential as a developer tool, a more detailed description is necessary.
GitHub Stars
0
User Rating
Not Rated
Favorites
0
Views
24
Forks
1
Issues
0
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@latestConfigure - 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.