README
🚀 mcp-server-cloud-regions
mcp-server-cloud-regions 是一个 模型上下文协议 (MCP) 服务器,它提供了所有主要云服务提供商的全面云区域数据。你可以使用它查询、过滤和比较全球的云基础设施位置。该服务器涵盖了 14 个云服务提供商的 267 个区域,并且数据会自动更新。
🚀 快速开始
使用 Claude Desktop
将以下内容添加到配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cloud-regions": {
"command": "npx",
"args": ["mcp-server-cloud-regions"]
}
}
}
使用 Claude Code (CLI)
claude mcp add cloud-regions -- npx mcp-server-cloud-regions
然后你可以向 Claude 询问以下问题:
- “哪些 AWS 区域有 H100 GPU?”
- “在欧洲找到符合 HIPAA 合规性的区域。”
- “离东京最近且支持 GPU 的云区域是哪个?”
- “比较德国各云服务提供商的覆盖范围。”
✨ 主要特性
规划多云部署时,需要跨云服务提供商回答各种问题,例如:
- “哪些云服务提供商在德国有符合 GDPR 合规性的区域?”
- “离圣保罗的用户最近且支持 GPU 的区域是哪个?”
- “哪个云服务提供商在亚太地区的覆盖范围最广?”
- “我可以在哪些地方使用碳中和基础设施进行部署?”
- “哪些区域支持政府工作负载的 FedRAMP 合规性?”
这个 MCP 服务器提供了一个统一的数据模型,可以立即回答这些问题。
📦 安装指南
npm install mcp-server-cloud-regions
或者直接使用 npx 运行:
npx mcp-server-cloud-regions
💻 使用示例
基础用法
查找美国符合 HIPAA 合规性的区域:
{
"tool": "find_compliant_regions",
"certifications": ["HIPAA"],
"countryCodes": ["US"]
}
高级用法
查找离伦敦最近的 5 个支持 GPU 的区域:
{
"tool": "find_nearby_regions",
"latitude": 51.5074,
"longitude": -0.1278,
"limit": 5,
"hasGpu": true
}
列出具有 3 个或更多可用区的区域:
{
"tool": "list_regions",
"minAvailabilityZones": 3
}
比较超大规模云服务提供商在欧洲的覆盖范围:
{
"tool": "compare_provider_coverage",
"continent": "europe"
}
查找政府区域:
{
"tool": "list_regions",
"regionTypes": ["government", "sovereign"]
}
检查数据的最后更新时间:
{
"tool": "get_data_info"
}
📚 详细文档
支持的云服务提供商
| 层级 | 云服务提供商 | |------|-----------| | 超大规模云服务提供商 | AWS、Azure、GCP、Oracle Cloud (OCI) | | 主要云服务提供商 | DigitalOcean、Linode (Akamai)、Vultr | | 专业云服务提供商 | Crusoe(清洁能源)、CoreWeave(GPU)、Lambda Labs(AI/ML)、Paperspace(GPU/ML) | | 区域云服务提供商 | OVHcloud、Hetzner、Scaleway |
可用工具
发现工具
| 工具 | 描述 |
|------|-------------|
| list_regions | 列出所有区域,并支持按云服务提供商、国家、合规性、GPU、可持续性、区域类型等进行过滤 |
| get_region | 根据区域 ID(例如 aws-us-east-1)获取特定区域的详细信息 |
| list_providers | 列出所有云服务提供商,并显示元数据和层级分类 |
| get_provider_regions | 获取特定云服务提供商的所有区域 |
| search_regions | 在区域名称、城市、国家和云服务提供商名称上进行全文搜索 |
地理空间工具
| 工具 | 描述 |
|------|-------------|
| find_nearby_regions | 查找离指定坐标最近的区域(用于优化延迟) |
| list_countries | 列出所有有云服务覆盖的国家,并显示区域数量 |
| list_cities | 列出所有有数据中心的城市,并显示在这些城市运营的云服务提供商 |
专业查询工具
| 工具 | 描述 |
|------|-------------|
| find_compliant_regions | 按认证(HIPAA、GDPR、FedRAMP、SOC2、PCI-DSS 等)进行过滤 |
| find_sustainable_regions | 查找碳中和的数据中心 |
| find_gpu_regions | 查找有 GPU 可用的区域(A100、H100、TPU 等) |
| compare_provider_coverage | 比较云服务提供商在某个国家或大陆的覆盖范围 |
分析和元数据工具
| 工具 | 描述 |
|------|-------------|
| get_statistics | 汇总统计信息:按云服务提供商、国家、大陆、功能分类的总数 |
| get_data_info | 数据新鲜度:每个云服务提供商的最后更新日期、版本、源 URL |
区域类型
服务器跟踪不同类型的云区域:
| 类型 | 描述 | 示例 |
|------|-------------|----------|
| commercial | 标准公共云区域 | aws-us-east-1、azure-eastus |
| government | 政府限制区域(GovCloud、IL4+) | aws-us-gov-west-1、azure-usgovvirginia |
| sovereign | 具有独立控制平面的数据主权区域 | azure-germanynorth、oci-eu-frankfurt-2 |
| china | 中国区域(独立的运营商/分区) | azure-chinaeast、aws-cn-north-1 |
可以使用 list_regions 工具的 regionTypes 参数按区域类型进行过滤。
数据模型
每个区域包含以下信息:
{
id: "aws-us-east-1",
provider: "aws",
regionCode: "us-east-1",
displayName: "US East (N. Virginia)",
regionType: "commercial",
location: {
country: "United States",
countryCode: "US",
city: "Ashburn",
latitude: 39.0438,
longitude: -77.4874,
continent: "north-america"
},
availabilityZones: 6,
launchedDate: "2006-08-25",
status: "ga",
compliance: ["SOC1", "SOC2", "HIPAA", "FedRAMP-Moderate", "PCI-DSS"],
sustainability: {
renewableEnergyPercent: 100,
carbonNeutral: true
},
services: {
compute: true,
kubernetes: true,
gpu: true,
gpuTypes: ["NVIDIA A10G", "NVIDIA A100", "NVIDIA H100"]
},
sovereignty: {
dataResidency: "US",
dataResidencyGuarantee: true
}
}
数据更新
服务器在启动时会自动从 GitHub 获取最新的区域数据,如果离线则会使用捆绑数据作为备用。数据会根据官方云服务提供商文档进行验证:
每周会有一个 GitHub Action 检查云服务提供商页面是否有更改,并在需要更新时创建问题。
使用场景
- 多云战略 — 确定在目标市场有业务的云服务提供商
- 合规性规划 — 查找符合监管要求(HIPAA、GDPR、FedRAMP)的区域
- 延迟优化 — 找到离用户最近的区域
- 可持续发展目标 — 在碳中和基础设施上进行部署
- GPU/AI 工作负载 — 查找有特定加速器可用的区域
- 灾难恢复 — 规划地理分布的部署
- 政府工作负载 — 查找 GovCloud 和主权区域
🔧 技术细节
贡献代码
欢迎贡献代码!要添加或更新云服务提供商数据,请按以下步骤操作:
- 编辑云服务提供商元数据:
src/data/providers.ts - 编辑区域数据:
src/data/regions-*.ts - 更新元数据日期:
src/data/metadata.ts - 运行
npm run build && npm run export-data - 提交拉取请求
脚本
| 命令 | 描述 |
|---------|-------------|
| npm run build | 编译 TypeScript 代码 |
| npm run export-data | 将区域数据导出到 data/regions.json |
| npm run check-updates | 检查云服务提供商页面是否有更改 |
📄 许可证
本项目采用 MIT 许可证。
⚠️ 重要提示
本数据仅用于信息参考。云服务提供商经常添加、修改或弃用区域和服务。用户在做出部署决策之前,有责任直接向每个云服务提供商验证区域可用性、合规性认证和服务提供情况。
虽然我们努力保持数据的准确性和及时性,但我们不保证数据的完整性或正确性。在进行生产规划时,请始终参考官方云服务提供商文档。
Scan to join WeChat group