Edge Network

Deploy and manage Edge Network cloud: sites, VMs, storage, DNS, Shield, Assist. Agent self-signup.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
75%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,901Tokens (tool definitions)
~1.2 KBTypical response size
Significant attention impact (2.27% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://edge.network/mcp"
    }
  }
}

Remote endpoints

https://edge.network/mcpstreamable-http

What it can do

Tool inventory

Tools (22)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢edge_discover

Get everything about the connected Edge account: plan, budget, enabled products with limits and regions, current projects, and full API documentation. Call this first in every session.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡edge_deploy_static_site(project, files, repo, branch, source_path, ...)

Deploy a static website to Edge in one call: creates a storage bucket, uploads files (or clones a git repo), configures the global CDN with SSL, and wires DNS if the zone is on Edge. Free tier covers it. Provide either files (base64) or a git repo.

Input Schema

{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name (created if it does not exist), e.g. \"my-portfolio\""
    },
    "files": {
      "type": "array",
      "description": "Files to upload, base64-encoded.",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. \"index.html\" or \"assets/style.css\""
          },
          "content": {
            "type": "string",
            "description": "Base64-encoded file content"
          },
          "content_type": {
            "type": "string",
            "description": "MIME type (auto-detected if omitted)"
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "repo": {
      "type": "string",
      "description": "Git repository to deploy instead of files: \"user/repo\" or a full GitHub/GitLab URL"
    },
    "branch": {
      "type": "string",
      "description": "Git branch or tag (default: main)"
    },
    "source_path": {
      "type": "string",
      "description": "Subdirectory of the repo to deploy, e.g. \"dist\" or \"build\""
    },
    "git_token": {
      "type": "string",
      "description": "Personal access token for private repositories"
    },
    "domain": {
      "type": "string",
      "description": "Custom domain to serve from, e.g. \"app.example.com\". SSL is auto-provisioned."
    },
    "spa_mode": {
      "type": "boolean",
      "description": "Enable single-page-app mode (all routes serve index.html)"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "project"
  ]
}
🟡edge_deploy_app(project, size, os, region, script, ...)

Deploy a full application on a VM: provisions compute, runs a setup script, and optionally adds CDN and DNS. This is BILLABLE — always dry_run first and report the monthly cost to the user. Pass ssh_key (a public key string) to enable SSH access.

Input Schema

{
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "description": "Project name"
    },
    "size": {
      "type": "string",
      "enum": [
        "nano",
        "small",
        "medium",
        "large",
        "xlarge"
      ],
      "description": "nano: 1vCPU/1GB, small: 1/2GB, medium: 2/4GB, large: 4/8GB, xlarge: 8/16GB"
    },
    "os": {
      "type": "string",
      "description": "Operating system template id (default ubuntu-24.04)"
    },
    "region": {
      "type": "string",
      "description": "Deployment region (default london) — list regions via edge_discover"
    },
    "script": {
      "type": "string",
      "description": "Startup script id from the Edge library (e.g. \"docker\", \"nodejs\") — preferred over setup_script"
    },
    "script_params": {
      "type": "object",
      "description": "Parameters for the chosen library script"
    },
    "setup_script": {
      "type": "string",
      "description": "Inline bash script to run on first boot (use script instead when a library script exists)"
    },
    "ssh_key": {
      "type": "string",
      "description": "SSH public key string (e.g. \"ssh-ed25519 AAAA...\") to bake into the VM"
    },
    "domain": {
      "type": "string",
      "description": "Domain for the app"
    },
    "cdn": {
      "type": "boolean",
      "description": "Put the Edge CDN in front of the VM"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "project",
    "size"
  ]
}
🔴edge_update_deployment(project_id, files, changed_only, purge_cdn, dry_run)

Update an existing deployment: upload changed files and optionally purge the CDN cache.

Input Schema

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project id (from edge_list_projects)"
    },
    "files": {
      "type": "array",
      "description": "Files to upload, base64-encoded.",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. \"index.html\" or \"assets/style.css\""
          },
          "content": {
            "type": "string",
            "description": "Base64-encoded file content"
          },
          "content_type": {
            "type": "string",
            "description": "MIME type (auto-detected if omitted)"
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "changed_only": {
      "type": "boolean",
      "description": "Skip files whose content has not changed (MD5 comparison)"
    },
    "purge_cdn": {
      "type": "boolean",
      "description": "Purge the CDN cache after upload"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "project_id",
    "files"
  ]
}
🟢edge_list_projects

List all projects (groupings of resources) on the connected Edge account.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢edge_project_health(project_id)

Comprehensive health check for every resource in a project: status, metrics, and actionable suggestions.

Input Schema

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project id (from edge_list_projects)"
    }
  },
  "required": [
    "project_id"
  ]
}
🟡edge_scale_project(project_id, size, reason, dry_run)

Scale the compute resources in a project up or down. BILLABLE — dry_run first and report the cost change to the user.

Input Schema

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project id"
    },
    "size": {
      "type": "string",
      "enum": [
        "nano",
        "small",
        "medium",
        "large",
        "xlarge"
      ],
      "description": "Target VM size"
    },
    "reason": {
      "type": "string",
      "description": "Why you are scaling (recorded in the audit log)"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "project_id",
    "size"
  ]
}
🔴edge_teardown_project(project_id, confirm, dry_run)

PERMANENTLY delete a project and every resource in it (VMs, buckets, CDN deployments, DNS zones). Irreversible — only use when the user has clearly asked. Set confirm to true to execute.

