Unleash MCP Server について
Unleash MCP Serverは、LLMアプリケーションをUnleashのフィーチャーフラグシステムに接続します。MCPクライアントからフラグやプロジェクトを確認し、フラグを作成・更新できます。
主な機能
- 01フィーチャーフラグの状態確認
- 02フラグ情報の提供
- 03フィーチャーフラグの作成
- 04フィーチャーフラグの更新
- 05プロジェクト一覧の取得
活用シーン
- 01LLMアプリケーションからフラグを確認
- 02LLMにフラグの詳細を提示
- 03フラグの作成や更新
- 04Unleashのプロジェクトを確認
MCP 対応
MCPクライアントとUnleash APIをつなぐMCPサーバーです。フラグの状態確認や情報取得、作成・更新、プロジェクト一覧の取得を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Unleash MCP サーバー
Unleash Feature Toggle システムと連携する Model Context Protocol(MCP)サーバーの実装です。
概要
このプロジェクトは、Model Context Protocol(MCP)を使用して、LLM アプリケーションと Unleash のフィーチャーフラグシステムをつなぐブリッジを提供します。AI アプリケーションで次のことが可能になります。
- Unleash のフィーチャーフラグのステータスを確認する
- LLM にフィーチャーフラグの情報を公開する
- フィーチャーフラグを作成する
- フィーチャーフラグを更新する
- すべてのプロジェクトを一覧表示する
目次
要件
- Node.js(v18 以降)
- TypeScript(v5.0 以降)
- Unleash サーバーインスタンスへのアクセス
インストール
# Install dependencies
npm i
アーキテクチャ
Unleash MCP サーバーは、LLM アプリケーションと Unleash のフィーチャーフラグシステムをつなぐブリッジとして機能します。
+----------------+ +-------------------+ +----------------+
| | | | | |
| LLM App | <--> | Unleash MCP | <--> | Unleash API |
| (MCP Client) | | Server | | Server |
| | | | | |
+----------------+ +-------------------+ +----------------+
開発
プロジェクト構成
unleash-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── server.ts # Server implementation
│ ├── config.ts # Configuration handling
│ ├── transport/ # MCP transport implementations
│ │ ├── http.ts # HTTP/SSE transport
│ │ └── stdio.ts # STDIO transport
│ ├── unleash/ # Unleash API client implementations
│ │ ├── unleash-client.ts # Main Unleash client
│ │ ├── get-feature-flag.ts
│ │ └── get-all-projects.ts
│ ├── resources/ # MCP resource implementations
│ │ ├── flags.ts # Feature flag resources
│ │ └── projects.ts # Project resources
│ ├── tools/ # MCP tool implementations
│ │ ├── get-flag.ts # Get feature flag tool
│ │ └── get-projects.ts # Get projects tool
│ └── prompts/ # MCP prompt implementations
│ ├── flag-check.ts # Check single flag
│ └── batch-flag-check.ts # Check multiple flags
├── tests/ # Tests
└── package.json # Project configuration
コーディング規約
-
命名規則:
- ファイル:kebab-case.ts を使用します(例:
feature-flag.ts) - クラス:PascalCase を使用します(例:
UnleashClient) - 関数/メソッド:camelCase を使用します(例:
getFlagStatus) - インターフェース/型:PascalCase を使用します(例:
FeatureFlagConfig)
- ファイル:kebab-case.ts を使用します(例:
-
インポート:
- ローカルファイルをインポートする際は、必ず .js 拡張子を付けます
- インポートの順序は、Node.js の組み込みモジュール → 外部依存関係 → ローカルインポートに従います
- デフォルトエクスポートより名前付きエクスポートを使用します
-
ドキュメント:
- 公開関数、クラス、インターフェースには JSDoc コメントを使用します
- 複雑なロジックにはインラインコメントで説明を記述します
ビルド
# Compile TypeScript
npm run build
# Run the server
npm start
テスト
# Run tests
npm test
検証
# MCP stdio inspect
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
# MCP sse inspect
npm start
npx @modelcontextprotocol/inspector
使用方法
Claude または Cursor の設定:
{
"mcpServers": {
"unleash": {
"command": "npx",
"args": [
"-y",
"unleash-mcp"
],
"env": {
"UNLEASH_URL": "YOUR_UNLEASH_END_POINT",
"UNLEASH_API_TOKEN": "YOUR_UNLEASH_API_TOKEN",
"MCP_TRANSPORT": "stdio",
"MCP_HTTP_PORT": 3001
}
}
}
}
コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
プロジェクトを応援する
このプロジェクトがお役に立ちましたら、コーヒーをごちそうしていただけるとうれしいです!
上の QR コードをスキャンするか、こちらをクリックして、このプロジェクトの開発をご支援ください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。