关于 Unleash MCP Server
Unleash MCP Server 将 LLM 应用连接到 Unleash 功能开关系统,供 MCP 客户端查询和管理开关,并列出项目。
主要功能
- 01查询功能开关状态
- 02向 LLM 提供开关信息
- 03创建功能开关
- 04更新功能开关
- 05列出项目
适用场景
- 01从 LLM 应用检查开关
- 02向 LLM 提供开关详情
- 03创建或更新开关
- 04查看 Unleash 项目
MCP 相关
这是连接 MCP 客户端与 Unleash API 的 MCP 服务,可查询开关状态、提供开关信息、创建和更新开关,并列出项目。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Unleash MCP 服务
一个与 Unleash Feature Toggle 系统集成的模型上下文协议(MCP)服务实现。
概述
本项目使用模型上下文协议(MCP),为大模型应用与 Unleash 功能标志系统搭建桥梁。它使 AI 应用能够:
- 检查 Unleash 中功能标志的状态
- 向大模型公开功能标志信息
- 创建功能标志
- 更新功能标志
- 列出所有项目
目录
要求
- Node.js(v18 或更高版本)
- TypeScript(v5.0 或更高版本)
- 访问 Unleash 服务实例的权限
安装
# Install dependencies
npm i
架构
Unleash MCP 服务在大模型应用与 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
}
}
}
}
贡献
欢迎贡献!请随时提交 Pull Request。
支持本项目
如果您觉得本项目有帮助,不妨请我喝杯咖啡!
扫描上方二维码,或点击此处支持本项目的开发。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。