- AI-assistent: people sign in with their Consile login, exactly as on a connector endpoint (Authentication).
- AI-bot: one bot calls the endpoint with a key instead of a login. See AI bot keys below and AI-bots.
The endpoint
https://mcp.consile.ai/studio/s_0123456789abcdef/mcp. The portal shows
it under Connectorens URL on the own connector’s page in Studio. Renaming the own
connector does not change the URL. Deleting it stops the endpoint from serving tools
immediately.
Any other method returns
405 with Allow: GET, POST. Headers, statelessness, the
Origin rule and the request size limit are the same as on connector endpoints
(Protocol notes). Without a valid
token or key, the endpoint answers 401 with a WWW-Authenticate header that points
to its metadata document.
The id in the URL is not a secret, and it never decides which organization you
reach. Your organization comes from your access token or bot key. A URL that does
not belong to your organization answers like an own connector that is not
available to you: no tools, and
initialize instructions that say so.What the endpoint serves
initializereportsserverInfo.name"Consile Studio".tools/listreturns only the tools in the own connector’s selection, at most 50. Each tool keeps its real name with the endpoint id of the portal it comes from, for exampleeconomic__create_draft_invoice,economic-2__list_customersorcvr__soeg_virksomhed. Schemas and annotations are the same as on the connector endpoint, so the API reference applies unchanged.- There is no
connect_accounttool. Portals are connected in the portal under Connectors. - A tool outside the selection returns a tool result with
isError: trueand the textUnknown tool., even when your organization has the tool elsewhere. The same applies toconnect_account. - Every platform check still runs on every call, as on the connector endpoint: access to the connector (subscription or plan), the plan’s monthly call limit, the seat or plan licence, the organization’s tool switches, the user’s access level, the company lock and approvals. A colleague whose access level leaves out a tool does not see it. A colleague without a seat on one of the systems still sees its tools, but every call to them is refused, as on the connector endpoint.
- An own connector only uses portals that belong to its customer, plus tools with
public data such as CVR. This is checked again on every request: if a portal is
moved to another customer, its tools drop out of the next
tools/list, and they come back if the portal is moved back. - The server sends no
notifications/tools/list_changed. Calltools/listagain to see a changed selection.
Who gets tools
“No tools” means that
tools/list returns an empty list, every tools/call returns
Unknown tool., and the initialize result carries one of the
unavailable texts.
The initialize instructions
When the own connector is available, theinitialize result carries instructions
in this form:
<name>is the own connector’s name and<customer>is the customer’s name. For an own connector made for the organization itself, the text readsmade in Consile Studio for the signed-in organisation.- When the own connector has no tool it can serve right now, for example because
the selection is empty, the portals sentence is replaced by
It exposes no tools in this session. - The optional instructions written in the portal (Instruktioner til AI-assistenten, or Instruktioner til boten for a bot, at most 2,000 characters) come first, followed by a blank line and the text above.
When the own connector is not available
An own connector is deactivated with Deaktivér in the portal, and automatically
when its owner is removed from the team.
Errors on a Studio endpoint
Refusals come back as a tool result withisError: true, as on the connector
endpoints. Most texts are the same. These differ, because a Studio endpoint offers
no connect link and sells nothing:
<id> is the portal’s endpoint id (for example economic-2) and <connector> the
connector it belongs to (economic). The seat, tool-access, company-lock and
approval texts are the same as on the connector endpoints; see
Errors & limits. A bot gets its own texts for the
monthly limit and approvals; see Texts a bot gets.
Requests are rate limited per own connector, and all of an organization’s Studio
endpoints also share one budget. Over the limit you get HTTP 429 with
Retry-After: 1 and the JSON-RPC error -32029, as described in
Rate limits. Calls on a Studio endpoint
count as usage under the portal’s id, like calls on the connector endpoint. A call
answered with Unknown tool. is not counted.
AI bot keys
An AI-bot connector is called with a key, not with OAuth. Only administrators create bots. The key is made when an administrator takes the bot live with Gå live, and it is shown once (Nøglen vises kun nu). It cannot be shown again; if it is lost, an administrator makes a new one.- Format:
csl_bot_followed by 40 letters and digits. - Send it on every request as
Authorization: Bearer csl_bot_…. The key is read only from that header. A key in the URL, a query parameter or the body is not accepted, and the request gets401. - The key works only on its own bot’s Studio endpoint. Sent to a connector endpoint
such as
/economic/mcp, to an extra portal’s endpoint or to the Concierge/mcp, it gets401. Sent to another Studio endpoint, it gets no tools. - A key expires 180 days after it was made, and then gets
401. In the last 14 days, administrators see Nøglen udløber om … dage on the bot. - Lav ny nøgle makes a new key and stops the old one immediately.
Spær nøglen stops the key: every request with it gets
401, and the bot works again only with a new key. - Sæt på pause keeps the key valid, but the endpoint serves no tools and the
initializeinstructions say that the connector is paused (see the table above). Genoptag starts the bot again. - The RFC 9728 metadata on a bot endpoint points to the OAuth authorization server, which is for people. A bot key is never issued through OAuth, only in the portal.
Call limits
Each bot has a limit per minute and a limit per day. Both start at the maximum, 30 calls per minute and 1,000 calls per day, and an administrator can lower them but not raise them. The day follows UTC. Everytools/call counts, including a call to
a tool outside the selection. Over a limit, the result is:
per day instead of per minute for the daily limit. The endpoint’s ordinary
rate limit applies as well.
Texts a bot gets
A bot’s counterpart is usually outside the organization, so a bot gets neutral texts without figures, request ids or portal routes in two cases:
A bot’s calls wait for approval like a person’s. If an administrator approves the
call while it waits, it runs and returns its normal result. The bot’s page in Studio
keeps a log of its calls for 30 days: time, tool, result and source address, never
data from the customer’s system.