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/mcp

Streamable 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.md

One SKILL.md file · installing it does not authorize an agent

29 client guides

Choose your client

The configuration and skill instructions below change with this selection.
For clients with a documented project skill directory.

Client configuration

Oh My Pi (omp)

Native MCP + OAuthNative agent skill

Open-source terminal coding agent with native MCP over stdio/HTTP/SSE, managed OAuth, and built-in skill discovery that reads .omp/skills/<name>/SKILL.md out of the box.

Step 1 · Tools

Connect the MCP server

  1. Create .omp/mcp.json in the project root (or ~/.omp/agent/mcp.json for every project; an active profile uses ~/.omp/profiles/<name>/agent/mcp.json instead) and merge in the server entry below. The interactive /mcp add wizard writes the same files.
  2. Start omp and run /mcp list to confirm the server was discovered (it shows which config file each server came from), then /mcp test aigamelabs to check the connection.
  3. On first connect omp runs the MCP OAuth flow: complete the sign-in and consent once. The credential is stored in the active profile's auth storage keyed to the server URL (mcp_oauth:profile:<profile>:<url>) and refreshed automatically, so the committed JSON stays credential-free.
  4. Redo the sign-in later with /mcp reauth aigamelabs; remove stored credentials with /mcp unauth aigamelabs.
  5. After hand-editing the JSON, run /mcp reload to rediscover and reconnect every server, or /mcp reconnect aigamelabs for just this one.

Choose the example for your platform and merge the aigamelabs entry into the existing configuration. Keep unrelated servers and settings.

Server entry (.omp/mcp.json, project scope)

.omp/mcp.json
{
  "$schema": "https://raw.githubusercontent.com/can1357/oh-my-pi/main/packages/coding-agent/src/config/mcp-schema.json",
  "mcpServers": {
    "aigamelabs": {
      "type": "http",
      "url": "https://aigamelabs.net/mcp"
    }
  }
}

Before you connect
  • "type": "http" is required: a remote entry with only "url" and no "type" is treated as stdio and fails validation with "stdio server requires \"command\" field".
  • Do not add an Authorization header for this server — an explicit header always overrides the managed OAuth credential. ${VAR} expansion and !command header values exist for other servers but are unnecessary here.
  • Per-server timeout defaults to 30 s; OMP_MCP_TIMEOUT_MS overrides it process-wide (0 disables client-side timeouts).

Step 2 · Workflow

Add the publishing skill

  1. Save the skill as .omp/skills/aigamelabs-game-publishing/SKILL.md (project) or ~/.omp/agent/skills/aigamelabs-game-publishing/SKILL.md (user). Discovery is exactly one level per skills root: <skills-root>/<skill-name>/SKILL.md — a SKILL.md nested deeper is not found.
  2. The cross-tool .agents/skills/ and .agent/skills/ layouts are also supported. Other project providers include .claude/skills/, .codex/skills/, .opencode/skills/ and .github/skills/; foreign user-level providers require the corresponding enabledProviders setting. The native .omp path above avoids those opt-in differences.
  3. Run /reload-plugins so the current session picks up the new skill and its /skill: command; a freshly started session discovers it automatically.
  4. Invoke with /skill:aigamelabs-game-publishing (explicit invocation is enabled by default; skills.enableSkillCommands: false turns the slash commands off) or simply ask for the publishing workflow — the frontmatter description drives matching, and the body loads on demand via skill://aigamelabs-game-publishing.

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='.omp/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"
fi

After 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.

Your approval remains in control

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.