{"name":"leony-by-aweb","title":"Leony by Aweb","description":"Leony is Aweb’s AI Creative Studio for cinematic video, avatars, personas, voice, sound, campaigns, and publishing workflows.","version":"0.1.0","transport":{"type":"streamable_http","url":"https://aweb-wine.vercel.app/api/mcp","instructions":"Call aweb_explore with domain=\"leony\" before executing Leony capabilities."},"website":"https://aweb-leony.vercel.app","discovery":"https://aweb-leony.vercel.app/api/leony/v1","developer_console":"https://aweb-leony.vercel.app/developers","authentication":{"type":"bearer_or_x_api_key","issue_keys_from":"https://aweb-leony.vercel.app/developers","scopes":["aweb.mcp.read","aweb.mcp.execute","leony.read","leony.brief","leony.plan","leony.render","leony.publish"]},"tools":[{"name":"leony_explore","input":"LeonyExploreInput","description":"Browse Leony providers, workflows, assets, jobs, plans, approvals, metrics, and API surfaces.","writesState":false,"stage":"catalog","readsResources":["leony://providers/catalog","leony://workflows/index","leony://assets/reel","leony://api/surface"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-explore-input.json","type":"object","additionalProperties":false,"required":["mode"],"properties":{"mode":{"type":"string","enum":["providers","workflows","assets","jobs","plans","approvals","metrics","api"]},"query":{"type":"string","minLength":1,"maxLength":240},"capability":{"type":"string","minLength":1,"maxLength":160},"limit":{"type":"integer","minimum":1,"maximum":100,"default":12}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_brief","input":"LeonyBriefInput","description":"Create a structured Leony creative brief without calling media providers.","writesState":true,"stage":"planning","readsResources":["leony://providers/catalog","leony://governance/policy"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-brief-input.json","type":"object","additionalProperties":false,"required":["mode","prompt"],"properties":{"mode":{"type":"string","enum":["video","avatar","persona","voice","campaign","publish"],"description":"Leony creative mode."},"prompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Creative command or production brief."},"title":{"type":"string","minLength":1,"maxLength":140,"description":"Human-readable project title."},"targetFormats":{"type":"array","description":"Requested output formats such as 9:16 social or 16:9 hero.","minItems":1,"maxItems":12,"items":{"type":"string","minLength":1,"maxLength":120},"uniqueItems":true},"channels":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"string","enum":["tiktok","instagram","youtube_shorts","linkedin","x_twitter","pinterest","shopify","gumroad","manual_export"],"description":"Target publish or export channel."}},"managedByAweb":{"type":"boolean","default":true}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_plan","input":"LeonyPlanInput","description":"Create a costed provider route and approval boundary for a Leony creative brief.","writesState":true,"stage":"planning","readsResources":["leony://providers/catalog","leony://capabilities/media","leony://governance/policy","leony://plans/index"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-plan-input.json","type":"object","additionalProperties":false,"anyOf":[{"required":["briefId"]},{"required":["prompt","mode"]}],"properties":{"briefId":{"type":"string","minLength":1,"maxLength":80,"description":"Existing Leony brief id."},"prompt":{"type":"string","minLength":1,"maxLength":4000,"description":"Creative command used when creating a plan without a prior brief."},"mode":{"type":"string","enum":["video","avatar","persona","voice","campaign","publish"],"description":"Leony creative mode."},"routePolicy":{"type":"string","enum":["quality_first","speed_first","cost_guarded","balanced"],"default":"balanced","description":"Provider routing preference used for plan generation."},"targetFormats":{"type":"array","description":"Requested output formats for this plan.","minItems":1,"maxItems":12,"items":{"type":"string","minLength":1,"maxLength":120},"uniqueItems":true},"budgetUsd":{"type":"number","minimum":0,"maximum":10000,"description":"Optional operator budget ceiling for the plan."}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_render","input":"LeonyRenderInput","description":"Prepare or queue a governed render job. Foundation mode never spends provider credits without approval metadata.","writesState":true,"stage":"execution_gate","readsResources":["leony://plans/{id}","leony://approvals/index","leony://governance/policy","leony://jobs/index"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-render-input.json","type":"object","additionalProperties":false,"required":["planId","dryRun"],"properties":{"planId":{"type":"string","minLength":1,"maxLength":80,"description":"Leony render plan id."},"dryRun":{"type":"boolean","description":"When true, create the approval boundary without provider execution."},"approvalRef":{"type":"string","minLength":1,"maxLength":160,"description":"Approval reference required before live provider execution."},"maxCostUsd":{"type":"number","exclusiveMinimum":0,"maximum":10000,"description":"Hard cost ceiling for a governed render attempt."}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_publish","input":"LeonyPublishInput","description":"Prepare a social/commercial publishing handoff with approval gates and no direct external post by default.","writesState":true,"stage":"execution_gate","readsResources":["leony://assets/reel","leony://approvals/index","leony://governance/policy"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-publish-input.json","type":"object","additionalProperties":false,"anyOf":[{"required":["assetId"]},{"required":["planId"]}],"required":["channels","dryRun"],"properties":{"assetId":{"type":"string","minLength":1,"maxLength":120,"description":"Leony or Aweb asset id to publish/export."},"planId":{"type":"string","minLength":1,"maxLength":80,"description":"Plan id to use as publish/export context."},"channels":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"string","enum":["tiktok","instagram","youtube_shorts","linkedin","x_twitter","pinterest","shopify","gumroad","manual_export"],"description":"Target publish or export channel."}},"dryRun":{"type":"boolean","description":"When true, create only an approval/outbox package."},"approvalRef":{"type":"string","minLength":1,"maxLength":160,"description":"Approval reference required before external publishing."}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_analyze","input":"LeonyAnalyzeInput","description":"Summarize Leony provider posture, approval queue, spend risk, publishing readiness, or asset strategy.","writesState":false,"stage":"catalog","readsResources":["leony://observability/current","leony://providers/catalog","leony://jobs/index","leony://approvals/index"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-analyze-input.json","type":"object","additionalProperties":false,"required":["scope"],"properties":{"scope":{"type":"string","enum":["providers","jobs","approvals","spend","publishing","assets"]},"window":{"type":"string","enum":["24h","7d","30d","90d"],"default":"7d"},"mode":{"type":"string","enum":["video","avatar","persona","voice","campaign","publish"],"description":"Leony creative mode."}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}},{"name":"leony_operate","input":"LeonyOperateInput","description":"Run bounded operator actions such as inspect lineage, cancel job, rerun plan, request provider setup, or verify governance.","writesState":true,"stage":"operator","readsResources":["leony://jobs/index","leony://jobs/{id}","leony://plans/index","leony://plans/{id}","leony://governance/policy"],"inputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-operate-input.json","type":"object","additionalProperties":false,"required":["action","targetType","targetId"],"properties":{"action":{"type":"string","enum":["inspect_lineage","cancel_job","rerun_plan","request_provider_setup","verify_governance"]},"targetType":{"type":"string","enum":["brief","plan","job","asset","provider"]},"targetId":{"type":"string","minLength":1,"maxLength":160,"description":"Target object id."},"params":{"type":"object","additionalProperties":true}}},"outputSchema":{"$id":"https://aweb-leony.vercel.app/schemas/leony-tool-result.json","type":"object","additionalProperties":false,"required":["tool","status","warnings","resources","output"],"properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["ok"]},"warnings":{"type":"array","items":{"type":"string"}},"resources":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":true},"persistence":{"type":"object","additionalProperties":true,"description":"Optional persistence posture attached by the Leony route handler."}}}}],"resources":[{"uri":"leony://providers/catalog","description":"Current Leony creative provider posture derived from Aweb API Warehouse capability mappings.","freshness":"catalog"},{"uri":"leony://capabilities/media","description":"Creative media capability slice used by Leony for video, image, avatar, voice, sound, storage, publishing, and analytics.","freshness":"catalog"},{"uri":"leony://workflows/index","description":"Leony create, compose, publish, and operate workflow definitions.","freshness":"catalog"},{"uri":"leony://assets/reel","description":"Operator-supplied Leony proof reel and first-page asset strategy, including lightweight-loop decisions.","freshness":"catalog"},{"uri":"leony://jobs/index","description":"Runtime Leony render and publish job index.","freshness":"runtime"},{"uri":"leony://jobs/{id}","description":"Runtime Leony job record with approval and provider-execution posture.","freshness":"runtime"},{"uri":"leony://plans/index","description":"Runtime Leony render-plan index.","freshness":"runtime"},{"uri":"leony://plans/{id}","description":"Runtime Leony render plan with provider route, cost estimate, and gates.","freshness":"runtime"},{"uri":"leony://approvals/index","description":"Runtime approval queue for provider spend, likeness, commercial claims, and publishing.","freshness":"runtime"},{"uri":"leony://observability/current","description":"Current Leony runtime counters and provider posture summary.","freshness":"runtime"},{"uri":"leony://governance/policy","description":"Leony governance doctrine for cost, provider calls, likeness, claims, and publishing.","freshness":"policy"},{"uri":"leony://api/surface","description":"Leony API, MCP, key-management, and monitoring exposure plan.","freshness":"policy"}]}