MCP 服务
Rise 智算平台提供平台级 MCP Server(camp-mcp-server),基于 Model Context Protocol 把平台的租户、资源、任务、计费等查询能力封装为标准 MCP 工具,供平台内置 AI 助手 调用,也可以接入 Claude Desktop、Cursor 等第三方 MCP 客户端。
面向读者:平台管理员(部署与接入配置)、高级用户(第三方客户端接入)。
普通用户直接使用 AI 助手即可,无需关心本节内容。
工作原理
用户提问 → AI 助手(大模型)→ 判断需要数据 → 调用 MCP 工具
↓
camp-mcp-server(工具集合)
↓
CAMP BFF 聚合 API(org / nova 接口)
↓
平台真实数据- AI 助手与 MCP Server 之间走 Streamable HTTP 传输,由 AI 助手在运行时动态发现可用工具清单,模型根据用户问题自主选择调用哪个工具。
- MCP Server 本身不实现任何业务逻辑,它是 console-ui BFF 聚合接口(
org/v1/*租户项目类、nova/v1/*算力与计费类)的 MCP 化封装。 - 工具返回结果为结构化 JSON,由大模型转述为自然语言回答,需要时再配合图表工具生成可视化。
工具清单
camp-mcp-server 共暴露 25 个工具,按领域分组如下。
租户与项目
| 工具 | 功能 | 关键参数 |
|---|---|---|
list_tenants | 获取租户(工作空间)列表 | 无 |
get_tenant_detail | 获取租户详情 | 租户名称 |
get_tenant_quota | 获取租户配额与用量概览 | 租户名称 |
get_project_detail | 获取项目详情 | 项目名称 |
get_project_quota | 获取项目配额与用量概览 | 项目名称 |
资源与工作负载
| 工具 | 功能 | 关键参数 |
|---|---|---|
list_instances | 容器实例列表 | 项目名称,可按状态过滤 |
list_training_jobs | 训练任务列表 | 项目名称,可按状态过滤 |
list_inference_services | 推理服务列表 | 项目名称,可按状态过滤 |
list_flavors | 可用算力规格列表 | 架构(amd64/arm64) |
list_images | 可用公共镜像列表 | 架构 |
create_instance | 创建容器实例(唯一的写操作) | 名称、规格、镜像、租户、项目 |
计量计费
| 工具 | 功能 |
|---|---|
list_bill_record_system / _workspace / _namespace | 平台 / 租户 / 项目视角的计费记录查询,支持时间范围与分页 |
get_bill_record_topn_system / _workspace / _namespace | 三级视角的成本 Top N 排行 |
get_bill_record_resource_amount_system / _workspace / _namespace | 三级视角的资源成本分布(CPU/内存/GPU 显存) |
get_bill_record_timeline_amount_workspace / _namespace | 租户 / 项目成本趋势(按天/月) |
get_bill_record_timeline_allocated_workspace / _namespace | 租户 / 项目资源分配趋势 |
计费策略
| 工具 | 功能 |
|---|---|
list_billing_policy | 资源与模型计费策略列表(平台级/租户级) |
除
create_instance外全部为只读查询工具。create_instance目前使用固定默认参数(单副本、创建后自动启动),属于演示型能力,不建议用于生产资源创建。
权限模型
MCP Server 自身不做权限判断,权限完全取决于调用时携带的身份凭证,与直接调平台 API 等价:
| 接入方式 | 身份来源 | 权限语义 |
|---|---|---|
| 经 AI 助手 / 网关调用(HTTP 模式) | 请求头中的 x-token 原样透传给后端 | 等同于该用户本人操作,只能查到自己在平台上的权限范围 |
| 直连进程(stdio 模式) | 环境变量配置的平台账号(CAMP_USERNAME / CAMP_PASSWORD) | 所有调用者共享该服务账号权限,请使用低权限专用账号 |
AI 助手接入(部署侧)
AI 助手通过环境变量 AI_ASSISTANT_MCP_SERVERS 配置 MCP Server 列表(JSON 数组,含 id、url、name、enabled),典型部署形态:
- camp-mcp-server 以容器方式部署在集群内,默认监听 3000 端口(HTTP 模式,同时暴露
/mcp与/sse端点)。 - Higress 网关将
/mcp-servers/...前缀路由到该服务,并保证终端用户的x-token请求头透传。 - AI 助手服务配置上述网关地址后,即可在对话中调用平台数据工具。
若 AI 助手只回答操作指导、从不返回真实数据,通常是 MCP 服务未启用或网关路由未配置,请按上述链路排查。
第三方客户端接入
camp-mcp-server 同时支持 stdio 与 HTTP 两种传输,可接入任意兼容 MCP 的客户端。
Claude Desktop / Cursor(stdio 模式),在客户端 MCP 配置中加入:
{
"mcpServers": {
"camp": {
"command": "node",
"args": ["<camp-mcp-server>/build/index.js"],
"env": {
"CAMP_BASE_URL": "http://<camp-bff 地址>:3000",
"CAMP_USERNAME": "<平台用户名>",
"CAMP_PASSWORD": "<平台密码>"
}
}
}
}远程接入(HTTP 模式):将客户端指向部署地址的 http://<host>:3000/mcp(Streamable HTTP)或 http://<host>:3000/sse(SSE)端点;请求头携带平台登录后的 x-token 即以本人身份调用,否则回落为服务账号身份。
安全提示:stdio 配置中的用户名/密码为明文环境变量,且该模式下所有使用者共享同一账号权限。生产环境建议走网关 +
x-token透传方式,让权限精确到个人。
常见问题
Q:MCP 工具能看到哪些数据? A:与调用账号在平台上的权限完全一致——普通用户只能查自己所属租户/项目的数据,管理员可查平台级数据。
Q:可以通过 MCP 修改或删除资源吗? A:当前仅提供 create_instance 一个写工具(演示型),其余均为只读查询。修改、删除类操作请在控制台页面完成。
Q:AI 助手调的工具和第三方客户端调的工具是一样的吗? A:是同一个 camp-mcp-server 暴露的同一份工具清单,区别只在身份凭证的传递方式。