Terradev MCP Server
使用说明(Markdown 格式)
-
项目简介 Terradev MCP Server 是一个完整的 MCP 服务器实现,围绕资源管理、工具注册与执行、以及 Prompt 渲染等核心能力,提供对 Claude Code 等 LLM 客户端的标准化后端服务。服务器通过 JSON-RPC 与客户端通信,支持多种传输方式(包括本地 STDIO 以及远端 SSE),并提供会话管理、能力声明和安全认证等功能。代码中包含 192 个 MCP 工具的完整实现、工具压缩/并行调度、以及用于 CUCo 等自研优化的工具集成。
-
主要功能点
- MCP 核心实现:完整的 List Tools、Call Tool、Read Resource、List Resources、Prompts 等接口,遵循 MCP 协议格式的请求与响应。
- 资源与工具管理:提供对 Resources、Tools、Prompts 的托管、读取及渲染能力,支持动态扩展。
- 工具注册与执行:内置大量工具集(如 GPU 价格、云端 Provision、K8s 管理、推理部署、数据治理、成本优化等),并通过 MCP 服务器注册与执行。
- 工具压缩与并行调度:通过 terradev_mcp_optimizer 对工具进行命名空间压缩、描述压缩以及并行化执行,提升交互效率与带宽利用。
- 安全与认证:提供 OAuth 2.0 PKCE 认证路径(Claude Connector 支持),SSE 接入与 Bearer Token 验证。
- 多传输协议支持:支持 STDIO(本地 Claude Code)和 SSE(Claude.ai Connector/远端客户端)两种传输模式。
- 监控与自检能力:健康检查、状态、日志、以及对 CUCo、Guardrails、Phoenix、Qdrant 等工具的集成能力。
- Terraform + 云资源管理:大量 Terraform 基础设施操作工具,支持 GPU provisioning、K8s 集群、InferX/HF Spaces 等部署。
- 延展性设计:具备按需加载工具、元工具(terradev_advanced)、以及缓存/LRU 机制,提升大规模工具集的可用性和性能。
-
安装步骤
- 依赖准备
- 安装 Terradev CLI 及相关依赖(参考仓库根部 README 的安装指南)。
- 安装 Python 依赖(通常包含 mcp、aiohttp、starlette、uvicorn 等)。
- 启动 MCP 服务器
- 本地 STDIO 模式(Claude Code 配置本地接入) 参考仓库 README 的自托管本地启动方式,使用 terradev_mcp.py 并设置传输为 stdio(默认)。
- 远端 SSE 模式(Claude.ai Connector 使用) 参考仓库 README 的自托管远端服务器配置,使用 terradev_mcp.py --transport sse --port 8080(或通过 docker-compose 启动)
- 自托管示例(从 README 摘要)
- 设置环境变量(如 Bearer Token、RunPod Key 等):
- TERRADEV_MCP_BEARER_TOKEN(用于 Claude.ai Connector 的授权令牌)
- TERRADEV_RUNPOD_KEY(RunPod 的 API Key,仅若使用 RunPod 提供的资源)
- 安装并启动服务器:
- pip install -r requirements.txt
- python3 terradev_mcp.py --transport sse --port 8080
- 或 使用 docker-compose up -d
- 远程访问端点示例(SSE):
- https://terradev-mcp.terradev.cloud/sse
- Bearer token 持有者在 Claude.ai 设置中提供 Token
- 设置环境变量(如 Bearer Token、RunPod Key 等):
- 依赖准备
- 服务器状态与健康
- GET /health:健康检查(未认证)
- SSE 链接用于 Claude.ai Connector 的流式通信
- 资源、工具、Prompts 的可用性随需要动态扩展
-
服务器配置(MCP 客户端所需的最小配置信息) 备注:以下配置是供 MCP 客户端建立连接所需的最小信息集合,描述了服务器的名称、启动命令以及参数。客户端无需也不需要服务器端的完整实现细节。
{ "server_name": "terradev-mcp", "command": "python3 terradev_mcp.py", "args": [ "--transport", "sse", "--host", "0.0.0.0", "--port", "8080" ] }
注释说明
- server_name: MCP 服务器的名称标识,便于在客户端的多服务器场景中区分;
- command: 启动 MCP 服务器的命令,在此处为 terradev_mcp.py,实际部署环境可替换为容器内对应入口;
- args: 启动参数,建议使用 --transport,通过 SSE 与 Claude.ai 连接;若在本地 Claude Code 集成,请改用 --transport stdio 的配置组合。
-
基本使用方法
- 客户端连接
- 本地 Claude Code:将服务器作为 STDIO 服务连接(按 MCP 客户端要求的 JSON-RPC 进行读写)。
- 远端 Claude.ai Connector:通过 SSE 连接到 /sse 路径,使用 Bearer Token 进行认证。
- 常用操作
- 列出可用工具(List Tools):查询 Terradev MCP 所提供的 192 个工具,确保客户端缓存与压缩策略可用。
- 调用工具(Call Tool):通过工具名与参数触发具体功能,如 GPU 价格查询、Provision、训练、路由等。
- 读取资源(Read Resource):获取资源信息、状态、指标等(如 active_context、instances、jobs、spend、alerts)。
- 获取 prompts:若有 Prompt 的定义,客户端可请求并渲染。
- 认证与安全
- Claude Connector 通过 OAuth2 PKCE 流程进行授权,MCP 服务器提供相应的授权端点。
- Bearer Token 验证仅对受保护的端点生效,健康接口为公开。
- 失败排查要点
- 确认 terradev-cli 已正确安装并在 PATH 中;
- 确认 TERRADEV_MCP_BEARER_TOKEN、TERRADEV_RUNPOD_KEY 等环境变量已按需设置;
- 若遇到网络/认证错误,请参考服务器日志中给出的建议修正 CLI 命令、认证信息或代理设置。
- 客户端连接
-
关键词 GPU provisioning, Terraform, multi-cloud, cloud orchestration, 模型推理
-
分类ID 6