E2E Networks Cloud & TIR MCP Server
# E2E Networks Cloud & TIR MCP Server
[](https://www.npmjs.com/package/e2e-mcp)
[](https://www.npmjs.com/package/e2e-mcp)
[](LICENSE)
[](https://github.com/vingupta3/e2e-mcp/releases)
The official [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for **E2E Networks Cloud** and the **TIR AI/ML Platform**.
Connect **Claude Desktop**, **Cursor**, **Google Antigravity**, and **Codex** directly to your E2E Cloud infrastructure to provision GPUs, manage nodes, control databases, orchestrate Kubernetes, and run AI workloads.
---
## β‘ Quickstart (Zero Installation via `npx`)
You do **not** need to clone this repository or install anything globally. You can set it up in two simple commands using `npx`:
### Step 1: Configure your E2E credentials
Run the interactive configuration wizard (like `aws configure`):
```bash
npx -y e2e-mcp configure
```
This prompts for:
* **E2E API Key** (from [MyAccount β Security / API Tokens](https://myaccount.e2enetworks.com))
* **E2E Auth Token** (Bearer token)
* **Default Location** (e.g. `DEL-1` or `NCR-1`)
* *Saved securely to `~/.e2e/credentials` (chmod 0600)*.
### Step 2: Auto-install into your AI Assistant
Automatically register the MCP server in Claude Desktop, Cursor, and Antigravity:
```bash
npx -y e2e-mcp install
```
Restart your AI assistant, and you're ready!
---
## π» Manual Setup in AI Assistants
If you prefer to configure your assistant's JSON file manually:
### 1. Claude Desktop
Add to your config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS or `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
```json
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}
```
> [!TIP]
> If you didn't run `npx e2e-mcp configure`, you can pass credentials directly in the `env` block:
> ```json
> "env": {
> "E2E_API_KEY": "YOUR_API_KEY",
> "E2E_AUTH_TOKEN": "YOUR_AUTH_TOKEN",
> "E2E_PROJECT_ID": "YOUR_PROJECT_ID",
> "E2E_LOCATION": "DEL-1"
> }
> ```
### 2. Cursor
Add to `.cursor/mcp.json` or Cursor Settings β MCP:
```json
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}
```
### 3. Google Antigravity
Add to `~/.gemini/config/mcp_config.json`:
```json
{
"mcpServers": {
"e2e-cloud": {
"command": "npx",
"args": ["-y", "e2e-mcp"]
}
}
}
```
---
## π οΈ Available MCP Tools
Once connected, your AI assistant gains access to **40+ specialized cloud tools**:
### π₯οΈ Compute & NVIDIA GPUs
* `e2e_list_nodes` β List all running VMs and GPU instances with IPs, plans, and regions.
* `e2e_get_node` β Get full technical specifications, network interfaces, and disk info for a node.
* `e2e_create_node` β Launch new compute or GPU instances on-demand.
* `e2e_node_action` β Control node lifecycle: `power_on`, `power_off`, `reboot`, `lock`, `unlock`.
* `e2e_delete_node` β Terminate and delete an instance.
* `e2e_list_plans` / `e2e_list_os_images` β Inspect hardware plans, pricing, and operating systems.
* `e2e_get_node_health` β Retrieve live CPU, memory, and disk health metrics.
### π€ TIR AI/ML Cloud
* `e2e_tir_list_gpu_skus` β List available NVIDIA GPU hardware (H100 SXM5, A100, L40S, L4).
* `e2e_tir_list_notebooks` / `e2e_tir_create_notebook` β Launch and manage Jupyter AI Labs.
* `e2e_tir_notebook_action` β Start, stop, or reboot AI Lab notebooks.
* `e2e_tir_list_model_endpoints` β Monitor deployed LLM inference endpoints.
* `e2e_tir_list_datasets` β Manage training and fine-tuning datasets.
* `e2e_tir_list_training_clusters` β Manage Slurm & distributed training clusters.
### πΎ Storage & Buckets
* `e2e_list_volumes` / `e2e_create_volume` β Manage block storage volumes (SSD/NVMe).
* `e2e_attach_volume` / `e2e_detach_volume` β Attach or detach block volumes to nodes.
* `e2e_list_buckets` / `e2e_create_bucket` β S3-compatible EOS Object Storage buckets.
* `e2e_list_sfs` β Shared File System (SFS/NFS) storage.
### π Networking & Security
* `e2e_list_vpcs` / `e2e_create_vpc` β Virtual Private Cloud networks and subnets.
* `e2e_list_reserved_ips` / `e2e_action_reserved_ip` β Manage static public IP addresses.
* `e2e_list_security_groups` β Inspect firewalls and security rules.
* `e2e_list_load_balancers` β Application and Network Load Balancers (ALB / NLB).
### ποΈ Managed Databases (DBaaS)
* `e2e_list_databases` / `e2e_create_database` β Provision managed PostgreSQL, MySQL, MariaDB, Kafka.
* `e2e_get_database` / `e2e_database_action` β Cluster health, topologies, failover, start/stop.
### βΈοΈ Managed Kubernetes
* `e2e_list_k8s_clusters` / `e2e_get_k8s_cluster` β Inspect Kubernetes clusters and API endpoints.
* `e2e_list_k8s_node_pools` β Manage cluster worker node pools.
### π Universal REST Tool (`e2e_raw_request`)
* `e2e_raw_request` β Allows Claude to call **any** of E2E's 450+ REST endpoints with automatic authentication, region normalization, and error handling.
---
## βοΈ Optional & Advanced Setups
<details>
<summary><b>1. Multiple Credential Profiles (AWS-Style)</b></summary>
You can maintain separate profiles (e.g. `[default]`, `[production]`, `[staging]`):
```bash
npx -y e2e-mcp configure --profile staging
npx -y e2e-mcp install --profile staging
```
Stored in `~/.e2e/credentials` and `~/.e2e/config`.
</details>
<details>
<summary><b>2. Hosted HTTP / SSE Daemon Mode</b></summary>
Run as a shared HTTP service with SSE and a built-in Web Dashboard:
```bash
npx -y e2e-mcp --http --port 3000
```
* **Dashboard**: `http://localhost:3000/`
* **SSE Endpoint**: `http://localhost:3000/sse`
* **Health Check**: `http://localhost:3000/health`
</details>
<details>
<summary><b>3. Docker & Docker Compose</b></summary>
```bash
docker run -d -p 3000:3000 \
-e E2E_API_KEY="your_key" \
-e E2E_AUTH_TOKEN="your_token" \
ghcr.io/vingupta3/e2e-mcp:latest
```
</details>
<details>
<summary><b>4. Running from Source (Contributors)</b></summary>
```bash
git clone https://github.com/vingupta3/e2e-mcp.git
cd e2e-mcp
npm install
npm test
npm run build
```
See [CONTRIBUTING.md](CONTRIBUTING.md) for pull request guidelines.
</details>
---
## π License
[Apache 2.0](LICENSE) Β© 2026 Vinay Gupta
TDQS
Scored across 46 tools
Most tools target a distinct resource+action (nodes, databases, k8s, volumes, buckets, VPCs, reserved IPs, TIR notebooks), so selection is generally clear. Minor overlap exists between e2e_get_node and e2e_get_node_health, and the catch-all e2e_raw_request could in principle shadow every other tool, but the descriptions keep boundaries readable.
Nearly all names follow an e2e_ prefix with a predictable verb_noun pattern (list_nodes, get_node, create_volume, delete_bucket), plus a consistent e2e_tir_ namespace for AI tools. A few names invert to noun_action (e2e_node_action, e2e_database_action, e2e_action_reserved_ip), a minor deviation but still predictable.
46 tools is heavy by count (normally warranting a low score), but the server spans a genuinely large cloud domain (compute, networking, storage, DBaaS, k8s, billing, and a full AI/ML platform). Spread across these services it is roughly 4-5 tools each, so it is borderline rather than excessive.
Several domains are read-only with no lifecycle operations: load balancers, security groups, k8s clusters, and SFS offer only list/get with no create/delete. Compute and database flows are well covered, and the e2e_raw_request escape hatch plus credential/connection tools mitigate the gaps, but the surface is uneven.