MCPサーバーの解放
Unleash Feature Toggle システムと統合する Model Context Protocol (MCP) サーバー実装。
概要
このプロジェクトは、モデルコンテキストプロトコル(MCP)を用いて、LLMアプリケーションとUnleash機能フラグシステム間の橋渡しを行います。これにより、AIアプリケーションは以下のことが可能になります。
Unleashから機能フラグのステータスを確認する
機能フラグ情報をLLMに公開する
機能フラグを作成する
機能フラグの更新
すべてのプロジェクトを一覧表示する
Related MCP server: Memory Cache Server
目次
要件
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 )
関数/メソッド: キャメルケースを使用する (例: getFlagStatus )
インターフェース/型: PascalCase を使用する (例: FeatureFlagConfig )
輸入品:
ローカルファイルをインポートするときは常に .js 拡張子を含める
インポートの順序に従う: Node.js 組み込み → 外部依存関係 → ローカルインポート
デフォルトのエクスポートではなく名前付きエクスポートを使用する
ドキュメント:
建物
# Compile TypeScript
npm run build
# Run the server
npm start
テスト
検査
# 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 ファイルを参照してください。