DCR MCP Server について
DCR MCP Serverは、Gitコミット分析、文献検索、文書変換、PDF生成、メール作成を行うGo製サーバーです。Git要約にはOpenAIを使い、PMIDまたはDOIで論文を検索できます。
主な機能
- 01AIによるGitコミット要約
- 02PMIDまたはDOIで論文を取得
- 03GFM対応のMarkdownからHTMLへの変換
- 04MarkdownからPDFを生成
- 05カジュアルなメールの下書き
活用シーン
- 01リポジトリのブランチ変更を分類して確認
- 02研究論文のメタデータと抄録を取得
- 03Markdown文書をHTMLまたはPDFに変換
- 04カジュアルなメールの下書きを作成
MCP 対応
Git分析、文献検索、変換、PDF生成、メール作成などの開発・研究ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DCR MCP Server
開発および研究に役立つユーティリティを提供する Model Context Protocol(MCP)サーバーです。Git の分析、文献検索、Markdown/PDF 変換、メールの下書き作成に対応しています。
目次
クイックスタート
-
インストール
go install github.com/dictybase/dcr-mcp/cmd/server@latest -
設定 - MCP 設定に追加します。
{ "mcpServers": { "dcr-mcp": { "command": "server", "env": { "OPENAI_API_KEY": "your-api-key-here" } } } } -
使用 - サーバーは次のツールを提供します。
- Git Summary - AI でコミットメッセージを分析します
- Literature - PMID/DOI を指定して研究論文を取得します
- Markdown - GFM に対応した HTML に変換します
- PDF - Markdown から PDF を生成します
- Email - カジュアルなメールの下書きを作成します
インストール方法
| 方法 | コマンド | バイナリ名 | 最適な用途 |
|---|---|---|---|
| Go Install | go install github.com/dictybase/dcr-mcp/cmd/server@latest | server | すばやくセットアップする場合 |
| ソースから | git clone && make build | dcr-mcp-server | 開発 |
| 手動ビルド | go build -o dcr-mcp-server ./cmd/server | dcr-mcp-server | カスタムビルド |
要件: Go 1.23.8 以降、OpenAI API キー(Git の要約に必要)
設定
MCP のセットアップ
インストール方法に応じて、適切なコマンドを使用してください。
{
"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"
}
}
}
}
サーバーは MCP クライアントとともに自動起動し、デバッグ用の構造化ログを stderr に出力します。
ツールリファレンス
🔍 Git Summary
Git のコミットを分析し、種類別に分類した AI による要約を生成します。
パラメーター:
repo_url(必須) - Git リポジトリの URLbranch(必須) - 分析するブランチstart_date(必須) - 分析の開始日end_date(任意) - 終了日(デフォルトは現在)author(必須) - 作成者名による絞り込みapi_key(必須) - OpenAI API キー
出力: 種類別の箇条書き(機能、バグ、ドキュメントなど)を含む Markdown の要約
🔬 Literature Search
dictyBase API を介して、PubMed ID または DOI を使って科学論文を取得します。
パラメーター:
id(必須) - PMID(例:「12345678」)または DOI(例:「10.1038/nature12373」)id_type(必須) - 「pmid」または「doi」provider(任意) - 「pubmed」(デフォルト)または「europepmc」
出力: タイトル、著者、要旨、引用データを含む、書式設定済みの記事メタデータ
📝 Markdown Converter
GitHub Flavored Markdown に対応した HTML に Markdown を変換します。
パラメーター:
content(必須) - 変換する Markdown コンテンツ
機能: GFM、構文ハイライト、絵文字、テーブル、YAML メタデータ
📄 PDF Generator
Markdown をプロフェッショナルな書式の PDF に変換します。
パラメーター:
content(必須) - Markdown コンテンツfilename(任意) - 出力ファイル名(デフォルトは「output.pdf」)
出力: IBM Plex フォントを使用した PDF ファイルと確認メッセージ
✉️ Email Prompt
トーンをカスタマイズして、カジュアルなメールの下書きを生成します。
パラメーター:
from(必須) - 送信者の名前またはメールアドレスto(必須) - 受信者の名前またはメールアドレス
出力: 件名と、親しみやすくプロフェッショナルなトーンの本文を含むメールの下書き
開発
ビルドコマンド
| コマンド | 用途 |
|---|---|
make build | bin/dcr-mcp-server にバイナリをビルドします |
make test | すべてのテストを実行します |
make test-verbose | 詳細な出力でテストを実行します |
make fmt | gofumpt でコードをフォーマットします |
make clean | ビルド成果物を削除します |
プロジェクト構成
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
コントリビューション
- フォークして、機能追加用のブランチを作成します
CLAUDE.mdの規約に従います- 新しい機能のテストを追加します
- 次を実行します:
make fmt && make test && golangci-lint run - プルリクエストを送信します
デバッグ
サーバーは、次のプレフィックス付きメッセージを stderr に出力します。
[git-summary]、[literature]、[markdown]、[pdf-tool]、[email-prompt]
デバッグするには、MCP クライアントで stderr の出力を有効にしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。