关于 Gcore Cloud Mcp Server
通过 LLM 客户端调用 Gcore Cloud API 的 MCP 服务。操作者可选择预定义工具集或按模式匹配 API 工具,以限制开放的能力范围。
主要功能
- 01管理实例和云资源
- 02按工具集或通配符选择工具
- 03使用 GPU 与裸金属操作
- 04配置 API 凭据和项目设置
- 05验证 HTTP Host 与 Origin 标头
适用场景
- 01管理虚拟机操作
- 02为客户端筛选所需云工具
- 03操作 GPU 集群资源
MCP 相关
向 MCP 客户端提供所选 Gcore API 能力作为工具。通过 GCORE_TOOLS 配置工具范围,并支持 stdio 和经过防护的 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Gcore MCP 服务
用于 Gcore API 的 MCP(Model Context Protocol)服务。此服务提供工具,供 LLM 助手通过 Gcore Cloud API 进行交互。
使用方法
注意: 由于可用资源有多种,一次性向大多数 LLM 客户端提供所有资源可能会使模型不堪重负,并导致工具之间出现混淆。对于大多数客户端,建议仅指定任务所需的资源,以确保性能和清晰度达到最佳。某些客户端(如 Claude Code)的处理方式有所不同,请参阅下文。
与 Cursor IDE 集成
将服务添加到 Cursor IDE 配置文件(~/.cursor/mcp.json)中:
{
"mcpServers": {
"gcore-mcp-server": {
"command": "uvx",
"args": ["--from", "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git", "gcore-mcp-server"],
"env": {
"GCORE_API_KEY": "4***1",
"GCORE_TOOLS": "instances,management,cloud.gpu_baremetal.clusters.*"
}
}
}
}
与 Claude Code 集成
将服务添加到 Claude Code 配置文件(~/.claude.json)中:
{
"mcpServers": {
"gcore-mcp-server": {
"command": "uvx",
"args": ["--from", "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git", "gcore-mcp-server"],
"env": {
"GCORE_API_KEY": "4***1",
"GCORE_TOOLS": "*"
}
}
}
}
设置 GCORE_TOOLS=* 会加载所有可用工具。由于 Claude Code 具有 Tool Search 功能,这种方式效果良好。与其他客户端不同,Claude Code 会延迟加载工具架构,仅在工具与查询匹配时按需获取。这意味着注册大量工具不会占用过多上下文窗口。
当工具占用的上下文窗口超过 10% 时,Claude Code 会显示警告。借助延迟加载,即使启用所有工具,也不会出现这个问题。
uvx 命令会在临时环境中运行服务,无需永久安装。详情请参阅在临时环境中运行(一次性执行)。
注意: 获取 Gcore API Key 的说明请参阅此处。
可选变量:
GCORE_BASE_URL:"https://api.gcore.com",GCORE_CLOUD_PROJECT_ID:"1",GCORE_CLOUD_REGION_ID:"76",GCORE_CLIENT_ID:"2",GCORE_ALLOWED_HOSTS:""(仅限 HTTP 传输;始终允许环回名称)GCORE_ALLOWED_ORIGINS:""(仅限 HTTP 传输)
HTTP 传输安全
HTTP 传输(GCORE_TRANSPORT=http)会按 MCP Streamable HTTP 规范要求,验证每个请求的 Host 和 Origin 标头。这可以防止用户访问的网页通过 DNS 重绑定访问绑定到环回地址的监听器。
GCORE_ALLOWED_HOSTS是一个逗号分隔的额外主机名列表,按 glob 模式匹配。双方的端口都会被忽略,因此只填写主机名(mcp.internal,而不是mcp.internal:8000)。内置名称127.0.0.1、localhost和::1,以及监听器绑定的具体地址,始终会被接受。任何其他Host都会被拒绝,并返回421 Misdirected Request。GCORE_ALLOWED_ORIGINS是一个逗号分隔的额外浏览器来源列表,同样按 glob 模式匹配。除此之外,FastMCP 始终接受与请求自身来源相同的Origin,以及当Host是环回地址时的任何环回来源——因此,运行在你机器上的其他 Web 应用会被信任,而攻击者域名上的 DNS 重绑定页面不会。任何其他Origin都会被拒绝,并返回403。没有Origin标头的请求(非浏览器 MCP 客户端的典型情况)不受影响。FastMCP 的已知限制:无法将 IPv6 字面量来源(如http://[::1]:3000)加入允许列表,因为方括号会被识别为 glob 语法。
验证由 FastMCP 的严格模式主机/来源防护执行;无论绑定地址是什么,本服务都会为 HTTP 传输启用该模式。只有 gcore-mcp-server 入口点会应用此策略;通过其他运行器加载模块的 mcp 对象(例如 fastmcp run …:mcp)则不会应用。
不支持旧版 SSE 传输,且 GCORE_TRANSPORT=sse 会拒绝启动:FastMCP 不会对其 SSE 应用执行此验证,因此 SSE 监听器运行时不会受到保护。
HTTP 传输不会对客户端进行身份验证:任何能够访问监听器的人,都可以使用服务的 GCORE_API_KEY 调用所有已启用的工具。请将其绑定到环回地址,不要将其暴露给不可信网络。
配置
工具选择
本服务通过环境变量 GCORE_TOOLS 使用统一配置方式。此单个变量可以混合指定预定义工具集名称和自定义模式:
# Mixed toolsets and patterns
export GCORE_TOOLS="instances,management,cloud.gpu_baremetal.clusters.*,dns.records.create"
# Only toolsets
export GCORE_TOOLS="instances,management"
# Only patterns
export GCORE_TOOLS="cloud.*,waap.*"
# Default behavior (if not set)
# Uses "management,instances" toolsets for HTTP mode, "management" for stdio
配置模式
-
默认模式(未配置)
- HTTP 传输:使用
management,instances工具集 - stdio 传输:使用
management工具集
- HTTP 传输:使用
-
工具集模式(预定义工具集合)
- 使用预定义的工具集名称:
instances、management、ai_ml等 - 示例:
GCORE_TOOLS="instances,management"
- 使用预定义的工具集名称:
-
模式匹配模式(自定义工具筛选)
- 使用通配符模式匹配 Gcore SDK 中的工具名称
- 精确匹配:
cloud.instances.create、dns.records.delete - 通配符匹配:
cloud.*、waap.*、cloud.gpu_baremetal.clusters.* - 示例:
GCORE_TOOLS="cloud.instances.*,waap.*"
-
组合模式(工具集 + 模式)
- 混合使用预定义工具集和自定义模式
- 工具集定义的优先级高于模式匹配
- 示例:
GCORE_TOOLS="instances,cloud.gpu_baremetal.clusters.*"
可用工具集
系统包含若干适用于常见工作流的预定义工具集:
management:核心账户和项目管理instances:虚拟机操作baremetal:裸金属服务器操作gpu_baremetal:GPU 裸金属集群管理gpu_virtual:GPU 虚拟集群管理networking:网络、Floating IP、负载均衡器security:安全组、SSH 密钥、机密信息storage:卷、文件共享ai:AI 集群ai_ml:AI/ML 推理服务billing:费用报告和账单信息containers:容器注册表cdn:CDN 资源、源站组、证书和缓存管理cleanup:删除和清理操作list:列表/只读操作
模式语法
模式支持使用 * 进行通配符匹配:
- 精确匹配:
cloud.instances.create仅匹配该特定方法 - 通配符匹配:
cloud.instances.*匹配所有实例方法 - 宽泛通配符:
cloud.*匹配所有云服务方法 - 特定服务:
waap.*匹配所有 WAAP 方法
优先级系统
使用组合模式时:
- 工具集工具最先纳入(优先级最高)
- 模式匹配的工具随后添加
- 移除重复项,同时保留顺序
- 工具集定义优先于模式匹配
示例
# Development: Get specific tools for testing
export GCORE_TOOLS="cloud.instances.create,cloud.instances.delete,cloud.volumes.create"
# Full cloud management
export GCORE_TOOLS="management,instances,storage,networking"
# GPU cluster operations with custom additions
export GCORE_TOOLS="gpu_baremetal,cloud.instances.create,waap.*"
# All services with wildcard
export GCORE_TOOLS="cloud.*,waap.*"
# Minimal setup
export GCORE_TOOLS="instances"
在临时环境中运行(一次性执行)
如果你想在不持久安装的情况下运行服务(例如快速测试或仅使用一次),可以使用 uvx。此命令会获取软件包,在临时环境中运行指定脚本,然后丢弃该环境。
要运行主分支中的最新版本:
uvx --from "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git" gcore-mcp-server
要运行特定版本(例如 v0.1.1):
uvx --from "gcore-mcp-server@git+https://github.com/G-Core/[email protected]" gcore-mcp-server
运行命令前,请记得设置所需的环境变量(例如 GCORE_API_KEY、GCORE_TOOLS 等)。
持久安装(安装为工具)
有关 uv 的详细安装说明,请参阅官方 uv 安装指南。
你可以使用 uv 将 gcore-mcp-server 安装为命令行工具。这样一来,无需每次指定源,即可在终端中全局使用该命令。
要安装主分支中的最新版本:
uv tool install "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git"
要安装特定版本(例如 v0.1.0):
uv tool install "gcore-mcp-server@git+https://github.com/G-Core/[email protected]"
安装后,uv 会提供 gcore-mcp-server 命令。如果系统未立即找到该命令,你可能需要运行 uv tool update-shell,或确保 uv 的工具 bin 目录位于 PATH 中。
安装后,你可以像运行其他命令一样运行它:
gcore-mcp-server
开发
本地开发环境设置
# Clone the repository
git clone https://github.com//G-Core/gcore-mcp-server.git
cd gcore-mcp-server
# Install development dependencies
uv venv
source .venv/bin/activate
uv sync --dev
调试和测试
调试和开发时,建议使用 MCP Inspector:
npx @modelcontextprotocol/inspector
MCP Inspector 提供了一个 Web 界面,可供你交互式测试和调试 MCP 服务,让你能够:
- 浏览可用工具及其架构
- 使用不同参数测试工具调用
- 查看客户端与服务端之间的实时通信
- 调试身份验证和连接问题
要将其用于本地开发服务:
- 在本地启动 MCP 服务
- 运行 Inspector 并连接到你的服务
- 使用 Web 界面测试你的工具
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。