E2E云命令行界面
一个开源的、AWS风格的命令行工具包,用于 E2E网络 云基础设施。从终端、代码或AI助手管理您的节点、卷、VPC、DNS等。
$ e2e node list
id name status plan public_ip_address
100001 web-server Running C3.8GB 203.0.113.10
100002 api-backend Running C3.16GB 203.0.113.11
100003 db-primary Running C3.32GB 203.0.113.12
100004 staging Stopped C3.8GB 203.0.113.13包含内容
这是一个包含四个包的TypeScript单仓库:
| 软件包 | 功能 | 安装 |
|---|---|---|
@e2e-cloud/sdk | TypeScript SDK——对E2E网络API的编程访问 | npm install @e2e-cloud/sdk |
@e2e-cloud/cli | AWS风格的CLI工具 | npm install -g @e2e-cloud/cli |
@e2e-cloud/mcp-server | MCP服务器——让AI助手(Claude等)管理您的基础设施 | npx @e2e-cloud/mcp-server |
@e2e-cloud/skill | Claude代码技能与指导工作流程 | 复制 SKILL.md 到 ~/.claude/skills/ |
所有四个包共享一个SDK核心,因此添加新服务意味着只需编写一次。
快速开始
1.安装
npm install -g @e2e-cloud/cli2.获取凭据
在创建API令牌 E2E MyAccount>API和IAM你会得到一个 API密钥 和一个 身份验证令牌.
3.配置
e2e configure这会将您的凭据保存到 ~/.e2e/config.jsonCLI和MCP服务器都从该文件读取。
或者,手动创建文件:
{
"apiKey": "your-api-key",
"authToken": "your-auth-token",
"defaultRegion": "Delhi"
}4.使用
e2e node list # Table output (default)
e2e node list --output json # JSON output (pipe to jq, scripts, etc.)
e2e node get --id 12345 # Detailed info for a single node
e2e vpc list # List your VPCs
e2e security-group list # List security groupsCLI 参考
服务
| 服务 | 命令 |
|---|---|
e2e node | list, get, create, delete, action (开机、关机、重启、重新安装、锁定、解锁、重命名) |
e2e volume | list, get, create, delete, attach, detach |
e2e image | list, list-categories, list-saved, delete |
e2e vpc | list, get, create, delete |
e2e security-group | list, get |
e2e firewall | list, get, create, delete |
e2e dns | list, get, records, add-record, delete-record |
e2e reserve-ip | list, get, create, delete |
全球旗帜
--output Output format: table (default) or json
--project-id Override project ID
--api-key Override API key
--debug Show HTTP request/response details
--no-color Disable colored output例子
# Create a compute node
e2e node create \
--name my-server \
--plan C-2 \
--image Ubuntu-22.04-Starter \
--security-group-id 12345 \
--region ncr
# Create a volume and attach it
e2e volume create --name data-vol --size 500 --iops 10000
e2e volume attach --id 100 --vm-id 12345
# Manage DNS
e2e dns list
e2e dns add-record --zone-id 1 --type A --name www --content 1.2.3.4
# Power off a node
e2e node action --id 12345 --type power_off
# Pipe JSON to other tools
e2e node list --output json | jq '.[].name'SDK使用
直接在TypeScript/JavaScript应用程序中使用SDK:
import { E2EClient } from "@e2e-cloud/sdk";
const client = new E2EClient({
apiKey: "your-api-key",
authToken: "your-auth-token",
location: "Delhi",
});
// List all nodes
const { data: nodes } = await client.nodes.list();
console.log(nodes);
// Create a node
const { data: node } = await client.nodes.create({
name: "my-node",
region: "ncr",
plan: "C-2",
image: "Ubuntu-22.04-Starter",
security_group_id: 12345,
});
// Power off
await client.nodes.action(node.id, { type: "power_off" });
// Volumes
const { data: volumes } = await client.volumes.list();
await client.volumes.create({ name: "data", size: 500, iops: 10000 });
// VPCs
await client.vpcs.create({ vpc_name: "my-vpc", network_size: 512 });
// DNS
const { data: zones } = await client.dns.listZones();
await client.dns.createRecord({
zone_id: 1,
type: "A",
name: "www",
content: "1.2.3.4",
});MCP服务器(基于人工智能的基础设施)
MCP服务器允许像Claude这样的人工智能助手通过自然语言管理您的E2E网络基础设施。
设置
添加到您的克劳德代码设置(~/.claude/settings.json):
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["@e2e-cloud/mcp-server"]
}
}
}MCP服务器从以下位置读取凭据 ~/.e2e/config.json (与CLI相同的文件)。
你能做什么
配置后,您可以向Claude询问以下问题:
- “列出我所有正在运行的节点”
- “创建一个具有8GB RAM的新Ubuntu节点”
- “将500GB卷附加到我的后端服务器”
- “为我的域设置DNS记录”
- “关闭测试服务器电源”
可用工具
服务器公开了30多个工具: e2e_node_list, e2e_node_create, e2e_volume_attach, e2e_dns_create_record以及更多。看 MCP设置 查看完整列表。
项目结构
e2e-cli/
├── packages/
│ ├── sdk/ # Shared TypeScript SDK (API client, types, services)
│ ├── cli/ # AWS-style CLI (commander.js)
│ ├── mcp-server/ # MCP server (stdio transport)
│ └── skill/ # Claude Code skill (SKILL.md)
├── docs/ # Documentation
├── package.json # npm workspaces root
└── tsconfig.base.json # Shared TypeScript config建筑
CLI (commander.js) MCP Server (@modelcontextprotocol/sdk)
\ /
\ /
+--- SDK (axios) ------+
|
E2E Networks API
https://api.e2enetworks.com/myaccount/api/v1CLI和MCP服务器都是共享SDK的精简包装器。SDK处理身份验证(API密钥+承载令牌)、HTTP请求、错误规范化和响应类型。
发展
先决条件
- Node.js>=18
- npm>=9
设置
git clone https://github.com/arushk1/e2e-cli.git
cd e2e-cli
npm install构建
npm run build # Build all packages测试
npm test # Run all tests (47 tests across 3 packages)添加新服务
每项服务都遵循相同的模式。要添加对新的E2E Networks API端点的支持,请执行以下操作:
- 在中添加类型
packages/sdk/src/types/.ts - 在中添加服务类
packages/sdk/src/services/.ts - 在上注册
E2EClient在packages/sdk/src/client.ts - 在中添加CLI命令
packages/cli/src/commands/.ts - 在中添加MCP工具
packages/mcp-server/src/tools/.ts - 在中添加测试
packages/sdk/tests/services/.test.ts
看 添加新服务 有关代码模板的详细指南。
路线图
- 第1阶段(当前): 节点、卷、映像、VPC、安全组、防火墙、DNS、保留IP
- 第二阶段: 对象存储、可扩展文件系统、DBaaS(MySQL、PostgreSQL、Valkey、Kafka)、容器注册表
- 第三阶段: CDN、计费、自动扩展、Kubernetes、CDP备份
- 第四阶段: TIR API(GPU实例、模型端点、训练集群、RAG、GenAI)
API 参考
- 基本URL:
https://api.e2enetworks.com/myaccount/api/v1 - 认证: API键(查询参数
?apikey=)+持有者代币(Authorization: Bearer) - 区域: 德里、孟买、浦那
- 文件: docs.e2enetwork.com/api/myaccount
- 令牌创建: myaccount.e2networks.com/services/apiiam
贡献
欢迎投稿!无论是添加新服务、修复错误、改进文档还是建议功能。
- 分叉回购
- 创建要素分支(
git checkout -b feat/object-storage) - 进行更改
- 运行测试(
npm test) - 提交PR
许可证
麻省理工学院
