{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_xxjvyg6hwb6s","handle":"edgegap","url":"https://wellknown.network/agents/edgegap","links":{"self":"https://wellknown.network/agents/edgegap/record.json","html":"https://wellknown.network/agents/edgegap","markdown":"https://wellknown.network/agents/edgegap/record.md","api":"https://wellknown.network/api/v1/agents/edgegap","status":"https://wellknown.network/api/v1/agents/edgegap/status","claim":"https://wellknown.network/agents/edgegap/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/edgegap/claim.json","badge":"https://wellknown.network/agents/edgegap/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/edgegap/history","tools":"https://wellknown.network/api/v1/agents/edgegap/tools"},"ard":{"identifier":"urn:air:mcp.edgegap.dev:server:edgegap","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Edgegap","summary":"Deploy and operate multiplayer game servers on Edgegap's global edge network.","description":"Deploy and operate multiplayer game servers on Edgegap's global edge network.","publisher":{"name":"dev.edgegap","url":null},"homepage":"https://edgegap.com","repository":"https://github.com/edgegap/edgegap-mcp","version":"0.3.2","license":"Apache-2.0","protocols":["mcp"],"tags":["mcp","edgegap","game-server","multiplayer","unity","unreal"],"pricing":null,"endpoints":[{"url":"https://mcp.edgegap.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@edgegap/mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-08T18:19:50.441056Z","npmKeywords":["mcp","edgegap","game-server","multiplayer","unity","unreal"],"publishedAt":"2026-10-08T18:19:50.441056Z","registryName":"dev.edgegap/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":1,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"},{"slug":"code.testing","name":"Testing","confidence":0.51,"provenance":"derived"}],"categories":["code","dev","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-09T23:28:44.964Z","lastProbedAt":"2026-10-09T23:28:44.964Z","statusComputedAt":"2026-10-09T23:31:02.421Z","reliability30d":{"probes":101,"successRate":1,"p50Ms":45,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":101,"ok":101,"authBoundaryOk":17,"serviceOk":84,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T23:28:44.964Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":30,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image, resources, ports (including whether TLS Upgrade is on, which browser/WebGL clients need for "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"8906454bed71a728f7875422b06335ef0a8c8e8111d42de6e402813605aeef08","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T16:33:46.036Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":56,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image, resources, ports (including whether TLS Upgrade is on, which browser/WebGL clients need for "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"8906454bed71a728f7875422b06335ef0a8c8e8111d42de6e402813605aeef08","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:01.654Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":68,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"03031f42dd6ec5a6696ce18466579f74f4e8c58a4f2df085430fdc6c76c3d57c","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:51.901Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"03031f42dd6ec5a6696ce18466579f74f4e8c58a4f2df085430fdc6c76c3d57c","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:24:12.941Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":61,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"03031f42dd6ec5a6696ce18466579f74f4e8c58a4f2df085430fdc6c76c3d57c","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:05.751Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":68,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker lo"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"0d2ad1a0b101f319e92976d55c9536b335ff540976f376a1ea20bf79ffdb62be","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:23:51.433Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker lo"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"0d2ad1a0b101f319e92976d55c9536b335ff540976f376a1ea20bf79ffdb62be","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T00:25:48.653Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker lo"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"0d2ad1a0b101f319e92976d55c9536b335ff540976f376a1ea20bf79ffdb62be","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:28:21.193Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":54,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker lo"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"0d2ad1a0b101f319e92976d55c9536b335ff540976f376a1ea20bf79ffdb62be","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T10:50:21.862Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":52,"error":null,"detail":{"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image and resource settings. Use this to find the version name to deploy, or to copy settings from "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Return the registry URL, project, username and token for this organization's private Edgegap container registry (registry.edgegap.com), plus the exact docker lo"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"toolCount":19,"toolsHash":"0d2ad1a0b101f319e92976d55c9536b335ff540976f376a1ea20bf79ffdb62be","serverName":"edgegap","capabilities":["tools"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"edgegap_list_apps","description":"List the applications in the Edgegap organization. Start here before creating or deploying anything, so you reuse an existing application instead of making a du"},{"name":"edgegap_create_app","description":"Create a new application to hold game server versions. Only call this after edgegap_list_apps confirms no suitable application exists. Creating an application d"},{"name":"edgegap_list_app_versions","description":"List the versions under an application, with their container image, resources, ports (including whether TLS Upgrade is on, which browser/WebGL clients need for "},{"name":"edgegap_create_app_version","description":"Register a container image as a deployable version of an application. The image must already be pushed to a registry that Edgegap can pull from (see edgegap_get"},{"name":"edgegap_deploy","description":"Start one authoritative dedicated game server from an application version, placed near the players you specify. This is the recommended way to host a multiplaye"},{"name":"edgegap_get_deployment","description":"Read the current status of one deployment, including connection address and ports once it is ready. For a deployment you just created, prefer edgegap_wait_for_d"},{"name":"edgegap_wait_for_deployment","description":"Poll a deployment until it is ready, errors, or the timeout expires, then return the connection details. This is the tool to call right after edgegap_deploy. Do"},{"name":"edgegap_list_deployments","description":"List active deployments, optionally filtered and sorted. Use this to find deployments left running from earlier sessions before starting new ones — orphaned ser"},{"name":"edgegap_stop_deployment","description":"Gracefully stop one deployment by request_id, sending SIGTERM to the container. Stop every deployment you started for testing before ending your task. This tool"},{"name":"edgegap_get_deployment_logs","description":"Retrieve stdout/stderr and crash output for a deployment. Call this whenever a deployment errors or a server exits unexpectedly — the crash exit code usually id"},{"name":"edgegap_generate_dockerfile","description":"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, t"},{"name":"edgegap_validate_server_config","description":"Check a game server Dockerfile and the ports/resources you intend to register against what Edgegap requires, BEFORE building and pushing. Catches the failures t"},{"name":"edgegap_get_registry_credentials","description":"Get the push login for this organization's private Edgegap container registry (registry.edgegap.com) and the exact docker login, build and push commands for you"},{"name":"edgegap_list_registry_tags","description":"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 land"},{"name":"edgegap_create_relay_session","description":"A relay is NOT a game server and is not the recommended default — for a multiplayer match, deploy an authoritative dedicated server with edgegap_deploy instead."},{"name":"edgegap_get_relay_session","description":"Read one relay session: whether it is ready, the relay address and ports, and each authorized player with their authorization token. edgegap_create_relay_sessio"},{"name":"edgegap_authorize_relay_user","description":"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 t"},{"name":"edgegap_delete_relay_session","description":"Close one relay session. Connected players lose their relay connection. Delete every session you created for testing before ending your task."},{"name":"edgegap_build_matchmaker_config","description":"Generate a ready-to-upload Edgegap matchmaker JSON configuration with one profile: team count and size, optional latency rule, and optional expansions that rela"}],"package":{"name":"@edgegap/mcp","registry":"npm","observedAt":"2026-10-09T23:31:36.970Z","publishedAt":"2026-10-08T18:19:13.234Z","latestVersion":"0.3.2","weeklyDownloads":609},"toolSurface":{"id":"ts_bb8n93wgnbdt","endpointId":"ep_cxwjzhkzr93n","hash":"8906454bed71a728f7875422b06335ef0a8c8e8111d42de6e402813605aeef08","toolCount":19,"serverName":"edgegap","serverVersion":"0.3.3","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T16:33:46.042Z","lastSeenAt":"2026-10-09T23:28:44.960Z","observations":2,"toolNames":["edgegap_list_apps","edgegap_create_app","edgegap_list_app_versions","edgegap_create_app_version","edgegap_deploy","edgegap_get_deployment","edgegap_wait_for_deployment","edgegap_list_deployments","edgegap_stop_deployment","edgegap_get_deployment_logs","edgegap_generate_dockerfile","edgegap_validate_server_config","edgegap_get_registry_credentials","edgegap_list_registry_tags","edgegap_create_relay_session","edgegap_get_relay_session","edgegap_authorize_relay_user","edgegap_delete_relay_session","edgegap_build_matchmaker_config"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_cxwjzhkzr93n","url":"https://mcp.edgegap.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T10:22:01.661Z","auth":{"observedAt":"2026-10-09T10:22:01.672Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T10:22:01.702Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"edgegap.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-11T18:14:00.000Z","validTo":"2026-12-10T19:13:53.000Z","daysToExpiry":61,"sanCount":3,"fingerprint256":"EF:D8:9D:DD:EA:5D:5A:C5:53:6A:07:14:9B:F1:0E:1E:27:CD:EA:08:A8:8C:C1:8D:37:29:C6:E3:7B:F4:48:29"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"@edgegap/mcp","url":"https://www.npmjs.com/package/@edgegap/mcp","firstSeenAt":"2026-10-09T13:20:50.033Z","fetchedAt":"2026-10-09T13:20:50.033Z","normalizedAt":"2026-10-09T13:20:50.033Z"},{"source":"mcp_registry","key":"dev.edgegap/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.edgegap%2Fmcp","firstSeenAt":"2026-09-11T22:18:05.976Z","fetchedAt":"2026-10-09T13:21:56.606Z","normalizedAt":"2026-10-09T13:21:56.606Z"}]},"firstSeenAt":"2026-09-11T22:18:05.976Z","updatedAt":"2026-10-09T23:31:36.970Z"}