Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "edgegap_build_matchmaker_config", "edgegap_create_app_version", "edgegap_generate_dockerfile" and 2 more
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"allowed_cors_origins":{"description":"Origins of web pages allowed to call the matchmaker, e.g. [\"https://mygame.example.com\", \"http://localhost:8080\"]. Required when game clients run in a browser (WebGL): browsers block matchmaker calls from any origin not listed. Scheme and host only, no path.","items":{"type":"string"},"type":"array"},"application":{"description":"Application the matchmaker deploys. ⟨187 unchanged words⟩
⟨188 unchanged words⟩ use UDP.","type":"string"},"tls_upgrade":{"description":"Edgegap terminates TLS on this port, so clients connect with wss:// or https://. Required for browser (WebGL) clients, which cannot use plain ws:// from an https page. WS and HTTP ports only. Default false.","type":"boolean"},"to_check":{"description":"Readiness check on this ⟨21 unchanged words⟩ string"},"registry_username":{"description":"Registryusername,username. Needed for privateimages.images, including images in your own registry.edgegap.com project: Edgegap pulls with this login, not your API token.","type":"string"},"verify_image":{ ⟨24 unchanged words⟩
⟨177 unchanged words⟩ WS","WSS"],"type":"string"},"tls_upgrade":{"description":"TLS Upgrade (wss/https) on a WS or HTTP port, for browser clients.","type":"boolean"}},"required":["port","protocol"], ⟨8 unchanged words⟩
List the versions under an application, with their container image, resources, ports (including whether TLS Upgrade is on, which browser/WebGL clients need for wss://) andresourcewhethersettings.a registry login is set for pulling the image. Use this to find the version name to deploy, to check a version is ready before deploying, or to copy settings from a working ⟨6 unchanged words⟩
⟨105 unchanged words⟩ "},"protocol":{"type":"string"},"tls_upgrade":{"description":"TLS Upgrade (wss/https) on a WS or HTTP port, for browser clients.","type":"boolean"}},"required":["port","protocol"], ⟨6 unchanged words⟩
Changed the definition of "edgegap_get_registry_credentials" and "edgegap_list_registry_tags"
ReturnGet theregistry URL, project, username andpushtokenlogin for this organization's private Edgegap container registry (registry.edgegap.com),plusand the exact docker login, build and push ⟨7 unchanged words⟩ the server image is not in a registryyetyet.—EdgegapnoonlyDockerhands
Added "edgegap_generate_dockerfile"; changed the definition of "edgegap_build_matchmaker_config", "edgegap_create_relay_session", "edgegap_deploy" and 2 more (18 tools before, 19 now)
⟨67 unchanged words⟩ it on the Matchmaker page of the dashboard.UseTheitmatchmaker starts an authoritative dedicated server fordedicated-servereachgames;match,P2Pwhichgamesiswanttheedgegap_create_relay_sessionrecommended
Added "edgegap_authorize_relay_user", "edgegap_build_matchmaker_config", "edgegap_create_relay_session" and 5 more; changed the definition of "edgegap_create_app_version" (10 tools before, 18 now)
⟨16 unchanged words⟩ pushed to a registry that Edgegap can pullfrom.from (see edgegap_get_registry_credentials and edgegap_list_registry_tags). Resource units: 1024 cpu units = 1 ⟨46 unchanged words⟩
⟨173 unchanged words⟩ :"integer"},"protocol":{"description":"One of UDP, TCP,WSTCP/UDP,orHTTP,HTTP.HTTPS, WS, WSS.
Authorization required → not required
First tool surface recorded: 10 tools (server version 0.1.0)
npm:@edgegap/mcp (package_npm) — from mcp_registry
Certificate recorded, valid to 2026-12-10
Authorization required, Bearer
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨3 unchanged words⟩ ,"properties":{"image_name":{"description":"\"<project>/<image>\"The image name only, without the project, registry host or tag, e.g. \"my-org-cv2l3w3vy6fg/my-game-server\my-game-server\".ProjectThecomesAPI reads the project fromedgegap_get_registry_credentials.your token; \"<project>/my-game-server\" is not found.","minLength":1,"type":"string"},"limit":{" ⟨20 unchanged words⟩
Create a relay sessionfor a(host-clientpeer-to-peergamesgameonly)
CreateA relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy anEdgegapauthoritative dedicated server with edgegap_deploy instead. A relaysessiononlysoforwardsplayerstrafficinbetweenaplayerspeer-to-peerwhileoronehost-clientplayer's gameconnectactsthroughas host and owns thenearestgamerelaystate:insteadtheofhostneedingcanNATcheatpunch-throughandorhas adedicatedlatencyserver.advantage,Usethethishost'sforPCco-opand connection cap the match, andP2Pthegames;match ends if the host quits. Only useedgegap_deploythisforwhen the developer has chosen peer-to-peer/host-client, or the netcode is already a listen server and a dedicatedservers.serverNeedsisnonotapplicationan option; if that has not been established,versionaskorfirst. Never pick it only because it needs no server image.PassCreates an Edgegap relay session for every player's public IP, hostfirst.first,Waitswaits untilthe relayit is ready, and returnsitsthe relay address plusaper-player authorizationtokentokens for the relay transport. Relay sessions are billed ⟨9 unchanged words⟩
Start onecontainerizedauthoritativeinstancededicatedofgame server from an application version, placed near the players you specify. This is the recommended way to host a multiplayer match: the server owns the game state, so no player hosts it. Returns immediately with a request_id; the server is ⟨27 unchanged words⟩
List active deployments, optionallyfiltered.filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned servers cost money. Filter by status, application, version, tags, request_id, created_at, fleet_name or host_name, e.g. [{field:"application",operator:"eq",value:"my-game"},{field:"status",operator:"eq",value:"ready"}]. Operators: eq and neq on every field except created_at (eq, gte, lte); in and nin with an array value on request_id, tags, application, version, fleet_name, host_name; ilike with % wildcards on fleet_name and host_name. At most one filter per field. Sort by created_at or available_session_sockets.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"filterfilters":{"description":"EdgegapOmitfilterforexpressionall deployments.","items":{"properties":{"field":{"enum":["status","request_id","tags","created_at","application","version","fleet_name","host_name"],"type":"string"},"operator":{"enum":["eq","neq","in","nin","gte","lte","ilike"],"type":"string"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"description":"Ae.g.string,byortag.anOmitarray of strings forallin/nin.deployments.created_at is ISO 8601, e.g. \"2026-09-30T00:00:00Z\"."}},"required":["field","operator","value"],"type":"stringobject"},"type":"array"},"limit":{"description":"Default 50.","maximum":100,"minimum":1,"type":"integer"},"order_by":{"description":"e.g. [{field:\"created_at\",order:\"asc\"}] for oldest first.","items":{"properties":{"field":{"enum":["created_at","available_session_sockets"],"type":"string"},"order":{"enum":["asc","desc"],"type":"string"}},"required":["field","order"],"type":"object"},"type":"array"}},"type":"object"}
⟨83 unchanged words⟩ text (read it from disk first).With no Dockerfile and anIfenginethereofisunitynoorDockerfileunrealyet,returns Edgegap's reference Dockerfile tocallstartedgegap_generate_dockerfilefrom.instead. Makes no API calls.
Generate a game server Dockerfile — Write a Dockerfile for this project's headless game server build, ready for Edgegap: linux/amd64 base, the build folder copied in, the binary made executable, the right headless flags (Unity -batchmode -nographics, Godot --headless), a non-root user where the engine needs it (Unreal refuses root), CRLF fixes for start scripts, and EXPOSE lines matching the ports. Call this when the project has no Dockerfile, before building anything. Look at the build output first so you can pass the real build folder, binary name and port; anything you omit is assumed and listed under assumptions, which you …
Add a player to a relay session — Authorize one more player (by public IP) on an existing relay session, for a player joining after the session was created. Returns that player's authorization token.
Build a basic matchmaker configuration — Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that relax the rules the longer a player waits. Checks the referenced application version exists and has ports. Edgegap has no API for creating a matchmaker, so this tool does NOT create one: save the returned config to a file (e.g. matchmaker-config.json) and have the developer upload it on the Matchmaker page of the dashboard. Use it for dedicated-server games; P2P games want edgegap_create_relay_session instead.
Create a relay session for a peer-to-peer game — Create an Edgegap relay session so players in a peer-to-peer or host-client game connect through the nearest relay instead of needing NAT punch-through or a dedicated server. Use this for co-op and P2P games; use edgegap_deploy for dedicated servers. Needs no application, version or image. Pass every player's public IP, host first. Waits until the relay is ready and returns its address plus a per-player authorization token for the relay transport. Relay sessions are billed while open: delete test sessions with edgegap_delete_relay_session when finished.
Delete a relay session — Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task.
Get Edgegap container registry push credentials — Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker login, build and push commands for your image. Use this when the server image is not in a registry yet — no Docker Hub account needed. Provisions the registry project on first use. The token is registry-scoped (push/pull images in this project), not the org API token: pass it to docker login via --password-stdin, never as a command-line argument, and do not write it into files. Call edgegap_validate_server_config before building.
Get a relay session — Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_session already waits for readiness; use this to re-read a session or one created with wait_until_ready false.
List image tags in the Edgegap registry — List the tags pushed for one image in this organization's Edgegap container registry, with push time and size. Call it after docker push to confirm the tag landed before edgegap_create_app_version, which otherwise fails later with an image-pull error.
Validate a game server Dockerfile and port config — Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures that otherwise only show up after a build, push, version and deploy: ARM or Windows images (Edgegap runs linux/amd64), Unreal running as root, missing Unity -batchmode -nographics, a server bound to localhost, EXPOSE ports that do not match the version ports, a protocol that does not match the netcode transport, the "latest" tag, and bad CPU/memory ratios. Pass the Dockerfile text (read it from disk first). With no Dockerfile and an eng…