MCP Server

Edge Network

network.edge/mcp
Cloud & Infrastructure Security Public & reachable MCP 2026-07-28

What this MCP does

Manages Edge Network cloud resources including VMs, object storage, DNS, CDN deployments, static sites, AI website-assistance sites, and bot-protection widgets.

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_add_dns_record
Add a DNS record to a zone.
Input schema
{'type': 'object', 'required': ['zone_id', 'type', 'name', 'data'], 'properties': {'ttl': {'type': 'number', 'description': 'TTL in seconds (default 300)'}, 'data': {'type': 'string', 'description': 'Record value, e.g. an IP address or target domain'}, 'name': {'type': 'string', 'description': 'Record name, e.g. "www" or "@" for the root'}, 'type': {'enum': ['A', 'AAAA', 'CNAME', 'MX', 'TXT', 'NS'], 'type': 'string', 'description': 'Record type'}, '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.'}, 'zone_id': {'type': 'string', 'description': 'Zone id (from edge_list_dns_zones)'}, 'priority': {'type': 'number', 'description': 'Priority — required for MX records'}}}
edge_create_assist_site
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', 'required': ['name', 'hostname'], 'properties': {'name': {'type': 'string', 'description': 'Friendly name, e.g. "Docs site"'}, '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.'}, '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.'}}}
edge_create_bucket
Create an object storage bucket (S3-compatible). Free tier includes a limited number of buckets.
Input schema
{'type': 'object', 'required': ['name'], '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.'}}}
edge_create_dns_zone
Create a DNS zone for a domain on Edge authoritative DNS. Free.
Input schema
{'type': 'object', 'required': ['domain'], '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.'}}}
edge_create_shield_widget
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', 'required': ['name'], 'properties': {'mode': {'enum': ['managed', 'non-interactive', 'invisible'], 'type': 'string', 'description': 'managed: invisible for humans, one-click check for suspicious traffic (default)'}, 'name': {'type': 'string', 'description': 'Friendly name, e.g. "Contact form"'}, '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.'}, 'hostnames': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Hostnames allowed to use this widget, e.g. ["example.com"]. Empty = any hostname.'}}}
edge_deploy_app
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', 'required': ['project', 'size'], 'properties': {'os': {'type': 'string', 'description': 'Operating system template id (default ubuntu-24.04)'}, 'cdn': {'type': 'boolean', 'description': 'Put the Edge CDN in front of the VM'}, 'size': {'enum': ['nano', 'small', 'medium', 'large', 'xlarge'], 'type': 'string', 'description': 'nano: 1vCPU/1GB, small: 1/2GB, medium: 2/4GB, large: 4/8GB, xlarge: 8/16GB'}, 'domain': {'type': 'string', 'description': 'Domain for the app'}, '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'}, '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.'}, 'project': {'type': 'string', 'description': 'Project name'}, 'ssh_key': {'type': 'string', 'description': 'SSH public key string (e.g. "ssh-ed25519 AAAA...") to bake into the VM'}, 'setup_script': {'type': 'string', 'description': 'Inline bash script to run on first boot (use script instead when a library script exists)'}, 'script_params': {'type': 'object', 'description': 'Parameters for the chosen library script'}}}
edge_deploy_static_site
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', 'required': ['project'], 'properties': {'repo': {'type': 'string', 'description': 'Git repository to deploy instead of files: "user/repo" or a full GitHub/GitLab URL'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], '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)'}}}, 'description': 'Files to upload, base64-encoded.'}, 'branch': {'type': 'string', 'description': 'Git branch or tag (default: main)'}, 'domain': {'type': 'string', 'description': 'Custom domain to serve from, e.g. "app.example.com". SSL is auto-provisioned.'}, '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.'}, 'project': {'type': 'string', 'description': 'Project name (created if it does not exist), e.g. "my-portfolio"'}, 'spa_mode': {'type': 'boolean', 'description': 'Enable single-page-app mode (all routes serve index.html)'}, 'git_token': {'type': 'string', 'description': 'Personal access token for private repositories'}, 'source_path': {'type': 'string', 'description': 'Subdirectory of the repo to deploy, e.g. "dist" or "build"'}}}
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_get_vm
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', 'required': ['vm_id'], 'properties': {'vm_id': {'type': 'string', 'description': 'VM id (from edge_list_vms)'}}}
edge_list_assist_sites
List Edge Assist sites (AI answers widget) with usage and index status.
Input schema
{'type': 'object', 'properties': {}}
edge_list_buckets
List storage buckets on the account.
Input schema
{'type': 'object', 'properties': {}}
edge_list_dns_zones
List DNS zones on the account.
Input schema
{'type': 'object', 'properties': {}}
edge_list_projects
List all projects (groupings of resources) on the connected Edge account.
Input schema
{'type': 'object', 'properties': {}}
edge_list_shield_widgets
List Edge Shield widgets (free, privacy-first CAPTCHA alternative).
Input schema
{'type': 'object', 'properties': {}}
edge_list_vms
List all virtual machines on the account with status, size, and IPs.
Input schema
{'type': 'object', 'properties': {}}
edge_project_health
Comprehensive health check for every resource in a project: status, metrics, and actionable suggestions.
Input schema
{'type': 'object', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id (from edge_list_projects)'}}}
edge_request_claim
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', 'required': ['email'], 'properties': {'email': {'type': 'string', 'description': "The human operator's email address"}}}
edge_scale_project
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', 'required': ['project_id', 'size'], 'properties': {'size': {'enum': ['nano', 'small', 'medium', 'large', 'xlarge'], 'type': 'string', '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.'}, 'project_id': {'type': 'string', 'description': 'Project id'}}}
edge_teardown_project
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', 'required': ['project_id'], 'properties': {'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.'}, 'project_id': {'type': 'string', 'description': 'Project id'}}}
edge_update_deployment
Update an existing deployment: upload changed files and optionally purge the CDN cache.
Input schema
{'type': 'object', 'required': ['project_id', 'files'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], '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)'}}}, 'description': 'Files to upload, base64-encoded.'}, '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.'}, 'purge_cdn': {'type': 'boolean', 'description': 'Purge the CDN cache after upload'}, 'project_id': {'type': 'string', 'description': 'Project id (from edge_list_projects)'}, 'changed_only': {'type': 'boolean', 'description': 'Skip files whose content has not changed (MD5 comparison)'}}}
edge_upload_files
Upload files to an existing storage bucket.
Input schema
{'type': 'object', 'required': ['bucket', 'files'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], '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)'}}}, 'description': 'Files to upload, base64-encoded.'}, 'bucket': {'type': 'string', 'description': 'Bucket name'}, '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.'}, 'changed_only': {'type': 'boolean', 'description': 'Skip files whose content has not changed (MD5 comparison)'}}}
Added
edge_request_claim
Sept. 17, 2026, 12:54 p.m.
Added
edge_account_status
Sept. 17, 2026, 12:54 p.m.
Added
edge_create_assist_site
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_assist_sites
Sept. 17, 2026, 12:54 p.m.
Added
edge_create_shield_widget
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_shield_widgets
Sept. 17, 2026, 12:54 p.m.
Added
edge_add_dns_record
Sept. 17, 2026, 12:54 p.m.
Added
edge_create_dns_zone
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_dns_zones
Sept. 17, 2026, 12:54 p.m.
Added
edge_upload_files
Sept. 17, 2026, 12:54 p.m.
Added
edge_create_bucket
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_buckets
Sept. 17, 2026, 12:54 p.m.
Added
edge_get_vm
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_vms
Sept. 17, 2026, 12:54 p.m.
Added
edge_teardown_project
Sept. 17, 2026, 12:54 p.m.
Added
edge_scale_project
Sept. 17, 2026, 12:54 p.m.
Added
edge_project_health
Sept. 17, 2026, 12:54 p.m.
Added
edge_list_projects
Sept. 17, 2026, 12:54 p.m.
Added
edge_update_deployment
Sept. 17, 2026, 12:54 p.m.
Added
edge_deploy_app
Sept. 17, 2026, 12:54 p.m.
Added
edge_deploy_static_site
Sept. 17, 2026, 12:54 p.m.
Added
edge_discover
Sept. 17, 2026, 12:54 p.m.