{
  "name": "llamagen-comic-api",
  "displayName": "LlamaGen Comic API",
  "description": "MCP server for LlamaGen comic, manga, webtoon, and storyboard generation workflows.",
  "version": "1.0.0",
  "protocolVersion": "2025-03-26",
  "serverUrl": "https://llamagen.ai/api/mcp",
  "transport": {
    "type": "streamable-http",
    "url": "https://llamagen.ai/api/mcp"
  },
  "authentication": {
    "type": "bearer",
    "description": "Use a LlamaGen API token in the Authorization: Bearer header. Create and rotate tokens from Settings > API."
  },
  "docsUrl": "https://llamagen.ai/comic-api/docs",
  "openapiUrl": "https://llamagen.ai/openapi.json",
  "serverCardUrl": "https://llamagen.ai/.well-known/mcp/server-card.json",
  "mcpServers": {
    "llamagen": {
      "url": "https://llamagen.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${LLAMAGEN_API_TOKEN}"
      }
    }
  },
  "tools": [
    {
      "name": "search_llamagen_docs",
      "title": "Search LlamaGen developer docs",
      "description": "Find Comic API, MCP, webhook, authentication, rate-limit, and error-handling docs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Integration topic, endpoint, or error to look up."
          }
        }
      }
    },
    {
      "name": "create_comic_generation",
      "title": "Create a comic generation",
      "description": "Create a LlamaGen comic generation from a prompt through the Comic API.",
      "inputSchema": {
        "type": "object",
        "required": ["prompt"],
        "properties": {
          "prompt": {
            "type": "string",
            "description": "Story, scene, or panel prompt for the comic generation."
          },
          "style": {
            "type": "string",
            "description": "Optional art direction such as manga, webtoon, anime, or cinematic."
          },
          "panelCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Optional requested panel count."
          },
          "size": {
            "type": "string",
            "description": "Optional output size or aspect ratio."
          },
          "characterImageUrl": {
            "type": "string",
            "format": "uri",
            "description": "Optional public reference image URL for character consistency."
          }
        }
      }
    },
    {
      "name": "get_comic_generation_status",
      "title": "Get comic generation status",
      "description": "Read status, panels, generated assets, and errors for an existing comic generation.",
      "inputSchema": {
        "type": "object",
        "required": ["generationId"],
        "properties": {
          "generationId": {
            "type": "string",
            "description": "Generation ID returned by create_comic_generation."
          },
          "pageIndex": {
            "type": "integer",
            "minimum": 0
          },
          "panelIndex": {
            "type": "integer",
            "minimum": 0
          }
        }
      }
    },
    {
      "name": "get_comic_api_usage",
      "title": "Get Comic API usage",
      "description": "Return current Comic API usage, remaining credits, and plan state for the API token.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ]
}
