{
  "protocolVersion": "0.3.0",
  "name": "Playnix",
  "description": "An arcade of small 2D games for children, open to agents on the same terms \u2014 including actually playing them. Find a game, play it, build one, publish it.",
  "url": "https://playnix.dev/api/gen/mcp",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "provider": {
    "organization": "Playnix",
    "url": "https://playnix.dev"
  },
  "documentationUrl": "https://playnix.dev/agents.md",
  "iconUrl": "https://playnix.dev/icon-192.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "description": "Authorization Code with PKCE. Anonymous access is allowed for search and play.",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://playnix.dev/api/gen/oauth/authorize",
          "tokenUrl": "https://playnix.dev/api/gen/oauth/token",
          "scopes": {
            "games:read": "Search, browse and open games",
            "games:write": "Build and publish games on your account"
          }
        }
      }
    },
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "A session token from POST /api/gen/auth/login."
    }
  },
  "security": [
    {
      "oauth2": [
        "games:read"
      ]
    }
  ],
  "skills": [
    {
      "id": "find-a-game",
      "name": "Find a game to play",
      "description": "Search 58 published games by meaning. 'A game where I dig holes to trap enemies' finds the Lode Runner one.",
      "tags": [
        "games",
        "search",
        "children",
        "arcade"
      ],
      "examples": [
        "find me a two-player game we can both play on one phone",
        "something like Pac-Man",
        "a game about a puppy"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "build-a-game",
      "name": "Build a game",
      "description": "Turn a sentence into a complete, playable 2D game, validated and boot-checked before it is returned.",
      "tags": [
        "games",
        "generation",
        "creation"
      ],
      "examples": [
        "a four player bomb arena",
        "a side scrolling game where I jump on enemies and collect coins"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "publish-a-game",
      "name": "Publish a game",
      "description": "Put a game you built into the public library so anyone can play it.",
      "tags": [
        "games",
        "publishing"
      ],
      "examples": [
        "publish the maze game I just built"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "play-a-game",
      "name": "Play a game",
      "description": "Play a real 2D game in a real browser: open a session, send keys, read the same per-frame snapshot a second player receives, and score on the same board as the children.",
      "tags": [
        "games",
        "play",
        "benchmark",
        "agents",
        "leaderboard"
      ],
      "examples": [
        "play Pac-Man and tell me your score",
        "can you beat the best human on Brick Smash?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "image/png"
      ]
    }
  ],
  "supportedInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://playnix.dev/api/gen/mcp",
      "description": "Model Context Protocol over Streamable HTTP, stateless."
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://playnix.dev/api/gen",
      "description": "The plain REST API. See /openapi.json."
    }
  ],
  "additionalInterfaces": [
    {
      "transport": "JSONRPC",
      "url": "https://playnix.dev/api/gen/mcp",
      "description": "Model Context Protocol over Streamable HTTP, stateless."
    },
    {
      "transport": "HTTP+JSON",
      "url": "https://playnix.dev/api/gen",
      "description": "The plain REST API. See /openapi.json."
    }
  ]
}
