Skip to main content
The Consile Concierge is the connector served on the aggregate endpoint https://mcp.consile.ai/mcp. It exposes no connector tools, only seven management tools: the six Concierge tools below plus connect_account. Connector tools live on each connector’s own /<id>/mcp endpoint.
Tenancy is always the organization in the access token, never client input. Any signed-in Consile account can use the Concierge, with or without a subscription. request_connector and contact_support store a message for the Consile team; the other five are read-only and return data or a link. No credential is ever read or returned.

Protocol notes

  • initialize reports serverInfo.name "Consile" and returns no instructions.
  • Tool names are not namespaced: list_my_mcps, not <id>__list_my_mcps.
  • Calling any other tool name on /mcp (e.g. gsc__top_queries) returns a tool result with isError: true and the text Unknown tool., not a JSON-RPC error.
  • Each result is returned as pretty-printed JSON in content[0].text and as the same object in structuredContent. No outputSchema is declared.
  • Input problems on request_connector and contact_support return { "ok": false, "message": "…" } as a normal result, so the model can correct itself.
  • The Concierge tools are not gated by seats or subscriptions. Only connect_account requires the organization to own the connector, and only the connector tools on /<id>/mcp require a seat.
  • Concierge calls are not metered and do not count toward usage.
  • /mcp has its own per-organization rate-limit budget, separate from each connector endpoint’s. Over the limit you get HTTP 429 with Retry-After: 1 and JSON-RPC error code -32029. Current limits are in Errors & limits.
  • RFC 9728 metadata for this endpoint: GET /.well-known/oauth-protected-resource/mcp.

Tool annotations

destructiveHint: true on the two message tools means the action cannot be undone (a sent message cannot be retracted). Nothing is deleted.

list_my_mcps

The connectors the organization has purchased, each with its own URL. The list is not filtered by the caller’s seats. Arguments: none.
number
Number of owned MCPs.
array
Each item: id (e.g. economic, or economic-2 for an additional portal), name (an additional portal is named e-conomic #2; when the connected account’s name is known it is appended, e.g. e-conomic #2 — <account name>), mcpUrl (https://mcp.consile.ai/<id>/mcp), connected (boolean), addToClaude (claude mcp add --transport http consile-<id> <mcpUrl>), multiInstance (boolean: an administrator can add an extra portal, another account of the same system, at 50 % of the connector’s monthly price; false for CVR and HubSpot Marketing Email).
string
Guidance for the model. With no MCPs it points to list_available_connectors. Otherwise it explains that each URL is added as its own connector, that an extra portal of a multiInstance connector costs 50 % in the portal, and that team members must be assigned to a connector by an administrator under Team in the portal (the first assigned user is included, each additional user costs 50 % of the connector’s monthly price).
A member without a seat still sees the connector here, but calls to its tools on /<id>/mcp are refused. See Team. Shopify reports multiInstance: true, but a second store cannot be added in the portal today; write to support@consile.dk for an extra store.

list_available_connectors

Every connector Consile currently offers, whether the organization owns it, and a buy link. Arguments: none.
array
Each item: id, name, purchasable, owned, buyUrl (https://app.consile.ai/connectors/<id>, or null when not purchasable), multiInstance. Only base connectors are listed, not additional portals.
string
https://app.consile.ai/marketplace
string
Buy in the portal, then use list_my_mcps; use request_connector for anything missing.
The purchase itself happens in the portal and requires an administrator of the organization.

subscription_status

The organization’s active MCPs. Arguments: none.
array
Each item: id, name, connected.
number
Number of active MCPs.
string
https://app.consile.ai/billing
string
Short guidance for the model.
Prices, invoices, renewal dates, seats and usage are not returned; they are on the portal’s billing page.

manage_subscription

Returns manageUrl (https://app.consile.ai/billing) and instructions. Arguments: none. The tool changes nothing; changes are made in the portal, and only administrators can cancel. Cancellations take effect at the end of the paid period, and the connector keeps working until then.

connect_account

Get a personal link that starts connecting the upstream account of a connector the organization has purchased. Opening it leads to the provider’s consent page (OAuth and app-approval connectors) or to the portal’s connect form (API-key connectors). The link expires after 10 minutes. The tool itself stores nothing and makes no upstream call.
string
required
Connector id, e.g. gsc or economic, or an additional portal such as economic-2 (use the id from list_my_mcps).
Returns connect_url, the link to open in a browser, and instructions.
  • Without connector, the result has isError: true and the text Provide a "connector" id (e.g. "gsc").
  • If the organization has not purchased the connector, the result has isError: true and links to the connector’s purchase page.
  • The tool is not limited to administrators or seat holders. Any member of an organization that owns the connector can create a link, and the connection applies to the whole organization.
When the link is opened, Consile checks again that the account is not pending deletion, that the subscription is active, and that the user has accepted the current terms. If a check fails, the browser shows a JSON error: Every connector endpoint except CVR (which needs no connection) also exposes connect_account. There it takes no arguments and always targets that endpoint’s connector. Passing a different connector there returns isError: true with This connector only connects <id>; omit the "connector" argument.

request_connector

Log a request for a new system/MCP. Reviewed by the Consile team.
string
required
The system/tool you want an MCP for. Trimmed.
string
Optional: what you’d use it for. Stored together with system.

contact_support

Send a message to Consile support. The reply comes by email.
string
required
Your message to Consile support. Trimmed.
Returns { "ok": true, "message": "Thanks — your message has been sent to Consile support. We'll reply by email." }. An empty message returns ok: false with Type your message in the "message" field and I'll send it to support. Requests and support messages are stored with the organization and user id. No automatic confirmation email is sent; the tool result is the confirmation.