{
  "name": "oganvil",
  "description": "OG (Open Graph) image generation API. Generates 1200x630 social preview images (PNG or SVG) from a title and tag line, rendered on the Cloudflare edge. NOTE: this service is a plain REST API and an MCP server over Streamable HTTP - it is NOT an A2A JSON-RPC agent. Full docs at the documentationUrl; MCP card at /.well-known/mcp/server-card.json.",
  "supportedInterfaces": [
    {
      "url": "https://oganvil.rowb.app/mcp",
      "protocolBinding": "MCP",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://oganvil.rowb.app",
      "protocolBinding": "REST",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "rowb.app",
    "url": "https://rowb.app"
  },
  "version": "1.0.0",
  "documentationUrl": "https://oganvil.rowb.app/llms.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "image/png",
    "text/plain"
  ],
  "skills": [
    {
      "id": "generate-og-image",
      "name": "Generate OG image",
      "description": "Generate a 1200x630 OG image from a title and tag line. REST: GET https://oganvil.rowu.workers.dev/og?title=...&tag=... (PNG/SVG, anonymous quota applies). MCP tool: generate_og_image (bearer key required).",
      "tags": [
        "og-image",
        "open-graph",
        "social-preview",
        "image-generation"
      ]
    },
    {
      "id": "get-quota",
      "name": "Check quota",
      "description": "Check remaining free quota for the API key. MCP tool: get_quota (bearer key required).",
      "tags": [
        "quota",
        "usage"
      ]
    }
  ],
  "mcpUrl": "https://oganvil.rowb.app/mcp"
}