Resources (agent server)
The agent server exposes two MCP resources. List them with resources/list; read one with resources/read and its uri. Both return application/json. They describe the product, not your data — an agent reads them first so it knows the shape of what it is about to work with.
{ "jsonrpc": "2.0", "id": 1, "method": "resources/read",
"params": { "uri": "forumulate://openapi" } }The response is the usual MCP shape:
{ "contents": [ { "uri": "forumulate://openapi",
"mimeType": "application/json", "text": "…" } ] }forumulate://openapi
The entire REST API as an OpenAPI 3 document (served internally from /docs-json). This is what makes the call_api tool usable rather than a guessing game: instead of being told about a route, an agent looks it up. Read this whenever you need something the dedicated tools do not cover — members, categories, roadmap lanes, status incidents, theme, settings, webhooks, billing, and so on — then issue it through call_api.
forumulate://space-types
What a space can be (served internally from /space-types). Every space type the product offers, and for each: what it is for, what one piece of it is called, what backs it, and the named sections and parameters it declares. Read this before create_space to choose a type, and to understand the vocabulary a given type uses (a "piece" is a page, a post, a release, an incident, … depending on the space).
Why read them first
The two resources are the map. space-types tells an agent what kinds of thing exist and how each reads; openapi tells it every route it can drive. Together with the call_api escape hatch, they mean the agent surface is the whole product, not just the dozen dedicated tools — and the agent can discover it rather than being hardcoded against it.
The public docs server does not expose resources. It offers a
get_page_shapetool instead (see the public-server page).