dcr-mcp
dcr-mcpは、Go言語で開発されたプロジェクトで、特定の機能や目的に関する情報が不足しています。READMEの内容からは、具体的な機能やユースケースが明示されておらず、他のプロジェクトと比較して特に優れた点が見受けられません。全体的に、開発者向けのツールとしてのポテンシャルはあるものの、詳細な説明が必要です。
GitHubスター
0
ユーザー評価
未評価
お気に入り
0
閲覧数
15
フォーク
1
イシュー
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@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.