Cloud Foundry MCP服务器
一个全面的模型上下文协议(MCP)服务器,通过38个专用工具提供人工智能对Cloud Foundry运营的访问。内置于 春季AI 1.1.0 GA 并部署在Cloud Foundry上。
Cloud Foundry MCP Server - AI-powered Cloud Foundry operations via Model Context Protocol
🚀 快速开始
部署服务器
- 构建和部署 MCP服务器连接到Cloud Foundry基金会
- 配置 清单中的Cloud Foundry凭据
- 获取已部署的URL 从
cf apps命令
MCP客户端配置
部署后,使用服务器URL配置MCP客户端:
{
"mcpServers": {
"tanzu-mcp": {
"disabled": false,
"timeout": 300,
"type": "streamable",
"url": "https://tanzu-mcp-server.apps.your-cf-domain.com/mcp",
"autoApprove": []
}
}
}替换 your-mcp-server.apps.your-cf-domain.com 使用您实际部署的服务器URL。
🛠 构建和部署
构建服务器
./mvnw clean package -DskipTests部署到Cloud Foundry
# Copy the template and configure with your credentials
cp manifest-template.yml manifest.yml
# Edit manifest.yml with your CF credentials
cf push tanzu-mcp-server
# Get the deployed URL
cf apps
# Look for your app and copy the URL (e.g., https://tanzu-mcp-server.apps.your-domain.com)地方发展
# Run with local profile
./mvnw spring-boot:run -Dspring-boot.run.profiles=local⚙️ 配置
环境变量
CF_APIHOST=api.your-cf-domain.com
CF_USERNAME=your-username
CF_PASSWORD=your-password
CF_ORG=your-organization
CF_SPACE=your-space配置验证
服务器包括启动时的自动配置验证:
- 必需:必须配置API主机、用户名和密码
- 可选的:组织和空间(未设置警告)
- 启动检查:验证CF连接和凭据
- 错误处理:如果配置无效,则快速失败,并显示清晰的错误消息
应用程序属性
spring.ai.mcp.server.name=tanzu-mcp
spring.ai.mcp.server.version=0.1.0
spring.ai.mcp.server.prompt-change-notification=false
spring.ai.mcp.server.resource-change-notification=false
spring.ai.mcp.server.protocol=streamable
management.endpoints.web.exposure.include=health,info,mappings
management.endpoint.health.show-details=always
logging.level.io.modelcontextprotocol=DEBUG
logging.level.org.springframework.ai.mcp=DEBUG
# Cloud Foundry Connection Settings
cf.connection.poolSize=20
cf.connection.keepAlive=true
cf.connection.timeout=30
cf.connection.readTimeout=60
# Cloud Foundry Retry Settings
cf.retry.maxAttempts=3
cf.retry.delay=2
# Cloud Foundry Token Refresh Settings (Note: PasswordGrantTokenProvider handles refresh automatically)
# cf.token.refreshThreshold=5🛠 能力
此MCP服务器公开 38个Cloud Foundry运营 作为人工智能驱动的工具:
应用程序管理(8个工具)
- 应用程序列表 -列出CF空间中的应用程序
- 应用程序详细信息 -获取详细的应用程序信息
- push应用程序 -将JAR文件部署到CF
- scale应用程序 -扩展应用程序实例、内存、磁盘
- 启动应用程序 -启动CF应用程序
- stop应用程序 -停止运行应用程序
- restart应用程序 -重新启动应用程序
- 删除应用程序 -删除应用程序
组织与空间管理(8个工具)
- 组织列表 -列出所有组织
- 组织详细信息 -获取组织详细信息
- 太空列表 -列出组织中的空间
- 获取空间配额 -获取空间配额详细信息
- createSpace -创建新空间
- deleteSpace -删除空格
- 重命名空间 -重命名空间
- deleteOrphanedRoutes -清理孤儿路线
服务管理(7个工具)
- 服务实例列表 -列出服务实例
- serviceInstance详细信息 -获取服务实例详细信息
- 服务产品列表 -列出市场服务
- createServiceInstance -创建新的服务实例
- bindService实例 -将服务绑定到应用程序
- unbindServiceInstance -从应用程序中解除绑定服务
- deleteServiceInstance -删除服务实例
路线管理(6个工具)
- 路线列表 -列出空间中的路线
- createRoute -创建新路线
- deleteRoute -删除路线
- 地图路线 -将路线映射到应用程序
- 取消映射路由 -从应用程序中取消映射路线
- deleteOrphanedRoutes -清理孤儿路线
网络策略管理(3个工具)
- add网络策略 -在应用程序之间添加网络策略
- list网络策略 -列出网络策略
- remove网络策略 -删除网络策略
应用程序克隆(1个工具)
- Cloneapp -使用构建包一致性克隆现有应用程序
目标管理(3个工具)
- targetCf -为CF操作设置目标组织和空间
- getCurrentTarget -获取当前目标组织和空间
- clearTarget -清除当前目标,恢复配置默认值
配置与验证(1个工具)
- CfConfiguration验证器 -启动时验证Cloud Foundry配置
🔧 技术细节
- 春季AI版本:1.1.0(GA)
- Spring Boot版本: 3.4.2
- Java版本: 21
- 运输:HTTP流式传输
- 健康端点:
/actuator/health - 配置:基于环境变量的CF凭据
- MCP Java SDK:v0.15.0(包含在Spring AI 1.1.0中)
📊 健康状况
服务器提供全面的健康监控:
- 应用程序运行状况:内存、磁盘、CPU使用率
- SSL/TLS状态:证书验证
- Cloud Foundry连接:具有自动重试逻辑的API端点运行状况
- MCP服务器状态:工具登记和运输健康
- 连接池:通过keep-alive优化连接管理
- 许可证管理:自动处理UAA令牌以防止会话过期
- 重试逻辑:暂时性网络故障时自动重试
🚀 当前部署
状态: ✅ 已成功部署并运行
统一资源定位符: https://tanzu-mcp-server.apps.tp.penso.io
组织: tanzu-platform-demo\ 太空: mcp-servers\ 应用: tanzu-mcp-server
最近更新(v0.1.0)
- ✅ 升级到Spring AI 1.1.0 GA -最新稳定版本,具有增强的可观察性,MCP Java SDK v0.15.0,并改进了安全集成
- ✅ 添加目标管理工具 新
targetCf,getCurrentTarget,以及clearTarget运营 - ✅ 配置验证 -添加了CF凭据和设置的启动验证
- ✅ 增强的错误处理 -更好的验证和参数处理
- ✅ 综合测试 -为所有新服务添加了单元测试
- ✅ 修复了关键服务实例创建问题 -添加缺失
createServiceInstance方法 - ✅ 改进了应用程序推送处理 -修复了硬编码参数问题
- ✅ 已验证所有38个工具 -对所有MCP操作进行全面测试
- ✅ 成功部署 -Cloud Foundry上的应用程序运行良好
🔒 安全
- 凭证管理:基于环境变量的配置
- SSL/TLS:用于安全通信的HTTPS端点
- 认证:Cloud Foundry UAA集成
- 授权:CF基于角色的访问控制
🔐 凭证安全
重要:The manifest.yml 该文件包含敏感凭据,并通过从git中排除 .gitignore.
- 模板:使用
manifest-template.yml作为起点 - 本地配置:复制模板并添加您的凭据
- 环境变量:凭据通过CF环境变量传递
- 从不承诺:具有凭据的实际清单文件不应提交给git
📚 文档
- 发布说明: 发布_拒绝.md
- API文档:全面的工具说明
- 配置指南:设置和部署说明
- 故障排除:常见问题和解决方案
🤝 贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 添加测试
- 提交拉取请求
📄 许可证
该项目根据MIT许可证获得许可。
______________________________________________________________________
内置于❤️ 使用Spring AI和Cloud Foundry
