Kubernetes管理服务器

Rackspace Spot MCP Server是一个用于管理Rackspace Spot基础设施的Model Context Protocol服务器,提供Kubernetes集群、节点池和定价管理功能。

  • by pm990320
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 pm990320/rackspace-spot-mcp

使用说明

机架式Spot MCP服务器

一种模型上下文协议(MCP)服务器 机架空间点 -一个基于拍卖定价的托管Kubernetes平台。

特性

此MCP服务器提供用于管理Rackspace Spot基础设施的工具:

  • 区域和服务器类:列出可用区域和机器类型
  • 组织:列出组织及其命名空间
  • 云空间:创建、列出、获取和删除Kubernetes集群
  • 点节点池:使用出价定价管理基于拍卖的工作节点
  • 按需节点池:管理固定价格工人节点
  • Kubeconfig:为kubectl访问生成kubeconfig文件
  • 定价:获取当前市场价格和历史定价数据
  • 只读模式:为了安全起见,可以选择隐藏创建/删除操作

先决条件

  • Node.js 18+
  • Rackspace Spot帐户
  • 来自Rackspace Spot控制台的刷新令牌

安装

使用npx(推荐)

无需安装-直接使用npx运行:

npx rackspace-spot-mcp

全球安装

npm install -g rackspace-spot-mcp
rackspace-spot-mcp

来源

# Clone the repository
git clone https://github.com/pm990320/rackspace-spot-mcp.git
cd rackspace-spot-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Run the server
RACKSPACE_SPOT_REFRESH_TOKEN=your-token node dist/index.js

当使用Claude Desktop或Claude Code的本地构建时,请指向构建 dist/index.js:

{
  "mcpServers": {
    "rackspace-spot": {
      "command": "node",
      "args": ["/path/to/rackspace-spot-mcp/dist/index.js"],
      "env": {
        "RACKSPACE_SPOT_REFRESH_TOKEN": "your-refresh-token-here"
      }
    }
  }
}

获取刷新令牌

  1. 登录到 Rackspace Spot控制台
  2. 导航到 API访问>Terraform 在侧边栏中
  3. 点击 获取新令牌 生成刷新令牌
  4. 复制令牌以用于此MCP服务器

配置

环境变量

变量 必填 描述
RACKSPACE_SPOT_REFRESH_TOKEN 是 您的Rackspace Spot API刷新令牌
RACKSPACE_SPOT_READ_ONLY 否 设置为 true 或 1 隐藏创建/删除操作

只读模式

为了安全起见,您可以在只读模式下运行服务器,该模式隐藏了所有创建和删除工具:

RACKSPACE_SPOT_READ_ONLY=true npx rackspace-spot-mcp

建议用于探索性使用或防止意外修改。

使用Claude Desktop

将服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "rackspace-spot": {
      "command": "npx",
      "args": ["-y", "rackspace-spot-mcp"],
      "env": {
        "RACKSPACE_SPOT_REFRESH_TOKEN": "your-refresh-token-here"
      }
    }
  }
}

只读配置

{
  "mcpServers": {
    "rackspace-spot": {
      "command": "npx",
      "args": ["-y", "rackspace-spot-mcp"],
      "env": {
        "RACKSPACE_SPOT_REFRESH_TOKEN": "your-refresh-token-here",
        "RACKSPACE_SPOT_READ_ONLY": "true"
      }
    }
  }
}

使用Claude代码

添加到您的 ~/.claude.json (全球)或项目 .claude.json:

{
  "mcpServers": {
    "rackspace-spot": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "rackspace-spot-mcp"],
      "env": {
        "RACKSPACE_SPOT_REFRESH_TOKEN": "your-refresh-token-here",
        "RACKSPACE_SPOT_READ_ONLY": "true"
      }
    }
  }
}

可用工具

基础设施发现

工具 说明
list_regions 列出所有可用的Rackspace Spot区域
get_region 获取特定地区的详细信息
list_server_classes 列出可用的机器类型和规格
get_server_class 获取特定服务器类的详细信息
list_organizations 列出组织及其命名空间

云空间管理

工具 说明
list_cloudspaces 列出命名空间中的所有Kubernetes集群
get_cloudspace 获取特定集群的详细信息
create_cloudspace 创建一个新的Kubernetes集群
delete_cloudspace 删除群集(不可逆)

现货节点池(拍卖定价)

工具 说明
list_spot_node_pools 列出云空间中的点节点池
get_spot_node_pool 获取点节点池的详细信息
create_spot_node_pool 使用出价创建现货节点池
delete_spot_node_pool 删除点节点池

按需节点池(固定定价)

工具 说明
list_ondemand_node_pools 列出按需节点池
get_ondemand_node_pool 获取按需游泳池的详细信息
create_ondemand_node_pool 创建按需节点池
delete_ondemand_node_pool 删除按需节点池

公用事业

工具 说明
get_kubeconfig 为kubectl访问生成kubeconfig
get_market_pricing 获取当前市场价格和产能
get_price_history 获取服务器类的历史定价
get_percentile_pricing 获取价格分布数据

交互示例

创建新的云空间

"Create a new Kubernetes cluster called 'my-app' in the us-central-dfw-1 region"

添加竞价点节点

"Add a spot node pool with 3 medium-sized servers, bidding $0.05 per hour"

投标前检查定价

"What are the current market prices for m3.medium servers in DFW?"

获取群集访问权限

"Generate a kubeconfig for my production cloudspace"

发展

# Watch mode for development
npm run dev

# Run type checking
npm run typecheck

# Run unit tests
npm test

# Run integration tests (requires RACKSPACE_SPOT_REFRESH_TOKEN)
RACKSPACE_SPOT_REFRESH_TOKEN=your-token npm run test:integration

# Regenerate API types from OpenAPI spec
npm run generate-client

测试

该项目包括综合测试:

  • 单元测试:使用模拟响应测试SpotClient方法
  • 集成测试:测试完整的MCP服务器,包括工具发现和只读模式
  • API实时测试:根据真实Rackspace Spot API进行可选测试(需要令牌)

建筑

此MCP服务器使用混合方法:

  1. 生成的类型:TypeScript类型是使用Rackspace Spot OpenAPI 3.0官方规范自动生成的 openapi-typescript
  2. 类型安全客户端:The openapi-fetch 库提供了一个类型安全的HTTP客户端
  3. MCP服务器:内置 @modelcontextprotocol/sdk 用于LLM集成

许可证

麻省理工学院

免责声明

这是一个由社区维护的第三方MCP服务器,未经Rackspace Technology正式发布或支持。