dcr-mcp

dcr-mcpは、Go言語で開発されたプロジェクトで、特定の機能や目的に関する情報が不足しています。READMEの内容からは、具体的な機能やユースケースが明示されておらず、他のプロジェクトと比較して特に優れた点が見受けられません。全体的に、開発者向けのツールとしてのポテンシャルはあるものの、詳細な説明が必要です。

GitHubスター

0

ユーザー評価

未評価

お気に入り

0

閲覧数

15

フォーク

1

イシュー

0

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
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 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
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
  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.