リリースノートサーバー
GitHubリポジトリから美しいリリースノートを生成するMCPサーバー。コミットを効率的に取得し、タイプ別に整理し、読みやすい形式で表示します。
特徴
- 🎯 日付または SHA によるスマートコミットフィルタリング
- 📊 コミットをタイプ(機能、修正など)別にグループ化します
- 🔍 PRデータでコミットを充実させる
- 📈 詳細な統計情報が含まれています
- 🎨 絵文字を使ったクリーンなマークダウン書式
- ⚡ GitHubの
since
パラメータを使った効率的なAPIの使用
インストール
npm install
npm run build
使用法
このサーバーを MCP 構成に追加します。
{
"mcpServers": {
"release-notes": {
"command": "node",
"args": ["/path/to/release-notes-server/build/index.js"],
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}
利用可能なツール
リリースノートを生成する
GitHub リポジトリのリリース ノートを生成します。
パラメータ:
{
"owner": string, // Repository owner
"repo": string, // Repository name
"commitRange": {
"fromCommit"?: string, // Starting commit SHA
"toCommit"?: string // Ending commit SHA
},
"format": {
"type": "markdown", // Output format
"groupBy": "type", // How to group commits
"includeStats": boolean // Include commit statistics
}
}
例:
const result = await use_mcp_tool({
server_name: "release-notes",
tool_name: "generate_release_notes",
arguments: {
owner: "owner",
repo: "repo",
commitRange: {
fromCommit: "abc123" // Get commits from this SHA
},
format: {
type: "markdown",
groupBy: "type",
includeStats: true
}
}
});
出力形式
生成されたリリース ノートには次の内容が含まれます。
- 生成日と統計情報を含むヘッダー
- コミットタイプ別にグループ化されたセクション:
- 🚀 機能
- 🐛 修正点
- 📚 ドキュメント
- ⚡ パフォーマンス
- ♻️ リファクタリング
- 🧪 テスト
- 🏗️ ビルド
- 🔧 その他
- 詳細な統計情報には以下が含まれます:
- 合計コミット数
- 重大な変更
- コミットの種類
- 著者によるコミット
環境変数
GITHUB_TOKEN
: リポジトリアクセスを持つ GitHub 個人アクセストークン
実装の詳細
サーバーは、次の方法で効率的なコミット フェッチを実装します。
- 可能な場合はGitHubの
since
パラメータを使用してAPI呼び出しを減らす - 必要に応じてSHAベースのフィルタリングにフォールバックする
- ページネーションを適切に処理する
- リリースノートの最新順の順序を維持する
- 利用可能な場合はPRデータでコミットを充実させる
ライセンス
マサチューセッツ工科大学