Input Schema

{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project id"
    },
    "confirm": {
      "type": "boolean",
      "description": "Must be true to actually delete. Without it the call fails with a summary of what would be deleted."
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "project_id"
  ]
}
🟢edge_list_vms

List all virtual machines on the account with status, size, and IPs.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢edge_get_vm(vm_id)

Get one VM: live status, metrics, IPs, attached SSH keys, and the ready-to-use SSH command. Poll until status is "running" before attempting SSH.

Input Schema

{
  "type": "object",
  "properties": {
    "vm_id": {
      "type": "string",
      "description": "VM id (from edge_list_vms)"
    }
  },
  "required": [
    "vm_id"
  ]
}
🟢edge_list_buckets

List storage buckets on the account.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡edge_create_bucket(name, dry_run)

Create an object storage bucket (S3-compatible). Free tier includes a limited number of buckets.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Bucket name: 3-63 chars, lowercase letters, numbers, hyphens"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "name"
  ]
}
🟡edge_upload_files(bucket, files, changed_only, dry_run)

Upload files to an existing storage bucket.

Input Schema

{
  "type": "object",
  "properties": {
    "bucket": {
      "type": "string",
      "description": "Bucket name"
    },
    "files": {
      "type": "array",
      "description": "Files to upload, base64-encoded.",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "File path, e.g. \"index.html\" or \"assets/style.css\""
          },
          "content": {
            "type": "string",
            "description": "Base64-encoded file content"
          },
          "content_type": {
            "type": "string",
            "description": "MIME type (auto-detected if omitted)"
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "changed_only": {
      "type": "boolean",
      "description": "Skip files whose content has not changed (MD5 comparison)"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "bucket",
    "files"
  ]
}
🟢edge_list_dns_zones

List DNS zones on the account.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡edge_create_dns_zone(domain, dry_run)

Create a DNS zone for a domain on Edge authoritative DNS. Free.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. \"example.com\""
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "domain"
  ]
}
🟡edge_add_dns_record(zone_id, type, name, data, ttl, ...)

Add a DNS record to a zone.

Input Schema

{
  "type": "object",
  "properties": {
    "zone_id": {
      "type": "string",
      "description": "Zone id (from edge_list_dns_zones)"
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "TXT",
        "NS"
      ],
      "description": "Record type"
    },
    "name": {
      "type": "string",
      "description": "Record name, e.g. \"www\" or \"@\" for the root"
    },
    "data": {
      "type": "string",
      "description": "Record value, e.g. an IP address or target domain"
    },
    "ttl": {
      "type": "number",
      "description": "TTL in seconds (default 300)"
    },
    "priority": {
      "type": "number",
      "description": "Priority — required for MX records"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "zone_id",
    "type",
    "name",
    "data"
  ]
}
🟢edge_list_shield_widgets

List Edge Shield widgets (free, privacy-first CAPTCHA alternative).

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡edge_create_shield_widget(name, hostnames, mode, dry_run)

Create an Edge Shield widget to protect a form or page from bots. Free. Returns the sitekey, the secret (shown once — store it server-side), and a ready-to-paste embed snippet.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Friendly name, e.g. \"Contact form\""
    },
    "hostnames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Hostnames allowed to use this widget, e.g. [\"example.com\"]. Empty = any hostname."
    },
    "mode": {
      "type": "string",
      "enum": [
        "managed",
        "non-interactive",
        "invisible"
      ],
      "description": "managed: invisible for humans, one-click check for suspicious traffic (default)"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "name"
  ]
}
🟢edge_list_assist_sites

List Edge Assist sites (AI answers widget) with usage and index status.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡edge_create_assist_site(name, hostname, index_url, dry_run)

Create an Edge Assist site: AI answers for a website, grounded in its own content. Free tier: 1 site, 250 answered questions/month. Returns the sitekey and a one-line embed snippet.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Friendly name, e.g. \"Docs site\""
    },
    "hostname": {
      "type": "string",
      "description": "Hostname the widget will run on, e.g. \"docs.example.com\" (origin-enforced)"
    },
    "index_url": {
      "type": "string",
      "description": "Public URL of the content index JSON: { \"pages\": [{ \"url\", \"title\", \"text\" }] }. Can be set later."
    },
    "dry_run": {
      "type": "boolean",
      "description": "Preview the action without executing it. Returns what would happen, including cost estimates. Always dry-run first for anything that costs money."
    }
  },
  "required": [
    "name",
    "hostname"
  ]
}
🟢edge_account_status

Check whether the connected account is a self-signed-up guest (explore tier) or fully claimed, and how to unlock it.

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪edge_request_claim(email)

Nominate the human operator of a self-signed-up (explore tier) account. They receive an email with a claim link; claiming unlocks billable resources and stops the ~7 day auto-purge. Ask the user for their email address first.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "The human operator's email address"
    }
  },
  "required": [
    "email"
  ]
}

Recommended Prompts

retrieve_data
Get details about [item] from Edge Network
Expected tools: edge_get_vm
fetch_info
Fetch [information type] using Edge Network
Expected tools: edge_get_vm
list_items
List all [items] available in Edge Network
Expected tools: edge_list_projects
browse_collection
Show me the [collection] from Edge Network
Expected tools: edge_list_projects
explore_workflow
List available [items], then get details for each one using Edge Network
Expected tools: edge_list_projectsedge_get_vm

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded22 tools
verifiedversion not recorded22 tools