[{"data":1,"prerenderedAt":2733},["ShallowReactive",2],{"navigation":3,"/reference/mcp-integration":879,"/reference/mcp-integration-surround":2728},[4,22,45,115,156,187,214,235,264,295,318,361,389,418,436,470,491,534,548,571,632,670,693,757,850],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"Introduction","/introduction","01.introduction/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is Orkestia?","i-lucide-sparkles",{"title":13,"path":14,"stem":15,"icon":16},"Core Philosophy","/introduction/core-philosophy","01.introduction/2.core-philosophy","i-lucide-shield-check",{"title":18,"path":19,"stem":20,"icon":21},"Key Benefits","/introduction/key-benefits","01.introduction/3.key-benefits","i-lucide-trophy",{"title":23,"path":24,"stem":25,"children":26,"icon":29},"Getting Started","/getting-started","02.getting-started/1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Quick Start","i-lucide-rocket",{"title":31,"path":32,"stem":33,"icon":34},"Architecture Overview","/getting-started/architecture-overview","02.getting-started/2.architecture-overview","i-lucide-layout-dashboard",{"title":36,"path":37,"stem":38,"icon":39},"Concepts at a Glance","/getting-started/concepts","02.getting-started/3.concepts","i-lucide-list",{"title":41,"path":42,"stem":43,"icon":44},"Connect an AI Assistant","/getting-started/connect-an-ai-assistant","02.getting-started/4.connect-an-ai-assistant","i-lucide-bot",{"title":46,"path":47,"stem":48,"children":49,"icon":51},"Core Concepts","/concepts","03.concepts/01.index",[50,52,57,62,67,71,76,81,86,91,96,100,105,110],{"title":46,"path":47,"stem":48,"icon":51},"i-lucide-book-open",{"title":53,"path":54,"stem":55,"icon":56},"Workflows","/concepts/workflows","03.concepts/02.workflows","i-lucide-workflow",{"title":58,"path":59,"stem":60,"icon":61},"DGI — Dialog Generative Interface","/concepts/dgi","03.concepts/03.dgi","i-lucide-brain",{"title":63,"path":64,"stem":65,"icon":66},"Staff & AI Workforce Governance","/concepts/staff-governance","03.concepts/04.staff-governance","i-lucide-users-round",{"title":68,"path":69,"stem":70,"icon":44},"Agents — the execution substrate","/concepts/agents-platform","03.concepts/05.agents-platform",{"title":72,"path":73,"stem":74,"icon":75},"Runners & Execution Environments","/concepts/runners","03.concepts/06.runners","i-lucide-server-cog",{"title":77,"path":78,"stem":79,"icon":80},"Lumen Observability","/concepts/lumen","03.concepts/07.lumen","i-lucide-activity",{"title":82,"path":83,"stem":84,"icon":85},"Identity & Multi-Tenancy","/concepts/identity-multi-tenancy","03.concepts/08.identity-multi-tenancy","i-lucide-users",{"title":87,"path":88,"stem":89,"icon":90},"Billing, Pricing & Seats","/concepts/billing-and-seats","03.concepts/09.billing-and-seats","i-lucide-credit-card",{"title":92,"path":93,"stem":94,"icon":95},"App Data","/concepts/appdata","03.concepts/10.appdata","i-lucide-database",{"title":97,"path":98,"stem":99,"icon":61},"Engram","/concepts/engram","03.concepts/11.engram",{"title":101,"path":102,"stem":103,"icon":104},"DevKit","/concepts/devkit","03.concepts/12.devkit","i-lucide-terminal",{"title":106,"path":107,"stem":108,"icon":109},"App Host","/concepts/app-host","03.concepts/13.app-host","i-lucide-globe",{"title":111,"path":112,"stem":113,"icon":114},"Agent Exchange","/concepts/agent-exchange","03.concepts/14.agent-exchange","i-lucide-landmark",{"title":116,"path":117,"stem":118,"children":119,"icon":121},"Guides","/guides","04.guides/1.index",[120,122,127,132,137,142,147,151],{"title":116,"path":117,"stem":118,"icon":121},"i-lucide-compass",{"title":123,"path":124,"stem":125,"icon":126},"Building with DGI","/guides/building-with-dgi","04.guides/2.building-with-dgi","i-lucide-brain-circuit",{"title":128,"path":129,"stem":130,"icon":131},"Creating & Exposing Virtual Workflows","/guides/virtual-workflows","04.guides/4.virtual-workflows","i-lucide-blocks",{"title":133,"path":134,"stem":135,"icon":136},"Runner Management & Provisioning","/guides/runner-management","04.guides/5.runner-management","i-lucide-server",{"title":138,"path":139,"stem":140,"icon":141},"Security & Compliance","/guides/security-and-compliance","04.guides/7.security-and-compliance","i-lucide-shield",{"title":143,"path":144,"stem":145,"icon":146},"Tickets & Software Delivery","/guides/tickets-and-software-delivery","04.guides/8.tickets-and-software-delivery","i-lucide-ticket",{"title":148,"path":149,"stem":150},"Orkestia for AI-driven cloud infrastructure automation","/guides/cloud-automation-alternatives","04.guides/9.cloud-automation-alternatives",{"title":152,"path":153,"stem":154,"icon":155},"Typed decisions with TypeSafe","/guides/typed-decisions-with-typesafe","04.guides/9.typed-decisions-with-typesafe","i-lucide-git-branch",{"title":157,"path":158,"stem":159,"children":160,"icon":162},"Reference","/reference","05.reference/1.index",[161,163,168,173,177,182],{"title":157,"path":158,"stem":159,"icon":162},"i-lucide-library",{"title":164,"path":165,"stem":166,"icon":167},"Workflow Types & Registry","/reference/workflow-types-registry","05.reference/2.workflow-types-registry","i-lucide-list-tree",{"title":169,"path":170,"stem":171,"icon":172},"MCP Integration","/reference/mcp-integration","05.reference/3.mcp-integration","i-lucide-plug-zap",{"title":174,"path":175,"stem":176,"icon":104},"API & Tooling","/reference/api-tooling","05.reference/4.api-tooling",{"title":178,"path":179,"stem":180,"icon":181},"Integrations Catalog","/reference/integrations-catalog","05.reference/6.integrations-catalog","i-lucide-plug",{"title":183,"path":184,"stem":185,"icon":186},"Platform Services","/reference/platform-services","05.reference/7.platform-services","i-lucide-boxes",{"title":188,"path":189,"stem":190,"children":191,"icon":193},"Advanced Topics","/advanced","06.advanced/1.index",[192,194,199,204,209],{"title":188,"path":189,"stem":190,"icon":193},"i-lucide-flask-conical",{"title":195,"path":196,"stem":197,"icon":198},"Hybrid AI + Deterministic Execution","/advanced/hybrid-execution-model","06.advanced/2.hybrid-execution-model","i-lucide-git-merge",{"title":200,"path":201,"stem":202,"icon":203},"Drift Detection & Self-Healing","/advanced/drift-detection-self-healing","06.advanced/3.drift-detection-self-healing","i-lucide-heart-pulse",{"title":205,"path":206,"stem":207,"icon":208},"Governance & Approvals","/advanced/governance-and-approvals","06.advanced/4.governance-and-approvals","i-lucide-scale",{"title":210,"path":211,"stem":212,"icon":213},"Cost & Performance Optimization","/advanced/cost-and-performance","06.advanced/5.cost-and-performance","i-lucide-zap",{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Operations","/operations","07.operations/1.index",[219,221,225,230],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-settings-2",{"title":222,"path":223,"stem":224,"icon":186},"Deployment Models","/operations/deployment-models","07.operations/2.deployment-models",{"title":226,"path":227,"stem":228,"icon":229},"Monitoring & Debugging","/operations/monitoring-and-debugging","07.operations/3.monitoring-and-debugging","i-lucide-bug",{"title":231,"path":232,"stem":233,"icon":234},"Best Practices","/operations/best-practices","07.operations/4.best-practices","i-lucide-check-check",{"title":236,"path":237,"stem":238,"children":239,"icon":241},"AWS Connections","/aws-connections","08.aws-connections/1.index",[240,242,245,250,255,260],{"title":236,"path":237,"stem":238,"icon":241},"i-simple-icons-amazonaws",{"title":23,"path":243,"stem":244,"icon":29},"/aws-connections/getting-started","08.aws-connections/2.getting-started",{"title":246,"path":247,"stem":248,"icon":249},"Setup Methods","/aws-connections/setup-methods","08.aws-connections/3.setup-methods","i-lucide-wrench",{"title":251,"path":252,"stem":253,"icon":254},"Managing Connections","/aws-connections/managing-connections","08.aws-connections/4.managing-connections","i-lucide-settings",{"title":256,"path":257,"stem":258,"icon":259},"Security Best Practices","/aws-connections/security-best-practices","08.aws-connections/5.security-best-practices","i-lucide-lock",{"title":261,"path":262,"stem":263,"icon":229},"Troubleshooting","/aws-connections/troubleshooting","08.aws-connections/6.troubleshooting",{"title":265,"path":266,"stem":267,"children":268,"icon":270},"Cloud Connections","/cloud-connections","09.cloud-connections/1.index",[269,271,276,281,286,291],{"title":265,"path":266,"stem":267,"icon":270},"i-lucide-cable",{"title":272,"path":273,"stem":274,"icon":275},"Google Cloud (GCP)","/cloud-connections/gcp","09.cloud-connections/2.gcp","i-simple-icons-googlecloud",{"title":277,"path":278,"stem":279,"icon":280},"Microsoft Azure","/cloud-connections/azure","09.cloud-connections/3.azure","i-simple-icons-microsoftazure",{"title":282,"path":283,"stem":284,"icon":285},"Magalu Cloud","/cloud-connections/magalu","09.cloud-connections/4.magalu","i-lucide-cloud",{"title":287,"path":288,"stem":289,"icon":290},"Kubernetes","/cloud-connections/kubernetes","09.cloud-connections/5.kubernetes","i-simple-icons-kubernetes",{"title":292,"path":293,"stem":294,"icon":208},"TypeSafe","/cloud-connections/typesafe","09.cloud-connections/6.typesafe",{"title":296,"path":297,"stem":298,"children":299,"icon":136},"DNS Providers","/dns-providers","10.dns-providers/1.index",[300,302,305,308,311,315],{"title":301,"path":297,"stem":298,"icon":136},"DNS Provider Connections",{"title":23,"path":303,"stem":304,"icon":29},"/dns-providers/getting-started","10.dns-providers/2.getting-started",{"title":246,"path":306,"stem":307,"icon":249},"/dns-providers/setup-methods","10.dns-providers/3.setup-methods",{"title":251,"path":309,"stem":310,"icon":254},"/dns-providers/managing-connections","10.dns-providers/4.managing-connections",{"title":312,"path":313,"stem":314,"icon":39},"Zones and Records","/dns-providers/zones-and-records","10.dns-providers/5.zones-and-records",{"title":261,"path":316,"stem":317,"icon":229},"/dns-providers/troubleshooting","10.dns-providers/6.troubleshooting",{"title":319,"path":320,"stem":321,"children":322,"icon":29},"Cloud Deploy","/cloud-deploy","11.cloud-deploy/01.index",[323,324,327,332,336,341,345,349,354,358],{"title":319,"path":320,"stem":321,"icon":29},{"title":23,"path":325,"stem":326,"icon":29},"/cloud-deploy/getting-started","11.cloud-deploy/02.getting-started",{"title":328,"path":329,"stem":330,"icon":331},"Creating a Site","/cloud-deploy/creating-a-site","11.cloud-deploy/03.creating-a-site","i-lucide-plus-circle",{"title":333,"path":334,"stem":335,"icon":34},"Site Overview and Deployments","/cloud-deploy/site-overview","11.cloud-deploy/04.site-overview",{"title":337,"path":338,"stem":339,"icon":340},"Deployment Progress and Success","/cloud-deploy/deployment-progress","11.cloud-deploy/05.deployment-progress","i-lucide-loader",{"title":342,"path":343,"stem":344,"icon":254},"Settings","/cloud-deploy/settings","11.cloud-deploy/06.settings",{"title":346,"path":347,"stem":348,"icon":109},"Custom Domains","/cloud-deploy/custom-domains","11.cloud-deploy/07.custom-domains",{"title":350,"path":351,"stem":352,"icon":353},"Resources, Releases, and Danger Zone","/cloud-deploy/resources-releases","11.cloud-deploy/08.resources-releases","i-lucide-package",{"title":355,"path":356,"stem":357,"icon":141},"Admin Dashboard","/cloud-deploy/admin-dashboard","11.cloud-deploy/09.admin-dashboard",{"title":261,"path":359,"stem":360,"icon":229},"/cloud-deploy/troubleshooting","11.cloud-deploy/10.troubleshooting",{"title":362,"path":363,"stem":364,"children":365,"icon":368},"User Onboarding","/user-onboarding","12.user-onboarding/1.index",[366,369,372,377,382,386],{"title":367,"path":363,"stem":364,"icon":368},"User Creation and Onboarding","i-lucide-user-plus",{"title":23,"path":370,"stem":371,"icon":29},"/user-onboarding/getting-started","12.user-onboarding/2.getting-started",{"title":373,"path":374,"stem":375,"icon":376},"Creating Your Organization","/user-onboarding/onboarding","12.user-onboarding/3.onboarding","i-lucide-building-2",{"title":378,"path":379,"stem":380,"icon":381},"Invitations","/user-onboarding/invitations","12.user-onboarding/4.invitations","i-lucide-mail",{"title":383,"path":384,"stem":385,"icon":254},"Managing Your Account","/user-onboarding/managing-account","12.user-onboarding/5.managing-account",{"title":261,"path":387,"stem":388,"icon":229},"/user-onboarding/troubleshooting","12.user-onboarding/6.troubleshooting",{"title":342,"path":390,"stem":391,"children":392,"icon":394},"/settings","13.settings/1.index",[393,395,400,404,409,413],{"title":342,"path":390,"stem":391,"icon":394},"i-lucide-sliders-horizontal",{"title":396,"path":397,"stem":398,"icon":399},"General Settings","/settings/general","13.settings/2.general","i-lucide-user",{"title":401,"path":402,"stem":403,"icon":85},"Members Settings","/settings/members","13.settings/3.members",{"title":405,"path":406,"stem":407,"icon":408},"Notifications Settings","/settings/notifications","13.settings/4.notifications","i-lucide-bell",{"title":410,"path":411,"stem":412,"icon":141},"Security Settings","/settings/security","13.settings/5.security",{"title":414,"path":415,"stem":416,"icon":417},"Signing Keys","/settings/keys","13.settings/6.keys","i-lucide-key-round",{"title":419,"path":420,"stem":421,"children":422,"icon":29},"App Enablement","/app-enablement","14.app-enablement/1.index",[423,424,428,432],{"title":419,"path":420,"stem":421,"icon":29},{"title":425,"path":426,"stem":427,"icon":417},"Sign in with Orkestia","/app-enablement/sign-in-with-orkestia","14.app-enablement/2.sign-in-with-orkestia",{"title":429,"path":430,"stem":431,"icon":95},"End-user data","/app-enablement/end-user-data","14.app-enablement/3.end-user-data",{"title":433,"path":434,"stem":435,"icon":131},"Compositions — use, invoke, share","/app-enablement/compositions","14.app-enablement/4.compositions",{"title":437,"path":438,"stem":439,"children":440,"icon":80},"Lumen","/lumen","15.lumen/1.index",[441,442,447,452,457,461,465],{"title":437,"path":438,"stem":439,"icon":80},{"title":443,"path":444,"stem":445,"icon":446},"Enable Lumen","/lumen/enable","15.lumen/2.enable","i-lucide-power",{"title":448,"path":449,"stem":450,"icon":451},"Send data","/lumen/send-data","15.lumen/3.send-data","i-lucide-upload",{"title":453,"path":454,"stem":455,"icon":456},"Collector","/lumen/collector","15.lumen/4.collector","i-lucide-container",{"title":458,"path":459,"stem":460,"icon":34},"Use Lumen","/lumen/observe","15.lumen/5.observe",{"title":462,"path":463,"stem":464,"icon":44},"Lumen MCP","/lumen/mcp","15.lumen/6.mcp",{"title":466,"path":467,"stem":468,"icon":469},"Query API","/lumen/query-api","15.lumen/7.query-api","i-lucide-search",{"title":471,"path":472,"stem":473,"children":474,"icon":476},"SDKs","/sdks","16.sdks/1.index",[475,477,482,487],{"title":471,"path":472,"stem":473,"icon":476},"i-lucide-code",{"title":478,"path":479,"stem":480,"icon":481},"Workflows SDK — Node / TypeScript","/sdks/workflows-nodejs","16.sdks/2.workflows-nodejs","i-lucide-file-ts",{"title":483,"path":484,"stem":485,"icon":486},"Workflows SDK — Python","/sdks/workflows-python","16.sdks/3.workflows-python","i-simple-icons-python",{"title":488,"path":489,"stem":490,"icon":417},"Auth SDK — Sign in with Orkestia","/sdks/auth","16.sdks/4.auth",{"title":92,"path":492,"stem":493,"children":494,"icon":95},"/appdata","17.appdata/1.index",[495,496,501,506,510,515,520,525,530],{"title":92,"path":492,"stem":493,"icon":95},{"title":497,"path":498,"stem":499,"icon":500},"Declare structures","/appdata/declare","17.appdata/2.declare","i-lucide-table",{"title":502,"path":503,"stem":504,"icon":505},"Records & Data API","/appdata/data-api","17.appdata/3.data-api","i-lucide-rows-3",{"title":507,"path":508,"stem":509,"icon":376},"Ownership & workspaces","/appdata/ownership","17.appdata/4.ownership",{"title":511,"path":512,"stem":513,"icon":514},"Expose App Data to end-users","/appdata/expose","17.appdata/5.expose","i-lucide-app-window",{"title":516,"path":517,"stem":518,"icon":519},"PostgREST HTTP","/appdata/postgrest","17.appdata/6.postgrest","i-lucide-unplug",{"title":521,"path":522,"stem":523,"icon":524},"Ordered append","/appdata/append","17.appdata/7.append","i-lucide-list-ordered",{"title":526,"path":527,"stem":528,"icon":529},"Databases and instances","/appdata/instances","17.appdata/8.instances","i-lucide-hard-drive",{"title":531,"path":532,"stem":533,"icon":104},"Query console and SQL","/appdata/query","17.appdata/9.query",{"title":97,"path":535,"stem":536,"children":537,"icon":61},"/engram","18.engram/1.index",[538,539,543],{"title":97,"path":535,"stem":536,"icon":61},{"title":540,"path":541,"stem":542,"icon":155},"Write & recall","/engram/write-recall","18.engram/2.write-recall",{"title":544,"path":545,"stem":546,"icon":547},"Field & feed","/engram/agent-memory","18.engram/3.agent-memory","i-lucide-radio",{"title":101,"path":549,"stem":550,"children":551,"icon":104},"/devkit","19.devkit/1.index",[552,553,558,562,567],{"title":101,"path":549,"stem":550,"icon":104},{"title":554,"path":555,"stem":556,"icon":557},"Install DevKit","/devkit/install","19.devkit/2.install","i-lucide-download",{"title":559,"path":560,"stem":561,"icon":519},"Hook redirect","/devkit/hooks","19.devkit/3.hooks",{"title":563,"path":564,"stem":565,"icon":566},"Local coding runner","/devkit/local-runner","19.devkit/4.local-runner","i-lucide-cpu",{"title":568,"path":569,"stem":570,"icon":131},"Compositions from DevKit","/devkit/compositions","19.devkit/5.compositions",{"title":572,"path":573,"stem":574,"children":575,"icon":44},"Staff & Agents","/staff-and-agents","20.staff-and-agents/01.index",[576,577,582,586,590,594,598,602,606,611,615,620,625,629],{"title":572,"path":573,"stem":574,"icon":44},{"title":578,"path":579,"stem":580,"icon":581},"Prerequisites","/staff-and-agents/prerequisites","20.staff-and-agents/02.prerequisites","i-lucide-list-checks",{"title":583,"path":584,"stem":585,"icon":368},"Hire an actor","/staff-and-agents/hire-an-actor","20.staff-and-agents/03.hire-an-actor",{"title":587,"path":588,"stem":589,"icon":34},"Console","/staff-and-agents/console","20.staff-and-agents/04.console",{"title":591,"path":592,"stem":593,"icon":11},"Configs, skills, and MCP","/staff-and-agents/configs-skills-mcp","20.staff-and-agents/05.configs-skills-mcp",{"title":595,"path":596,"stem":597,"icon":136},"Agent runner groups","/staff-and-agents/runner-groups","20.staff-and-agents/06.runner-groups",{"title":599,"path":600,"stem":601,"icon":16},"Governance","/staff-and-agents/governance","20.staff-and-agents/07.governance",{"title":603,"path":604,"stem":605,"icon":417},"Identity and tokens","/staff-and-agents/identity","20.staff-and-agents/08.identity",{"title":607,"path":608,"stem":609,"icon":610},"Memory and cost","/staff-and-agents/memory-and-cost","20.staff-and-agents/09.memory-and-cost","i-lucide-wallet",{"title":612,"path":613,"stem":614,"icon":155},"Coding agents","/staff-and-agents/coding-agents","20.staff-and-agents/10.coding-agents",{"title":616,"path":617,"stem":618,"icon":619},"Wire a repository for coding agents","/staff-and-agents/wire-a-repository","20.staff-and-agents/11.wire-a-repository","i-lucide-link",{"title":621,"path":622,"stem":623,"icon":624},"Run a ticket end to end","/staff-and-agents/run-a-ticket","20.staff-and-agents/12.run-a-ticket","i-lucide-play",{"title":626,"path":627,"stem":628,"icon":66},"Build a product team of actors","/staff-and-agents/build-a-product-team","20.staff-and-agents/13.build-a-product-team",{"title":261,"path":630,"stem":631,"icon":249},"/staff-and-agents/troubleshooting","20.staff-and-agents/14.troubleshooting",{"title":106,"path":633,"stem":634,"children":635,"icon":109},"/app-host","21.app-host/1.index",[636,637,641,644,649,653,658,662,666],{"title":106,"path":633,"stem":634,"icon":109},{"title":638,"path":639,"stem":640,"icon":514},"Your app and site","/app-host/your-app","21.app-host/2.your-app",{"title":92,"path":642,"stem":643,"icon":95},"/app-host/app-data","21.app-host/3.app-data",{"title":645,"path":646,"stem":647,"icon":648},"Website and process","/app-host/hosting","21.app-host/4.hosting","i-lucide-cloud-upload",{"title":650,"path":651,"stem":652,"icon":547},"Buzz","/app-host/buzz","21.app-host/5.buzz",{"title":654,"path":655,"stem":656,"icon":657},"Files","/app-host/files","21.app-host/6.files","i-lucide-folder",{"title":659,"path":660,"stem":661,"icon":109},"Your own domain","/app-host/your-domain","21.app-host/7.your-domain",{"title":663,"path":664,"stem":665,"icon":229},"Troubleshooting App Host","/app-host/troubleshooting","21.app-host/8.troubleshooting",{"title":667,"path":668,"stem":669,"icon":417},"Signing keys","/app-host/signing-keys","21.app-host/9.signing-keys",{"title":111,"path":671,"stem":672,"children":673,"icon":114},"/agent-exchange","22.agent-exchange/01.index",[674,675,678,682,686,690],{"title":111,"path":671,"stem":672,"icon":114},{"title":583,"path":676,"stem":677,"icon":368},"/agent-exchange/hire","22.agent-exchange/02.hire",{"title":679,"path":680,"stem":681,"icon":208},"List an actor","/agent-exchange/list","22.agent-exchange/03.list",{"title":683,"path":684,"stem":685,"icon":104},"Invoke & leases","/agent-exchange/invoke","22.agent-exchange/04.invoke",{"title":687,"path":688,"stem":689,"icon":141},"Settlement & trust","/agent-exchange/settlement","22.agent-exchange/05.settlement",{"title":53,"path":691,"stem":692,"icon":56},"/agent-exchange/workflows","22.agent-exchange/06.workflows",{"title":694,"path":695,"stem":696,"children":697,"icon":75},"Runners","/runners","23.runners/1.index",[698,700,704,709,713,717,721,726,730,734,738,741,745,749,753],{"title":699,"path":695,"stem":696,"icon":75},"Runner groups",{"title":701,"path":702,"stem":703,"icon":275},"Cloud Run","/runners/cloud-run","23.runners/10.cloud-run",{"title":705,"path":706,"stem":707,"icon":708},"DigitalOcean App Job","/runners/do-app-job","23.runners/11.do-app-job","i-simple-icons-digitalocean",{"title":710,"path":711,"stem":712,"icon":708},"DigitalOcean Droplet","/runners/do-droplet","23.runners/12.do-droplet",{"title":714,"path":715,"stem":716,"icon":285},"Magalu Cloud VM","/runners/magalu-vm","23.runners/13.magalu-vm",{"title":101,"path":718,"stem":719,"icon":720},"/runners/devkit","23.runners/14.devkit","i-lucide-laptop",{"title":722,"path":723,"stem":724,"icon":725},"Purposes & integrations","/runners/purposes","23.runners/16.purposes","i-lucide-layers",{"title":727,"path":728,"stem":729,"icon":241},"Fargate","/runners/fargate","23.runners/2.fargate",{"title":731,"path":732,"stem":733,"icon":241},"EC2 Auto Scaling","/runners/ec2-auto-scaling","23.runners/3.ec2-auto-scaling",{"title":735,"path":736,"stem":737,"icon":241},"EC2 VM","/runners/ec2-vm","23.runners/4.ec2-vm",{"title":287,"path":739,"stem":740,"icon":290},"/runners/kubernetes","23.runners/5.kubernetes",{"title":742,"path":743,"stem":744,"icon":280},"Azure Container Apps","/runners/azure-container-apps","23.runners/6.azure-container-apps",{"title":746,"path":747,"stem":748,"icon":280},"Azure VMSS","/runners/azure-vmss","23.runners/7.azure-vmss",{"title":750,"path":751,"stem":752,"icon":280},"Azure VM","/runners/azure-vm","23.runners/8.azure-vm",{"title":754,"path":755,"stem":756,"icon":275},"GCE","/runners/gce","23.runners/9.gce",{"title":758,"path":759,"stem":760,"children":761,"icon":763},"Chat","/chat","24.chat/01.index",[762,764,768,773,777,782,787,791,796,800,805,810,814,819,824,828,832,836,840,845],{"title":758,"path":759,"stem":760,"icon":763},"i-lucide-messages-square",{"title":765,"path":766,"stem":767,"icon":446},"Enable and publish","/chat/enable-and-publish","24.chat/02.enable-and-publish",{"title":769,"path":770,"stem":771,"icon":772},"Theme and customization","/chat/theme-and-customization","24.chat/03.theme-and-customization","i-lucide-palette",{"title":774,"path":775,"stem":776,"icon":85},"Members and moderation","/chat/members-and-moderation","24.chat/04.members-and-moderation",{"title":778,"path":779,"stem":780,"icon":781},"Channels","/chat/channels","24.chat/05.channels","i-lucide-hash",{"title":783,"path":784,"stem":785,"icon":786},"Using the chat","/chat/using-the-chat","24.chat/06.using-the-chat","i-lucide-message-circle",{"title":788,"path":789,"stem":790,"icon":44},"Actors in chat","/chat/actors-in-chat","24.chat/07.actors-in-chat",{"title":792,"path":793,"stem":794,"icon":795},"Internal support actor","/chat/internal-support-actor","24.chat/08.internal-support-actor","i-lucide-life-buoy",{"title":797,"path":798,"stem":799,"icon":104},"API and console","/chat/api-and-console","24.chat/09.api-and-console",{"title":801,"path":802,"stem":803,"icon":804},"Limits","/chat/limits","24.chat/10.limits","i-lucide-triangle-alert",{"title":806,"path":807,"stem":808,"icon":809},"Structured chat with DGI","/chat/structured-chat","24.chat/11.structured-chat","i-lucide-layout-list",{"title":811,"path":812,"stem":813,"icon":109},"Option A: hosted chat with DGI","/chat/option-a-hosted-chat","24.chat/12.option-a-hosted-chat",{"title":815,"path":816,"stem":817,"icon":818},"Option B: embed the chat component","/chat/option-b-embed-component","24.chat/13.option-b-embed-component","i-lucide-component",{"title":820,"path":821,"stem":822,"icon":823},"Option C: custom client (wire contract)","/chat/option-c-custom-client","24.chat/14.option-c-custom-client","i-lucide-braces",{"title":825,"path":826,"stem":827,"icon":394},"Responder configuration reference","/chat/responder-reference","24.chat/15.responder-reference",{"title":829,"path":830,"stem":831,"icon":547},"Cards, live updates and proactive posts","/chat/cards-live-and-proactive","24.chat/16.cards-live-and-proactive",{"title":833,"path":834,"stem":835,"icon":16},"Structured chat security model","/chat/structured-chat-security","24.chat/17.structured-chat-security",{"title":837,"path":838,"stem":839,"icon":181},"Option D: any app or API (dgi.chat)","/chat/option-d-chat-api","24.chat/18.option-d-chat-api",{"title":841,"path":842,"stem":843,"icon":844},"Card catalog","/chat/card-catalog","24.chat/19.card-catalog","i-lucide-layout-grid",{"title":846,"path":847,"stem":848,"icon":849},"Living Surfaces","/chat/living-surfaces","24.chat/20.living-surfaces","i-lucide-sprout",{"title":851,"path":852,"stem":853,"children":854,"icon":61},"DGI","/dgi","25.dgi/1.index",[855,857,862,866,870,874],{"title":856,"path":852,"stem":853,"icon":61},"What is DGI",{"title":858,"path":859,"stem":860,"icon":861},"How DGI works","/dgi/how-it-works","25.dgi/2.how-it-works","i-lucide-cog",{"title":863,"path":864,"stem":865,"icon":844},"Interfaces","/dgi/interfaces","25.dgi/3.interfaces",{"title":867,"path":868,"stem":869,"icon":29},"Quickstart","/dgi/quickstart","25.dgi/4.quickstart",{"title":871,"path":872,"stem":873,"icon":16},"Trust and safety","/dgi/trust-and-safety","25.dgi/5.trust-and-safety",{"title":875,"path":876,"stem":877,"icon":878},"FAQ","/dgi/faq","25.dgi/6.faq","i-lucide-circle-help",{"id":880,"title":169,"body":881,"description":2721,"extension":2722,"links":2723,"meta":2724,"navigation":2725,"path":170,"seo":2726,"stem":171,"__hash__":2727},"docs/05.reference/3.mcp-integration.md",{"type":882,"value":883,"toc":2707},"minimark",[884,898,901,925,945,950,960,963,1122,1128,1243,1255,1258,1306,1310,1316,1336,1346,1350,1357,1363,1489,1513,1517,1535,1540,1587,1591,1691,1722,1726,1870,1883,1911,1915,1929,1932,2087,2105,2117,2121,2128,2197,2216,2220,2227,2623,2640,2644,2647,2681,2690,2703],[885,886,887,888,892,893,897],"p",{},"Orkestia exposes a public ",[889,890,891],"strong",{},"Model Context Protocol (MCP)"," server at ",[894,895,896],"code",{},"https://mcp.orkestia.dev/mcp",". This is the canonical AI-agent integration: any MCP-capable client — Claude, your own LLM app, an autonomous worker — connects once and gains a typed, permissioned window onto the workflow engine. The agent discovers what your organization can do, inspects the inputs a capability needs, runs it, and follows it to a terminal state — all without anyone hand-coding an integration first.",[885,899,900],{},"Two design choices make this safe to expose publicly:",[902,903,904,915],"ul",{},[905,906,907,910,911,914],"li",{},[889,908,909],{},"Org scoping is server-side."," Your bearer token resolves your ",[894,912,913],{},"organization_uuid"," on the server. Every run an agent starts is automatically scoped to your org — the agent never sends, guesses, or asks for the org ID.",[905,916,917,920,921,924],{},[889,918,919],{},"The transport is stateless."," The server is ",[889,922,923],{},"stateless streamable-HTTP",": no per-replica session state, so it survives pod restarts and HPA scale events without dropping an agent's context.",[926,927,928],"note",{},[885,929,930,931,935,936,938,939,941,942,944],{},"Everything on Orkestia is a ",[932,933,934],"a",{"href":54},"workflow",". The MCP server is simply the agent-facing projection of the same engine the UI, the REST API, and ",[932,937,851],{"href":59}," drive. An agent and a human reach identical capabilities through different doors. ",[889,940,437],{}," has a separate telemetry MCP — see ",[932,943,462],{"href":463},".",[946,947,949],"h2",{"id":948},"connecting-a-client","Connecting a client",[951,952,953],"tip",{},[885,954,955,956,959],{},"Step-by-step setup for Claude, Claude Code, Cursor, and ChatGPT, plus a prompt library and troubleshooting, lives in ",[932,957,958],{"href":42},"Connect an AI assistant",". This page is the tool-level reference.",[885,961,962],{},"Most MCP clients are configured with a small JSON block. Point one at Orkestia like this:",[964,965,970],"pre",{"className":966,"code":967,"language":968,"meta":969,"style":969},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"mcpServers\": {\n    \"orkestia\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.orkestia.dev/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${ORKESTIA_TOKEN}\"\n      }\n    }\n  }\n}\n","json","",[894,971,972,981,1000,1016,1042,1062,1076,1098,1104,1110,1116],{"__ignoreMap":969},[973,974,977],"span",{"class":975,"line":976},"line",1,[973,978,980],{"class":979},"sMK4o","{\n",[973,982,984,987,991,994,997],{"class":975,"line":983},2,[973,985,986],{"class":979},"  \"",[973,988,990],{"class":989},"spNyl","mcpServers",[973,992,993],{"class":979},"\"",[973,995,996],{"class":979},":",[973,998,999],{"class":979}," {\n",[973,1001,1003,1006,1010,1012,1014],{"class":975,"line":1002},3,[973,1004,1005],{"class":979},"    \"",[973,1007,1009],{"class":1008},"sBMFI","orkestia",[973,1011,993],{"class":979},[973,1013,996],{"class":979},[973,1015,999],{"class":979},[973,1017,1019,1022,1026,1028,1030,1033,1037,1039],{"class":975,"line":1018},4,[973,1020,1021],{"class":979},"      \"",[973,1023,1025],{"class":1024},"sbssI","type",[973,1027,993],{"class":979},[973,1029,996],{"class":979},[973,1031,1032],{"class":979}," \"",[973,1034,1036],{"class":1035},"sfazB","http",[973,1038,993],{"class":979},[973,1040,1041],{"class":979},",\n",[973,1043,1045,1047,1050,1052,1054,1056,1058,1060],{"class":975,"line":1044},5,[973,1046,1021],{"class":979},[973,1048,1049],{"class":1024},"url",[973,1051,993],{"class":979},[973,1053,996],{"class":979},[973,1055,1032],{"class":979},[973,1057,896],{"class":1035},[973,1059,993],{"class":979},[973,1061,1041],{"class":979},[973,1063,1065,1067,1070,1072,1074],{"class":975,"line":1064},6,[973,1066,1021],{"class":979},[973,1068,1069],{"class":1024},"headers",[973,1071,993],{"class":979},[973,1073,996],{"class":979},[973,1075,999],{"class":979},[973,1077,1079,1082,1086,1088,1090,1092,1095],{"class":975,"line":1078},7,[973,1080,1081],{"class":979},"        \"",[973,1083,1085],{"class":1084},"swJcz","Authorization",[973,1087,993],{"class":979},[973,1089,996],{"class":979},[973,1091,1032],{"class":979},[973,1093,1094],{"class":1035},"Bearer ${ORKESTIA_TOKEN}",[973,1096,1097],{"class":979},"\"\n",[973,1099,1101],{"class":975,"line":1100},8,[973,1102,1103],{"class":979},"      }\n",[973,1105,1107],{"class":975,"line":1106},9,[973,1108,1109],{"class":979},"    }\n",[973,1111,1113],{"class":975,"line":1112},10,[973,1114,1115],{"class":979},"  }\n",[973,1117,1119],{"class":975,"line":1118},11,[973,1120,1121],{"class":979},"}\n",[885,1123,1124,1125,996],{},"Lumen's telemetry MCP is a second server. Connect it after the org is ",[932,1126,1127],{"href":444},"enabled",[964,1129,1131],{"className":966,"code":1130,"language":968,"meta":969,"style":969},"{\n  \"mcpServers\": {\n    \"lumen\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp-lumen.orkestia.dev/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${ORKESTIA_TOKEN}\"\n      }\n    }\n  }\n}\n",[894,1132,1133,1137,1149,1162,1180,1199,1211,1227,1231,1235,1239],{"__ignoreMap":969},[973,1134,1135],{"class":975,"line":976},[973,1136,980],{"class":979},[973,1138,1139,1141,1143,1145,1147],{"class":975,"line":983},[973,1140,986],{"class":979},[973,1142,990],{"class":989},[973,1144,993],{"class":979},[973,1146,996],{"class":979},[973,1148,999],{"class":979},[973,1150,1151,1153,1156,1158,1160],{"class":975,"line":1002},[973,1152,1005],{"class":979},[973,1154,1155],{"class":1008},"lumen",[973,1157,993],{"class":979},[973,1159,996],{"class":979},[973,1161,999],{"class":979},[973,1163,1164,1166,1168,1170,1172,1174,1176,1178],{"class":975,"line":1018},[973,1165,1021],{"class":979},[973,1167,1025],{"class":1024},[973,1169,993],{"class":979},[973,1171,996],{"class":979},[973,1173,1032],{"class":979},[973,1175,1036],{"class":1035},[973,1177,993],{"class":979},[973,1179,1041],{"class":979},[973,1181,1182,1184,1186,1188,1190,1192,1195,1197],{"class":975,"line":1044},[973,1183,1021],{"class":979},[973,1185,1049],{"class":1024},[973,1187,993],{"class":979},[973,1189,996],{"class":979},[973,1191,1032],{"class":979},[973,1193,1194],{"class":1035},"https://mcp-lumen.orkestia.dev/mcp",[973,1196,993],{"class":979},[973,1198,1041],{"class":979},[973,1200,1201,1203,1205,1207,1209],{"class":975,"line":1064},[973,1202,1021],{"class":979},[973,1204,1069],{"class":1024},[973,1206,993],{"class":979},[973,1208,996],{"class":979},[973,1210,999],{"class":979},[973,1212,1213,1215,1217,1219,1221,1223,1225],{"class":975,"line":1078},[973,1214,1081],{"class":979},[973,1216,1085],{"class":1084},[973,1218,993],{"class":979},[973,1220,996],{"class":979},[973,1222,1032],{"class":979},[973,1224,1094],{"class":1035},[973,1226,1097],{"class":979},[973,1228,1229],{"class":975,"line":1100},[973,1230,1103],{"class":979},[973,1232,1233],{"class":975,"line":1106},[973,1234,1109],{"class":979},[973,1236,1237],{"class":975,"line":1112},[973,1238,1115],{"class":979},[973,1240,1241],{"class":975,"line":1118},[973,1242,1121],{"class":979},[951,1244,1245],{},[885,1246,1247,1248,1251,1252,1254],{},"Keep ",[894,1249,1250],{},"ORKESTIA_TOKEN"," in your environment, not in the config file. The token is the only thing that identifies your org to the server, so treat it like any other credential. The server also speaks OAuth (authorization-code + client-credentials), so MCP clients that support it can sign in interactively instead of pasting a token. See ",[932,1253,138],{"href":139}," for token hygiene.",[885,1256,1257],{},"Once connected, the server advertises three kinds of context to the agent:",[902,1259,1260,1266,1293],{},[905,1261,1262,1265],{},[889,1263,1264],{},"Tools"," — the verbs the agent can invoke (discover, start, watch, recover).",[905,1267,1268,1271,1272,1275,1276,1279,1280,1283,1284,1288,1289,1292],{},[889,1269,1270],{},"Resources"," — read-only ",[894,1273,1274],{},"rule://",", ",[894,1277,1278],{},"concept://",", and ",[894,1281,1282],{},"knowledge://"," documents the agent should read ",[1285,1286,1287],"em",{},"before"," acting, delivered as first-class context rather than buried in prose, plus a templated ",[894,1290,1291],{},"prerequisite://{workflow_type}/{variant}"," resource.",[905,1294,1295,1298,1299,1275,1302,1305],{},[889,1296,1297],{},"Prompts"," — usage-guide templates (",[894,1300,1301],{},"how_to_use_workflow_mcp",[894,1303,1304],{},"diagnose_workflow_run",").",[946,1307,1309],{"id":1308},"aws-azure-and-google-cloud-from-one-mcp-endpoint","AWS, Azure, and Google Cloud from one MCP endpoint",[885,1311,1312,1313,1315],{},"The Orkestia MCP server at ",[894,1314,896],{}," exposes the workflow catalog across AWS, Azure, and Google Cloud alongside the rest of the supported providers.",[902,1317,1318,1324,1330],{},[905,1319,1320,1321,944],{},"For AWS, see the ",[932,1322,1323],{"href":237},"AWS connections guide",[905,1325,1326,1327,944],{},"For Azure, see the ",[932,1328,1329],{"href":278},"Azure connection",[905,1331,1332,1333,944],{},"For Google Cloud, see the ",[932,1334,1335],{"href":273},"GCP connection",[885,1337,1338,1339,1342,1343,944],{},"Execution happens in the customer's own cloud, never in Orkestia's. For how connections are scoped and runs are reviewed, see ",[932,1340,1341],{"href":139},"Security and Compliance"," and ",[932,1344,1345],{"href":206},"Governance and Approvals",[946,1347,1349],{"id":1348},"the-discovery-sequence","The discovery sequence",[885,1351,1352,1353,1356],{},"An agent needs ",[889,1354,1355],{},"no prior knowledge"," of your platform. It follows the same loop every time, and the server's own instructions enforce the order:",[1358,1359],"dag-diagram",{":edges":1360,":nodes":1361,"direction":1362},"[{\"from\":\"whoami\",\"to\":\"discover\"},{\"from\":\"discover\",\"to\":\"schema\"},{\"from\":\"schema\",\"to\":\"prereqs\",\"label\":\"has_prerequisites: true\"},{\"from\":\"schema\",\"to\":\"start_wf\",\"label\":\"ready\"},{\"from\":\"prereqs\",\"to\":\"start_wf\"},{\"from\":\"start_wf\",\"to\":\"watch\"},{\"from\":\"watch\",\"to\":\"retry\",\"label\":\"failed\"},{\"from\":\"watch\",\"to\":\"done\",\"label\":\"done\"}]","[{\"id\":\"whoami\",\"label\":\"whoami\",\"kind\":\"start\"},{\"id\":\"discover\",\"label\":\"list_workflow_namespaces / list_workflow_types\"},{\"id\":\"schema\",\"label\":\"get_workflow_schema\"},{\"id\":\"prereqs\",\"label\":\"get_workflow_prerequisites\"},{\"id\":\"start_wf\",\"label\":\"start_workflow\",\"kind\":\"engine\"},{\"id\":\"watch\",\"label\":\"watch_workflow / get_workflow_status\",\"kind\":\"engine\"},{\"id\":\"retry\",\"label\":\"retry_workflow\"},{\"id\":\"done\",\"label\":\"terminal output\",\"kind\":\"terminal\"}]","LR",[1364,1365,1366,1382],"table",{},[1367,1368,1369],"thead",{},[1370,1371,1372,1376,1379],"tr",{},[1373,1374,1375],"th",{},"Step",[1373,1377,1378],{},"Tool",[1373,1380,1381],{},"Purpose",[1383,1384,1385,1403,1423,1436,1453,1469],"tbody",{},[1370,1386,1387,1391,1396],{},[1388,1389,1390],"td",{},"1",[1388,1392,1393],{},[894,1394,1395],{},"whoami",[1388,1397,1398,1399,1402],{},"Confirm identity and the org the session is scoped to. ",[889,1400,1401],{},"Mandatory first call"," before any workflow operation.",[1370,1404,1405,1408,1417],{},[1388,1406,1407],{},"2",[1388,1409,1410,1413,1414],{},[894,1411,1412],{},"list_workflow_namespaces"," / ",[894,1415,1416],{},"list_workflow_types",[1388,1418,1419,1420,1305],{},"See what capabilities exist (optionally filter by ",[894,1421,1422],{},"prefix",[1370,1424,1425,1428,1433],{},[1388,1426,1427],{},"3",[1388,1429,1430],{},[894,1431,1432],{},"get_workflow_schema",[1388,1434,1435],{},"Inspect the inputs a workflow requires before running it.",[1370,1437,1438,1441,1446],{},[1388,1439,1440],{},"4",[1388,1442,1443],{},[894,1444,1445],{},"get_workflow_prerequisites",[1388,1447,1448,1449,1452],{},"If the schema reports ",[894,1450,1451],{},"has_prerequisites: true",", fetch the setup guide first.",[1370,1454,1455,1458,1463],{},[1388,1456,1457],{},"5",[1388,1459,1460],{},[894,1461,1462],{},"start_workflow",[1388,1464,1465,1466,944],{},"Launch an execution with validated ",[894,1467,1468],{},"initial_data",[1370,1470,1471,1474,1482],{},[1388,1472,1473],{},"6",[1388,1475,1476,1413,1479],{},[894,1477,1478],{},"watch_workflow",[894,1480,1481],{},"get_workflow_status",[1388,1483,1484,1485,1488],{},"Follow the run to a terminal state; ",[894,1486,1487],{},"retry_workflow"," to recover a failure.",[1490,1491,1492],"warning",{},[885,1493,1494,1499,1500,1502,1503,1506,1507,1509,1510,1512],{},[889,1495,1496,1498],{},[894,1497,1395],{}," first — always."," The server resolves your ",[894,1501,913],{}," from the token. Do ",[889,1504,1505],{},"not"," pass ",[894,1508,913],{}," in ",[894,1511,1468],{}," unless a workflow schema explicitly declares it as an input (and then it must match your authenticated org). An agent should never ask a human for the org ID.",[946,1514,1516],{"id":1515},"tool-surface","Tool surface",[885,1518,1519,1520,1534],{},"The tools split cleanly into two families that mirror the mental model: ",[889,1521,1522,1523,1526,1527,1530,1531,944],{},"workflow ",[1285,1524,1525],{},"types"," are registered capabilities; workflow ",[1285,1528,1529],{},"runs"," are executions with a unique ",[894,1532,1533],{},"workflow_id"," Catalog tools explore capabilities; run tools operate on live executions.",[1536,1537,1539],"h3",{"id":1538},"identity","Identity",[1541,1542,1543],"card-group",{},[1544,1545,1547],"card",{"icon":1546,"title":1395},"i-lucide-badge-check",[885,1548,1549,1550,1275,1553,1555,1556,1559,1560,1275,1563,1275,1566,1569,1570,1573,1574,1275,1577,1275,1580,1279,1583,1586],{},"Returns your authenticated identity and the org every run is scoped to: ",[894,1551,1552],{},"user_id",[894,1554,913],{}," (canonical) plus its ",[894,1557,1558],{},"organization_id"," legacy alias, ",[894,1561,1562],{},"username",[894,1564,1565],{},"token_type",[894,1567,1568],{},"principal_type",", and a human-readable ",[894,1571,1572],{},"message",". Agent tokens additionally return ",[894,1575,1576],{},"agent_uuid",[894,1578,1579],{},"permission_mode",[894,1581,1582],{},"seat_mode",[894,1584,1585],{},"staff_actor_uuid",". The mandatory first call of any session.",[1536,1588,1590],{"id":1589},"catalog-discover-capabilities","Catalog — discover capabilities",[1364,1592,1593,1602],{},[1367,1594,1595],{},[1370,1596,1597,1599],{},[1373,1598,1378],{},[1373,1600,1601],{},"What it returns",[1383,1603,1604,1613,1632,1655,1665,1675],{},[1370,1605,1606,1610],{},[1388,1607,1608],{},[894,1609,1412],{},[1388,1611,1612],{},"The top-level capability namespaces your org is entitled to (e.g. provider/service prefixes).",[1370,1614,1615,1619],{},[1388,1616,1617],{},[894,1618,1416],{},[1388,1620,1621,1622,1275,1625,1628,1629,944],{},"Registered workflow types, optionally filtered by ",[894,1623,1624],{},"prefix=\"\u003Cnamespace>.\"",[894,1626,1627],{},"q=\"\u003Ckeyword>\"",", or ",[894,1630,1631],{},"featured=true",[1370,1633,1634,1638],{},[1388,1635,1636],{},[894,1637,1432],{},[1388,1639,1640,1641,1644,1645,1648,1649,1413,1652,944],{},"The input contract for a workflow type — its ",[894,1642,1643],{},"fields",", a ",[894,1646,1647],{},"read_only"," flag, and ",[894,1650,1651],{},"has_prerequisites",[894,1653,1654],{},"prerequisite_variants",[1370,1656,1657,1662],{},[1388,1658,1659],{},[894,1660,1661],{},"get_workflow_definition",[1388,1663,1664],{},"The full workflow definition — declared states, transitions, timeouts, outcomes, and DAG layers.",[1370,1666,1667,1672],{},[1388,1668,1669],{},[894,1670,1671],{},"get_workflow_dag",[1388,1673,1674],{},"The DAG structure (layers, steps, compensation) for a multi-step workflow type.",[1370,1676,1677,1681],{},[1388,1678,1679],{},[894,1680,1445],{},[1388,1682,1683,1684,1687,1688,944],{},"A setup guide for a type (and ",[894,1685,1686],{},"variant",") whose schema reports prerequisites — the canonical case being a missing ",[932,1689,1690],{"href":237},"connection",[926,1692,1693],{},[885,1694,1695,1698,1699,1702,1703,1275,1706,1275,1709,1275,1712,1628,1715,1718,1719,944],{},[889,1696,1697],{},"Data workflows are how an agent looks things up."," When the agent needs IDs or resource metadata, it discovers read-only ",[1285,1700,1701],{},"data workflows"," (names often contain ",[894,1704,1705],{},"load",[894,1707,1708],{},"list",[894,1710,1711],{},"fetch",[894,1713,1714],{},"get",[894,1716,1717],{},"query","), starts them like any other workflow, and reads their terminal output. There is no separate \"query API\" — reads are workflows too. See ",[932,1720,1721],{"href":165},"Workflow Types Registry",[1536,1723,1725],{"id":1724},"runs-execute-and-operate","Runs — execute and operate",[1364,1727,1728,1737],{},[1367,1729,1730],{},[1370,1731,1732,1734],{},[1373,1733,1378],{},[1373,1735,1736],{},"What it does",[1383,1738,1739,1753,1762,1771,1781,1799,1813,1822,1856],{},[1370,1740,1741,1745],{},[1388,1742,1743],{},[894,1744,1462],{},[1388,1746,1747,1748,1750,1751,944],{},"Launches an execution of a workflow type with validated ",[894,1749,1468],{},"; returns a ",[894,1752,1533],{},[1370,1754,1755,1759],{},[1388,1756,1757],{},[894,1758,1478],{},[1388,1760,1761],{},"Follows a run to a terminal state, streaming transitions.",[1370,1763,1764,1768],{},[1388,1765,1766],{},[894,1767,1481],{},[1388,1769,1770],{},"Point-in-time status of a single run.",[1370,1772,1773,1778],{},[1388,1774,1775],{},[894,1776,1777],{},"get_workflow_history",[1388,1779,1780],{},"The transition history (event-sourced) of a run.",[1370,1782,1783,1788],{},[1388,1784,1785],{},[894,1786,1787],{},"list_workflows",[1388,1789,1790,1791,1794,1795,1798],{},"Paginated list of runs of a given ",[894,1792,1793],{},"workflow_type",", filterable by ",[894,1796,1797],{},"state_name"," or terminal status.",[1370,1800,1801,1806],{},[1388,1802,1803],{},[894,1804,1805],{},"list_stuck_workflows",[1388,1807,1808,1809,1812],{},"Surfaces stalled runs that need attention — the entry point for ",[932,1810,1811],{"href":201},"self-healing"," operators.",[1370,1814,1815,1819],{},[1388,1816,1817],{},[894,1818,1487],{},[1388,1820,1821],{},"Recovers a failed run.",[1370,1823,1824,1829],{},[1388,1825,1826],{},[894,1827,1828],{},"resolve_workflow",[1388,1830,1831,1832,1835,1836,1839,1840,1843,1844,1847,1848,1851,1852,1855],{},"Resolves a run parked on the ",[889,1833,1834],{},"remediation gate",": a DAG step that failed on a ",[1285,1837,1838],{},"fixable"," precondition parks in ",[894,1841,1842],{},"remediation_pending"," instead of compensating; apply the fix the run's ",[894,1845,1846],{},"state_data.remediation"," envelope names, then resolve ",[894,1849,1850],{},"\"remediated\""," — the engine re-runs only the failed step and the run continues. Resolve ",[894,1853,1854],{},"\"denied\""," to compensate and fail.",[1370,1857,1858,1863],{},[1388,1859,1860],{},[894,1861,1862],{},"force_terminate_workflow",[1388,1864,1865,1866,1869],{},"Abandons a confirmed-stale non-terminal run by appending a failed terminal state (guarded by a ",[894,1867,1868],{},"reason"," plus age / state checks).",[951,1871,1872],{},[885,1873,1874,1876,1877,1879,1880,1882],{},[894,1875,1777],{}," returns the event-sourced transition log, so an agent (or a human auditing it) can reconstruct exactly what a run did and why it failed before deciding whether to ",[894,1878,1487],{},". This is the same audit trail ",[932,1881,437],{"href":78}," renders for observability.",[926,1884,1885],{},[885,1886,1887,1888,1891,1892,1413,1895,1413,1898,1413,1901,1904,1905,944],{},"Two more tools round out the surface: ",[894,1889,1890],{},"list_plugins"," (read-only — the engine plugins backing provider access) and, on deployments with the project catalog enabled, ",[894,1893,1894],{},"register_project",[894,1896,1897],{},"list_projects",[894,1899,1900],{},"refresh_project",[894,1902,1903],{},"validate_workflow_registry",". The authoritative, always-current tool list lives at ",[932,1906,1910],{"href":1907,"rel":1908},"https://reference.orkestia.dev",[1909],"nofollow","reference.orkestia.dev",[946,1912,1914],{"id":1913},"prerequisites-first","Prerequisites-first",[885,1916,1917,1918,1921,1922,1924,1925,1928],{},"The single most important behavioral rule: ",[889,1919,1920],{},"resolve prerequisites before starting a workflow."," Many capabilities depend on a customer-owned resource Orkestia cannot provide for you — most commonly a cloud ",[932,1923,1690],{"href":237}," granting the platform a scoped role in ",[1285,1926,1927],{},"your"," account (this is the Zero Code Custody posture: execution happens in your cloud, never ours).",[885,1930,1931],{},"The contract is explicit in the schema:",[964,1933,1935],{"className":966,"code":1934,"language":968,"meta":969,"style":969},"// get_workflow_schema(workflow_type) → (shape illustrative)\n{\n  \"workflow_type\": \"\u003Cprovider>.\u003Cservice>.\u003Coperation>\",\n  \"has_prerequisites\": true,\n  \"prerequisite_variants\": [\"aws\"],\n  \"read_only\": false,\n  \"fields\": [ { \"name\": \"...\", \"type\": \"...\", \"required\": true } ]\n}\n",[894,1936,1937,1943,1947,1966,1979,2002,2015,2083],{"__ignoreMap":969},[973,1938,1939],{"class":975,"line":976},[973,1940,1942],{"class":1941},"sHwdD","// get_workflow_schema(workflow_type) → (shape illustrative)\n",[973,1944,1945],{"class":975,"line":983},[973,1946,980],{"class":979},[973,1948,1949,1951,1953,1955,1957,1959,1962,1964],{"class":975,"line":1002},[973,1950,986],{"class":979},[973,1952,1793],{"class":989},[973,1954,993],{"class":979},[973,1956,996],{"class":979},[973,1958,1032],{"class":979},[973,1960,1961],{"class":1035},"\u003Cprovider>.\u003Cservice>.\u003Coperation>",[973,1963,993],{"class":979},[973,1965,1041],{"class":979},[973,1967,1968,1970,1972,1974,1976],{"class":975,"line":1018},[973,1969,986],{"class":979},[973,1971,1651],{"class":989},[973,1973,993],{"class":979},[973,1975,996],{"class":979},[973,1977,1978],{"class":979}," true,\n",[973,1980,1981,1983,1985,1987,1989,1992,1994,1997,1999],{"class":975,"line":1044},[973,1982,986],{"class":979},[973,1984,1654],{"class":989},[973,1986,993],{"class":979},[973,1988,996],{"class":979},[973,1990,1991],{"class":979}," [",[973,1993,993],{"class":979},[973,1995,1996],{"class":1035},"aws",[973,1998,993],{"class":979},[973,2000,2001],{"class":979},"],\n",[973,2003,2004,2006,2008,2010,2012],{"class":975,"line":1064},[973,2005,986],{"class":979},[973,2007,1647],{"class":989},[973,2009,993],{"class":979},[973,2011,996],{"class":979},[973,2013,2014],{"class":979}," false,\n",[973,2016,2017,2019,2021,2023,2025,2027,2030,2032,2035,2037,2039,2041,2044,2046,2049,2051,2053,2055,2057,2059,2061,2063,2065,2067,2070,2072,2074,2077,2080],{"class":975,"line":1078},[973,2018,986],{"class":979},[973,2020,1643],{"class":989},[973,2022,993],{"class":979},[973,2024,996],{"class":979},[973,2026,1991],{"class":979},[973,2028,2029],{"class":979}," {",[973,2031,1032],{"class":979},[973,2033,2034],{"class":1008},"name",[973,2036,993],{"class":979},[973,2038,996],{"class":979},[973,2040,1032],{"class":979},[973,2042,2043],{"class":1035},"...",[973,2045,993],{"class":979},[973,2047,2048],{"class":979},",",[973,2050,1032],{"class":979},[973,2052,1025],{"class":1008},[973,2054,993],{"class":979},[973,2056,996],{"class":979},[973,2058,1032],{"class":979},[973,2060,2043],{"class":1035},[973,2062,993],{"class":979},[973,2064,2048],{"class":979},[973,2066,1032],{"class":979},[973,2068,2069],{"class":1008},"required",[973,2071,993],{"class":979},[973,2073,996],{"class":979},[973,2075,2076],{"class":979}," true",[973,2078,2079],{"class":979}," }",[973,2081,2082],{"class":979}," ]\n",[973,2084,2085],{"class":975,"line":1100},[973,2086,1121],{"class":979},[885,2088,2089,2090,2092,2093,2096,2097,2099,2100,2099,2102,2104],{},"When ",[894,2091,1651],{}," is ",[894,2094,2095],{},"true",", the agent calls ",[894,2098,1445],{}," ",[889,2101,1287],{},[894,2103,1462],{},". The returned guide arrives with platform identity already filled in — for example, Orkestia's AWS principal — so the human can complete a one-time setup (creating a role, granting access) without leaving the conversation.",[1490,2106,2107],{},[885,2108,2109,2110,2113,2114,2116],{},"Skipping the prerequisites step is the most common cause of an avoidable failed run. If an agent starts a workflow whose connection is missing, the run fails at the first action that needs it. Read ",[894,2111,2112],{},"rule://prerequisites-first"," and honor the ",[894,2115,1651],{}," flag.",[946,2118,2120],{"id":2119},"rule-resources","Rule resources",[885,2122,2123,2124,2127],{},"Beyond tools, the server publishes ",[889,2125,2126],{},"rule resources"," — guardrails and setup guides delivered as first-class MCP context. A well-behaved agent reads the relevant rule before acting.",[1364,2129,2130,2140],{},[1367,2131,2132],{},[1370,2133,2134,2137],{},[1373,2135,2136],{},"Resource",[1373,2138,2139],{},"What it covers",[1383,2141,2142,2155,2168,2177,2187],{},[1370,2143,2144,2149],{},[1388,2145,2146],{},[894,2147,2148],{},"rule://getting-started",[1388,2150,2151,2152,2154],{},"The full discovery pattern: mandatory ",[894,2153,1395],{}," first, then list → schema → start → watch.",[1370,2156,2157,2162],{},[1388,2158,2159],{},[894,2160,2161],{},"rule://authenticated-context",[1388,2163,2164,2165,2167],{},"Always call ",[894,2166,1395],{}," first; the org is resolved server-side and must not be passed unless a schema declares it.",[1370,2169,2170,2174],{},[1388,2171,2172],{},[894,2173,2112],{},[1388,2175,2176],{},"Always resolve prerequisites before starting a workflow.",[1370,2178,2179,2184],{},[1388,2180,2181],{},[894,2182,2183],{},"rule://orkestia-auth-setup",[1388,2185,2186],{},"A one-call recipe for wiring \"Sign in with Orkestia\" into an app — provisioning an identity tenant + OIDC client and exposing end-user-scoped workflows.",[1370,2188,2189,2194],{},[1388,2190,2191],{},[894,2192,2193],{},"rule://grounding",[1388,2195,2196],{},"Describe Orkestia only from what tool results actually show — never infer architecture, pricing, or maturity.",[885,2198,2199,2200,1342,2202,2204,2205,2207,2208,1275,2210,2212,2213,944],{},"The server also exposes ",[894,2201,1278],{},[894,2203,1282],{}," orientation resources, the templated ",[894,2206,1291],{}," resource, and two prompt templates (",[894,2209,1301],{},[894,2211,1304],{},"). The full, current set lives at ",[932,2214,1910],{"href":1907,"rel":2215},[1909],[946,2217,2219],{"id":2218},"worked-example","Worked example",[885,2221,2222,2223,2226],{},"A typical agent turn — ",[1285,2224,2225],{},"\"run the thing that provisions a static site for this repo\""," — expands into the loop below. Tool names are exact; payloads are illustrative because the per-workflow contract is owned by the live catalog.",[964,2228,2232],{"className":2229,"code":2230,"language":2231,"meta":969,"style":969},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","// 1. Confirm who we are and which org we're scoped to.\nawait whoami()\n\n// 2. Discover candidate capabilities (filter by namespace if known).\nawait list_workflow_types({ prefix: \"aws.\" })\n\n// 3. Inspect the input contract for the chosen type.\nconst schema = await get_workflow_schema({\n  workflow_type: \"\u003Cprovider>.\u003Cservice>.\u003Coperation>\",\n})\n\n// 4. If the schema declares prerequisites, resolve them first.\nif (schema.has_prerequisites) {\n  await get_workflow_prerequisites({\n    workflow_type: \"\u003Cprovider>.\u003Cservice>.\u003Coperation>\",\n    variant: \"default\",\n  })\n  // → surface the setup guide to the human; wait until the connection exists.\n}\n\n// 5. Start the run with validated initial_data (no organization_uuid).\nconst { workflow_id } = await start_workflow({\n  workflow_type: \"\u003Cprovider>.\u003Cservice>.\u003Coperation>\",\n  initial_data: { /* fields per schema */ },\n})\n\n// 6. Watch to a terminal state; recover on failure.\nconst result = await watch_workflow({ workflow_id })\nif (result.status === \"FAILED\") {\n  await get_workflow_history({ workflow_id }) // diagnose\n  await retry_workflow({ workflow_id })       // recover\n}\n","ts",[894,2233,2234,2239,2253,2259,2264,2294,2298,2303,2324,2339,2346,2350,2356,2372,2385,2401,2418,2426,2432,2437,2442,2448,2472,2487,2503,2510,2515,2521,2546,2574,2596,2618],{"__ignoreMap":969},[973,2235,2236],{"class":975,"line":976},[973,2237,2238],{"class":1941},"// 1. Confirm who we are and which org we're scoped to.\n",[973,2240,2241,2245,2249],{"class":975,"line":983},[973,2242,2244],{"class":2243},"s7zQu","await",[973,2246,2248],{"class":2247},"s2Zo4"," whoami",[973,2250,2252],{"class":2251},"sTEyZ","()\n",[973,2254,2255],{"class":975,"line":1002},[973,2256,2258],{"emptyLinePlaceholder":2257},true,"\n",[973,2260,2261],{"class":975,"line":1018},[973,2262,2263],{"class":1941},"// 2. Discover candidate capabilities (filter by namespace if known).\n",[973,2265,2266,2268,2271,2274,2277,2280,2282,2284,2287,2289,2291],{"class":975,"line":1044},[973,2267,2244],{"class":2243},[973,2269,2270],{"class":2247}," list_workflow_types",[973,2272,2273],{"class":2251},"(",[973,2275,2276],{"class":979},"{",[973,2278,2279],{"class":1084}," prefix",[973,2281,996],{"class":979},[973,2283,1032],{"class":979},[973,2285,2286],{"class":1035},"aws.",[973,2288,993],{"class":979},[973,2290,2079],{"class":979},[973,2292,2293],{"class":2251},")\n",[973,2295,2296],{"class":975,"line":1064},[973,2297,2258],{"emptyLinePlaceholder":2257},[973,2299,2300],{"class":975,"line":1078},[973,2301,2302],{"class":1941},"// 3. Inspect the input contract for the chosen type.\n",[973,2304,2305,2308,2311,2314,2317,2320,2322],{"class":975,"line":1100},[973,2306,2307],{"class":989},"const",[973,2309,2310],{"class":2251}," schema ",[973,2312,2313],{"class":979},"=",[973,2315,2316],{"class":2243}," await",[973,2318,2319],{"class":2247}," get_workflow_schema",[973,2321,2273],{"class":2251},[973,2323,980],{"class":979},[973,2325,2326,2329,2331,2333,2335,2337],{"class":975,"line":1106},[973,2327,2328],{"class":1084},"  workflow_type",[973,2330,996],{"class":979},[973,2332,1032],{"class":979},[973,2334,1961],{"class":1035},[973,2336,993],{"class":979},[973,2338,1041],{"class":979},[973,2340,2341,2344],{"class":975,"line":1112},[973,2342,2343],{"class":979},"}",[973,2345,2293],{"class":2251},[973,2347,2348],{"class":975,"line":1118},[973,2349,2258],{"emptyLinePlaceholder":2257},[973,2351,2353],{"class":975,"line":2352},12,[973,2354,2355],{"class":1941},"// 4. If the schema declares prerequisites, resolve them first.\n",[973,2357,2359,2362,2365,2367,2370],{"class":975,"line":2358},13,[973,2360,2361],{"class":2243},"if",[973,2363,2364],{"class":2251}," (schema",[973,2366,944],{"class":979},[973,2368,2369],{"class":2251},"has_prerequisites) ",[973,2371,980],{"class":979},[973,2373,2375,2378,2381,2383],{"class":975,"line":2374},14,[973,2376,2377],{"class":2243},"  await",[973,2379,2380],{"class":2247}," get_workflow_prerequisites",[973,2382,2273],{"class":1084},[973,2384,980],{"class":979},[973,2386,2388,2391,2393,2395,2397,2399],{"class":975,"line":2387},15,[973,2389,2390],{"class":1084},"    workflow_type",[973,2392,996],{"class":979},[973,2394,1032],{"class":979},[973,2396,1961],{"class":1035},[973,2398,993],{"class":979},[973,2400,1041],{"class":979},[973,2402,2404,2407,2409,2411,2414,2416],{"class":975,"line":2403},16,[973,2405,2406],{"class":1084},"    variant",[973,2408,996],{"class":979},[973,2410,1032],{"class":979},[973,2412,2413],{"class":1035},"default",[973,2415,993],{"class":979},[973,2417,1041],{"class":979},[973,2419,2421,2424],{"class":975,"line":2420},17,[973,2422,2423],{"class":979},"  }",[973,2425,2293],{"class":1084},[973,2427,2429],{"class":975,"line":2428},18,[973,2430,2431],{"class":1941},"  // → surface the setup guide to the human; wait until the connection exists.\n",[973,2433,2435],{"class":975,"line":2434},19,[973,2436,1121],{"class":979},[973,2438,2440],{"class":975,"line":2439},20,[973,2441,2258],{"emptyLinePlaceholder":2257},[973,2443,2445],{"class":975,"line":2444},21,[973,2446,2447],{"class":1941},"// 5. Start the run with validated initial_data (no organization_uuid).\n",[973,2449,2451,2453,2455,2458,2460,2463,2465,2468,2470],{"class":975,"line":2450},22,[973,2452,2307],{"class":989},[973,2454,2029],{"class":979},[973,2456,2457],{"class":2251}," workflow_id ",[973,2459,2343],{"class":979},[973,2461,2462],{"class":979}," =",[973,2464,2316],{"class":2243},[973,2466,2467],{"class":2247}," start_workflow",[973,2469,2273],{"class":2251},[973,2471,980],{"class":979},[973,2473,2475,2477,2479,2481,2483,2485],{"class":975,"line":2474},23,[973,2476,2328],{"class":1084},[973,2478,996],{"class":979},[973,2480,1032],{"class":979},[973,2482,1961],{"class":1035},[973,2484,993],{"class":979},[973,2486,1041],{"class":979},[973,2488,2490,2493,2495,2497,2500],{"class":975,"line":2489},24,[973,2491,2492],{"class":1084},"  initial_data",[973,2494,996],{"class":979},[973,2496,2029],{"class":979},[973,2498,2499],{"class":1941}," /* fields per schema */",[973,2501,2502],{"class":979}," },\n",[973,2504,2506,2508],{"class":975,"line":2505},25,[973,2507,2343],{"class":979},[973,2509,2293],{"class":2251},[973,2511,2513],{"class":975,"line":2512},26,[973,2514,2258],{"emptyLinePlaceholder":2257},[973,2516,2518],{"class":975,"line":2517},27,[973,2519,2520],{"class":1941},"// 6. Watch to a terminal state; recover on failure.\n",[973,2522,2524,2526,2529,2531,2533,2536,2538,2540,2542,2544],{"class":975,"line":2523},28,[973,2525,2307],{"class":989},[973,2527,2528],{"class":2251}," result ",[973,2530,2313],{"class":979},[973,2532,2316],{"class":2243},[973,2534,2535],{"class":2247}," watch_workflow",[973,2537,2273],{"class":2251},[973,2539,2276],{"class":979},[973,2541,2457],{"class":2251},[973,2543,2343],{"class":979},[973,2545,2293],{"class":2251},[973,2547,2549,2551,2554,2556,2559,2562,2564,2567,2569,2572],{"class":975,"line":2548},29,[973,2550,2361],{"class":2243},[973,2552,2553],{"class":2251}," (result",[973,2555,944],{"class":979},[973,2557,2558],{"class":2251},"status ",[973,2560,2561],{"class":979},"===",[973,2563,1032],{"class":979},[973,2565,2566],{"class":1035},"FAILED",[973,2568,993],{"class":979},[973,2570,2571],{"class":2251},") ",[973,2573,980],{"class":979},[973,2575,2577,2579,2582,2584,2586,2589,2591,2593],{"class":975,"line":2576},30,[973,2578,2377],{"class":2243},[973,2580,2581],{"class":2247}," get_workflow_history",[973,2583,2273],{"class":1084},[973,2585,2276],{"class":979},[973,2587,2588],{"class":2251}," workflow_id",[973,2590,2079],{"class":979},[973,2592,2571],{"class":1084},[973,2594,2595],{"class":1941},"// diagnose\n",[973,2597,2599,2601,2604,2606,2608,2610,2612,2615],{"class":975,"line":2598},31,[973,2600,2377],{"class":2243},[973,2602,2603],{"class":2247}," retry_workflow",[973,2605,2273],{"class":1084},[973,2607,2276],{"class":979},[973,2609,2588],{"class":2251},[973,2611,2079],{"class":979},[973,2613,2614],{"class":1084},")       ",[973,2616,2617],{"class":1941},"// recover\n",[973,2619,2621],{"class":975,"line":2620},32,[973,2622,1121],{"class":979},[1490,2624,2625],{},[885,2626,2627,2630,2631,2633,2634,2636,2637,944],{},[889,2628,2629],{},"Beta."," Exact workflow type names, input fields, prerequisite variants, and the full tool list change between releases. Treat the names above as placeholders and always drive off the live catalog (",[894,2632,1416],{}," + ",[894,2635,1432],{},") rather than hard-coding. The authoritative, per-workflow contract lives at ",[932,2638,1910],{"href":1907,"rel":2639},[1909],[946,2641,2643],{"id":2642},"how-this-connects-to-the-rest-of-orkestia","How this connects to the rest of Orkestia",[885,2645,2646],{},"The MCP server is one of three AI surfaces, and all three resolve to the same workflow primitive:",[1541,2648,2649,2655,2661,2666,2672],{},[1544,2650,2652],{"icon":2651,"title":851,"to":59},"i-lucide-message-square",[885,2653,2654],{},"Turns a plain-language message into a workflow DAG — producing the same workflows the MCP server discovers.",[1544,2656,2658],{"icon":16,"title":2657,"to":64},"Staff governance",[885,2659,2660],{},"Governs fleets of agents driving the MCP surface — structure, approvals, and oversight.",[1544,2662,2663],{"icon":56,"title":53,"to":54},[885,2664,2665],{},"The core primitive every tool here operates on.",[1544,2667,2669],{"icon":85,"title":2668,"to":83},"Identity & multi-tenancy",[885,2670,2671],{},"How tokens resolve to an org and scope every run.",[1544,2673,2674],{"icon":80,"title":462,"to":463},[885,2675,2676,2677,2680],{},"Connect ",[894,2678,2679],{},"mcp-lumen.orkestia.dev"," for logs, groups, traces, and triage tools.",[2682,2683,2684],"callout",{"icon":51,"to":1907},[885,2685,2686,2689],{},[889,2687,2688],{},"Full tool & resource reference"," — the canonical, always-current list of MCP tools, rule resources, and per-workflow input schemas lives in the external catalog at reference.orkestia.dev.",[885,2691,2692,2693,2696,2697,2700,2701,944],{},"For broader context, see ",[932,2694,2695],{"href":47},"Concepts",", the ",[932,2698,2699],{"href":117},"MCP-driven guides",", and the ",[932,2702,1721],{"href":165},[2704,2705,2706],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":969,"searchDepth":976,"depth":983,"links":2708},[2709,2710,2711,2712,2717,2718,2719,2720],{"id":948,"depth":983,"text":949},{"id":1308,"depth":983,"text":1309},{"id":1348,"depth":983,"text":1349},{"id":1515,"depth":983,"text":1516,"children":2713},[2714,2715,2716],{"id":1538,"depth":1002,"text":1539},{"id":1589,"depth":1002,"text":1590},{"id":1724,"depth":1002,"text":1725},{"id":1913,"depth":983,"text":1914},{"id":2119,"depth":983,"text":2120},{"id":2218,"depth":983,"text":2219},{"id":2642,"depth":983,"text":2643},"The canonical way for any AI agent to discover, run, watch, and recover Orkestia workflows over the Model Context Protocol","md",null,{},{"icon":172},{"title":169,"description":2721},"cdxmCHAil5jA9GtqDfIuovM10k-K7lVMVuLQe-4Aw2I",[2729,2731],{"title":164,"path":165,"stem":166,"description":2730,"icon":167,"children":-1},"How the Orkestia workflow registry is structured — namespaces, dotted naming, typed schemas, prerequisites, and the discovery loop that lets humans, SDKs, and AI agents browse capabilities",{"title":174,"path":175,"stem":176,"description":2732,"icon":104,"children":-1},"The programmatic surfaces for driving Orkestia workflows — the REST API, the typed Node/TS SDK, and the two-token auth model",1790354035157]