Provides tools to analyze repository activity for calculating Four Keys (DORA) metrics, including deployment frequency, lead time for changes, change failure rate, and mean time to recovery (MTTR) by accessing releases, pull requests, and issues.
Integrates with GitHub Actions to detect deployment events and workflow failures for use in software delivery performance analysis and metric calculation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NestJS MCP Servercalculate 15 plus 7"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NestJS MCP Server
NestJSを使用したModel Context Protocol (MCP)サーバーの実装サンプルです。 DDD/クリーンアーキテクチャを適用しやすい構造で、今後のMCP開発のベースとして利用できます。
🎯 特徴
NestJS: エンタープライズグレードのフレームワーク
デコレーターベース:
@Toolデコレーターで簡潔にツールを定義レイヤー分離: サービス層とツール層を分離(DDD適用可能)
依存性注入: テスタブルで保守性の高い設計
Streamable HTTP: 最新のMCP仕様に対応
Zod: 型安全なパラメータバリデーション
🌿 ブランチ構成
このリポジトリは、学習段階に応じて2つのブランチを提供しています:
basic-example ブランチ(初心者向け)
基本的なMCP実装のサンプルです。以下のシンプルな機能を提供します:
get_current_time - 現在の日時を取得
calculate - 四則演算(加算、減算、乗算、除算)
save_note / get_note / list_notes - メモの保存・取得・一覧表示
推奨する利用シーン:
MCPの基本的な仕組みを学びたい
NestJSとMCPの連携方法を理解したい
シンプルな実装例から始めたい
main ブランチ(実践向け)
実用的なFour Keys (DORA Metrics) 実装を含む、より本格的なサンプルです。
追加機能:
GitHub APIを使用したデプロイメント分析
Four Keys メトリクス計算(デプロイ頻度、リードタイム、変更失敗率、MTTR)
包括的なテストカバレッジ(95%以上)
モック戦略を含むテスト実装例
推奨する利用シーン:
実際のプロダクション環境での使用を検討している
GitHub統合などの外部API連携方法を学びたい
テスト戦略やカバレッジ改善の参考にしたい
📦 提供する機能
basic-exampleブランチ
get_current_time - 現在の日時を取得
calculate - 四則演算(加算、減算、乗算、除算)
save_note - メモの保存
get_note - メモの取得
list_notes - 保存されたメモの一覧表示
mainブランチ(basic-exampleの機能 + 以下)
Four Keys (DORA Metrics) ツール
get_deployment_frequency - デプロイ頻度の計算
GitHub Releases、Git タグ、GitHub Actions ワークフローから検出
DORA パフォーマンスレベル評価(Elite/High/Medium/Low)
get_lead_time - リードタイム(変更のリードタイム)の計算
PR作成からマージまでの時間を集計
平均、中央値、95パーセンタイルを算出
get_change_failure_rate - 変更失敗率の計算
ホットフィックスPR、インシデントIssue、ワークフロー失敗から検出
デプロイ成功率の分析
get_mttr - MTTR(平均復旧時間)の計算
インシデントの検出から解決までの時間を集計
Issue/PRベースのインシデント追跡
get_four_keys_summary - Four Keys メトリクスの総合サマリー
4つのメトリクスを一度に取得
総合パフォーマンスレベルの評価
🚀 セットアップ
1. 依存関係のインストール
2. ビルド
3. サーバーの起動
サーバーが起動すると、以下のように表示されます:
4. テスト実行
5. mainブランチ用の追加セットアップ
Four Keys機能を使用する場合、GitHub App認証の設定が必要です。
📖 詳細な設定手順は
クイックセットアップ
.env.exampleを.envにコピーGitHub Appを作成(詳細手順)
以下の環境変数を設定:
必要なGitHub App権限:
Repository permissions:
Actions: Read
Contents: Read
Issues: Read
Pull requests: Read
Metadata: Read
🏗️ プロジェクト構造
basic-exampleブランチ
mainブランチ(追加構造)
📝 実装例
ツール定義(デコレーターベース)
サービス層(ビジネスロジック)
モジュール設定
🔧 開発
開発モード(ホットリロード)
ビルドのみ
🎓 学習ポイント
basic-exampleブランチ
1. レイヤー分離
ツール層: MCPプロトコルとのインターフェース(
@Toolデコレーター)サービス層: ビジネスロジック(
@Injectable())ドメイン層: エンティティ、リポジトリ(将来の拡張)
2. 依存性注入
コンストラクタインジェクションで疎結合を実現し、テストが容易。
3. 型安全なパラメータ
Zodによる実行時バリデーションとTypeScript型推論。
4. MCPモジュール設定
mainブランチ(追加の学習ポイント)
5. 外部API統合(GitHub API)
6. 包括的なテスト戦略(カバレッジ95%以上)
7. GitHub App認証
8. CI/CD統合
GitHub Actionsでの自動テスト実行
カバレッジレポートのPRコメント投稿
ビルドとテストの自動化
🌟 今後の拡張例
データベース統合
外部API統合
認証・認可
📚 参考リンク
📄 ライセンス
MIT