{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server.schema.json",
  "name": "ai.ezugc/mcp",
  "title": "EzUGC MCP Server",
  "description": "Generate UGC-style video ads, any-model videos, and image ads, and manage saved brands — from Claude.ai, Claude Code, Cursor, or any MCP client. Connect over remote HTTP (OAuth) or run the stdio package locally. Calls the EzUGC public API on your behalf.",
  "version": "0.5.0",
  "websiteUrl": "https://www.ezugc.ai/mcp",
  "repository": {
    "url": "https://github.com/team-listnr/ez-ugc-app",
    "source": "github",
    "subfolder": "mcp"
  },
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://api.ezugc.ai/mcp"
    }
  ],
  "packages": [
    {
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "identifier": "@ezugc/mcp",
      "version": "0.5.0",
      "runtimeHint": "npx",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "name": "EZUGC_API_KEY",
          "description": "EzUGC API key (prefix ezk_live_). Issued only to active paid accounts from the EzUGC dashboard.",
          "isRequired": true,
          "isSecret": true
        }
      ]
    }
  ],
  "_meta": {
    "ai.ezugc": {
      "docsUrl": "https://www.ezugc.ai/mcp",
      "npmUrl": "https://www.npmjs.com/package/@ezugc/mcp",
      "apiKeysUrl": "https://app.ezugc.ai/dashboard/apps/mcp",
      "openapiUrl": "https://api.ezugc.ai/openapi.json",
      "authentication": {
        "remote": {
          "type": "oauth2.1",
          "transport": "streamable-http",
          "resource": "https://api.ezugc.ai/mcp",
          "authorizationServer": "https://api.ezugc.ai",
          "authorizationServerMetadataUrl": "https://api.ezugc.ai/.well-known/oauth-authorization-server",
          "protectedResourceMetadataUrl": "https://api.ezugc.ai/.well-known/oauth-protected-resource/mcp",
          "scopesSupported": [
            "ugc:write",
            "video:write",
            "image:write",
            "jobs:read",
            "account:read",
            "agent:read",
            "agent:write",
            "agent:approve",
            "brand:read",
            "brand:write",
            "skills:read",
            "skills:write"
          ],
          "grantTypes": [
            "authorization_code",
            "refresh_token"
          ],
          "codeChallengeMethodsSupported": [
            "S256"
          ],
          "dynamicClientRegistration": true,
          "description": "OAuth 2.1 (PKCE + dynamic client registration). Users authorize by pasting an EzUGC API key on the consent screen; the access token is bound to that key. Add as a Connector on Claude.ai using the resource URL."
        },
        "local": {
          "type": "api_key",
          "transport": "stdio",
          "description": "EzUGC API key sent by the stdio package as a bearer token / x-api-key header to the EzUGC public API."
        }
      }
    }
  }
}