MCP server

Dusk State tools over the Model Context Protocol, in the browser (WebMCP), and the tools directory.

Published when the server is live. Until then /api/v1/tools answers 404 and mcp is not in /capabilities.json; check there first.

Connect

Endpointhttps://mcp.duskstate.dev/mcp
TransportStreamable HTTP, stateless (JSON responses)
AuthenticationWorkOS agent access token, as for the waiting list
Resource metadatahttps://mcp.duskstate.dev/.well-known/oauth-protected-resource/mcp (RFC 9728)

Without a token the server answers 401 with a WWW-Authenticate header pointing to the resource metadata, which names the authorisation server. An anonymous registration is enough for every read tool.

In the browser (WebMCP)

duskstate.dev runs Cloudflare's WebMCP bridge, which registers tools with the browser's document.modelContext for an agent using the page. It calls https://duskstate.dev/mcp, a read-only endpoint on the same server: no token, read tools only. The write tools are not offered there.

Tools

ToolDoesNeeds
get_capabilitiesWhat works nowToken
list_productsPublished products, optional categoryToken
get_recordA labelled public record by idToken
list_policies, get_policyPolicies and their textToken
list_docs, get_docThese pages, by pathToken
list_resourcesResources, when publishedToken
get_roadmapPlanned work with state labelsToken
join_agent_waitlistThe agent waiting listwaitlist:write
answer_agent_surveyThe agent surveysurvey:write

Read tools are marked readOnlyHint. Each tool calls one public API endpoint, so results, limits and errors match the API; an API error comes back as a tool error with its status. Write tools pass your token to the API, which enforces consent and one submission per registration.

Directory

GET /api/v1/tools lists the same tools with their JSON Schema inputs, annotations, scope and the API call each makes (tool-record). The directory and the server are built from one definition, so the directory lists only tools the server runs.

Not available: spending, payments, keys or any write beyond the two above.