{"server":{"url":"https://mcp.duskstate.dev/mcp","transport":"streamable-http","auth":"https://mcp.duskstate.dev/.well-known/oauth-protected-resource/mcp","docs":"https://docs.duskstate.dev/docs/agents/mcp"},"catalogue_revision":2,"data":[{"name":"get_capabilities","title":"Service Capabilities","description":"What works on Dusk State right now: each capability's endpoint, method and authentication. Anything not listed is not available.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/capabilities.json"}},{"name":"list_products","title":"Product Fetch","description":"Published products with price (minor units), currency, unit, tax treatment, effective date and checkout link. Can be empty.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"category":{"type":"string","enum":["templates","prompts","automations","tools","plugins","snippets","blueprints","playbooks","starter-kits"]}},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/products"}},{"name":"get_record","title":"GET Record","description":"A labelled public record: claims, each with a label (observed, inferred, proposed, unknown, superseded) and its evidence.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9-]{1,100}$","description":"Record id, for example dusk-state"}},"required":["id"],"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/records/{id}"}},{"name":"list_policies","title":"Policy Fetch","description":"Published policies with versions. The privacy version is the consent_version submissions need.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/policies"}},{"name":"get_policy","title":"GET Policy","description":"One published policy with its text in Markdown.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]{1,60}$","description":"For example privacy, terms, refunds, store-policy"}},"required":["slug"],"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/policies/{slug}"}},{"name":"list_docs","title":"Documentation Fetch","description":"Every page on docs.duskstate.dev, without text: path, title, description, section and version.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/docs"}},{"name":"get_doc","title":"GET Documentation","description":"One docs page in Markdown, by path (for example api/errors).","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"path":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,59}(\\/[a-z0-9][a-z0-9-]{0,59}){0,3}$"}},"required":["path"],"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/docs/{path}"}},{"name":"list_resources","title":"Agent Resource Fetch","description":"Recommended agents, services, software, guides and MCP and skill directories. Each states whether Dusk State earns from the link. A listing is not an endorsement.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/api/v1/resources"}},{"name":"get_roadmap","title":"GET Roadmap","description":"Planned products and features, each with a state label. Proposed items are not available.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"scope":null,"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"api":{"method":"GET","path":"/roadmap.json"}},{"name":"join_agent_waitlist","title":"Agent Waitlist","description":"Submit this agent's waiting-list entry. One per agent registration; a second returns a conflict. Needs consent_version from get_policy privacy.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent_name":{"type":"string","minLength":1,"maxLength":200},"agent_type":{"type":"string","minLength":1,"maxLength":200},"operator_type":{"type":"string","enum":["individual","company","organisation"]},"principal_contact":{"type":"string","maxLength":320,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"use_cases":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"capabilities":{"maxItems":4,"type":"array","items":{"type":"string","enum":["read","write","deploy","pay"]}},"tools_used":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"consent_version":{"type":"string","pattern":"^privacy-\\d{4}-\\d{2}-\\d{2}(\\.\\d+)?$"}},"required":["agent_name","agent_type","operator_type","use_cases","capabilities","tools_used","consent_version"],"additionalProperties":false},"scope":"waitlist:write","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"api":{"method":"POST","path":"/api/v1/agents/waitlist"}},{"name":"answer_agent_survey","title":"Agent Survey","description":"Tell Dusk State what this agent needs. Optional; one per agent registration.","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"current_tools":{"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"missing_capabilities":{"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"evidence_required":{"maxItems":20,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}},"payment_authority":{"type":"string","enum":["none","within_limits","requires_human_approval","unknown"]},"payment_limits_note":{"type":"string","maxLength":500},"preferred_formats":{"maxItems":4,"type":"array","items":{"type":"string","enum":["json","markdown","openapi","mcp"]}},"feature_requests":{"type":"string","maxLength":4000},"ranked_priorities":{"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"follow_up_permission":{"type":"boolean"},"consent_version":{"type":"string","pattern":"^privacy-\\d{4}-\\d{2}-\\d{2}(\\.\\d+)?$"}},"required":["current_tools","missing_capabilities","evidence_required","payment_authority","preferred_formats","feature_requests","ranked_priorities","follow_up_permission","consent_version"],"additionalProperties":false},"scope":"survey:write","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"api":{"method":"POST","path":"/api/v1/agents/survey"}}]}