MCPInstall
Git Summary logo

Git Summary

by cybersiddhu cybersiddhu/dcr-mcp

Lightweight git commit message summary generator that analyzes repository histories by filtering commits and producing human-readable markdown summaries highlighting key changes and business impact.

READMEmain

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.

More Developer Tools MCP servers

Similar servers from the same category.

Sourcebot

sourcebot-dev

Enables code search across multiple repository hosts including GitHub, GitLab, Gitea, Gerrit, and Bitbucket with advanced filtering options for exploring large codebases through natural language queries.

searchgit

CodeAlive

codealive-ai

Provides a bridge to CodeAlive's platform for semantic code search, repository exploration, and context-aware chat completions that leverage deep understanding of entire codebases including documentation and dependencies.

search

Provides a secure, sandboxed environment for executing Python, Node.js, and shell commands in ephemeral containers with file management capabilities for code testing, visualization, and data analysis.

filesystemdatabase

NovaCV

lightbaby

Integrates with NovaCV API to generate, analyze, and convert resumes in various formats without dealing with complex document formatting

PDFSupport+5