Connect Agents · MCP + agent skills
Connect your AI client.
Give your agent the tools to manage your games, and the instructions to package and publish them. Choose your client for its exact configuration.
MCP server
The connection that reads and changes your game entries.
MCP server URL
https://aigamelabs.net/mcpStreamable HTTP · OAuth sign-in and consent · no shared API key
Publishing skill
The workflow for metadata, artwork, WebGL packaging, Unity exports and Unreal limitations.
Publishing skill URL
https://aigamelabs.net/mcp/skills/SKILL.mdOne SKILL.md file · installing it does not authorize an agent
29 client guides
Choose your client
Client configuration
OpenHands
OpenHands CLI/SDK (V1) supports remote HTTP MCP servers with FastMCP-backed OAuth (browser flow) and loads Agent-Skills SKILL.md files from .agents/skills.
Step 1 · Tools
Connect the MCP server
- Add the server with OAuth in one command: openhands mcp add aigamelabs --transport http --auth oauth https://aigamelabs.net/mcp
- When the agent first uses an aigamelabs tool, OpenHands starts the OAuth flow and a browser window opens automatically for Google login + consent; tokens are cached under ~/.fastmcp/oauth-mcp-client-cache/.
- Verify with openhands mcp list (or the read-only /mcp status command inside a conversation).
- Prefer editing files? Merge the fragment below into ~/.openhands/mcp.json (JSON since release 1.0.0 — the old config.toml [mcp] section is ignored by current releases).
Choose the example for your platform and merge the aigamelabs entry into the existing configuration. Keep unrelated servers and settings.
Add via CLI
openhands mcp add aigamelabs --transport http --auth oauth https://aigamelabs.net/mcpMerge fragment — mcp.json
~/.openhands/mcp.json{
"mcpServers": {
"aigamelabs": {
"url": "https://aigamelabs.net/mcp",
"transport": "http",
"auth": "oauth"
}
}
}- OpenHands delegates MCP OAuth to FastMCP, whose client documents OAuth 2.1 with PKCE, well-known metadata discovery and Dynamic Client Registration (RFC 7591) fallback — the OpenHands docs themselves show only the "auth": "oauth" switch and browser flow.
- OAuth needs an interactive browser: the docs warn OAuth MCP servers "may not be suitable for fully automated/headless workflows".
- No manual clientId/secret entries are needed (and none should be invented) — DCR handles client registration; config format changed from TOML to JSON in release 1.0.0.
Step 2 · Workflow
Add the publishing skill
- Download the skill into the documented Agent Skills location: https://aigamelabs.net/mcp/skills/SKILL.md → .agents/skills/aigamelabs-game-publishing/SKILL.md (project) or ~/.agents/skills/... (user).
- OpenHands advertises each skill's name + description first and loads the full SKILL.md when the task matches (progressive disclosure, Agent Skills specification).
- Place the file manually — the /add-skill command imports from GitHub URLs only, not raw Markdown links.
- Legacy .openhands/skills/ and .openhands/microagents/ directories still load, but docs direct new skills to .agents/skills/.
Run from your project root. This downloads Markdown only, does not execute it, and will not overwrite an existing skill. Review the file before using it.
Download the skill with Bash
skill_dir='.agents/skills/aigamelabs-game-publishing'
mkdir -p "$skill_dir"
if [ -e "$skill_dir/SKILL.md" ]; then
printf '%s\n' 'SKILL.md already exists. Review or back it up before replacing it.'
else
curl --fail --show-error --location 'https://aigamelabs.net/mcp/skills/SKILL.md' --output "$skill_dir/SKILL.md"
fiAfter setup
Try a read-only first request
First prompt for your agent
Read the aigamelabs-game-publishing skill, then use AIGameLabs list_games to show my game entries. Do not create, publish or remove anything yet.Once the connection works, the agent can use add_game, update_game and remove_game, plus build, artwork and release tools. Removing a game archives it and revokes delivery; publishing still requires an approved release. Publication is manual by default; explicitly opt in when freezing a release only if you want that exact snapshot to publish automatically on approval.
Sign in on aigamelabs.net and inspect the client's name, callback and requested scopes. Grant games:read for reading and games:write for changes; offline_access permits refresh tokens. Never paste browser cookies, Google credentials or an access token into shared configuration. Creator access, upload limits and human review still apply.
Manage or disconnect an agent in Settings → Connected agents. A recent sign-in is required to disconnect. Review game metadata and ask for confirmation before destructive actions, rights attestations or automatic-publication opt-ins.
Connection help
The URL shows “missing authorization header”
That is the expected OAuth challenge, not a page to sign in on. Add the URL in your client's MCP settings, then use its Connect or Authenticate action to open the consent flow.
The sign-in link expired or the callback was rejected
Reconnect from the MCP client to request a fresh authorization link. Do not bookmark a signed consent URL. Older clients that omit the native application type are inferred from loopback or private-use callbacks; explicitly configured web clients must use HTTPS callbacks. Unsafe callbacks remain rejected.
The client has HTTP support but cannot authenticate
HTTP transport alone is insufficient: this server requires OAuth. Follow the selected guide's native OAuth or documented bridge instructions. A stdio bridge runs locally and stores its own authorization state; do not share that cache or use one person's login for a multi-user server. This server uses dynamic client registration, not URL-based client metadata discovery.
The skill is not listed
Keep the exact filename SKILL.md inside the directory shown for your client, preserve its frontmatter, then reload or start a new session as that client's instructions require. A reference-only app will not show it as an installed native skill.
A game operation is denied after connection
OAuth grants access only to your own workspaces. Creator enrollment, quotas and human review gates remain in force. Read-only consent cannot authorize writes. Ask for the required scope rather than copying a token into configuration or trying to bypass review.