Connect and ask from an MCP client
Cassis works with any client that supports remote MCP servers over Streamable HTTP. Add one server URL, authenticate, and the agent answers from your ontology with the SQL attached.
Prerequisites: a Cassis account (a demo account counts) and an MCP-compatible client.
Add the server
The endpoint is the same in every client: https://app.getcassis.com/mcp/, using Streamable HTTP. Add it as a remote MCP server. If the client supports MCP OAuth, it opens a browser for sign-in. A non-interactive client can use an API key as a bearer token instead.
Here are the exact steps for three common clients:
claude mcp add --transport http cassis https://app.getcassis.com/mcp/ Or commit a project-scoped config, which carries no secret and works for everyone on the repo:
{
"mcpServers": {
"cassis": {
"type": "http",
"url": "https://app.getcassis.com/mcp/"
}
}
} Settings, then Connectors, then Add custom connector. Paste https://app.getcassis.com/mcp/.
Settings, then MCP, then Add new MCP server. Paste https://app.getcassis.com/mcp/, transport HTTP.
With OAuth, the client stores and refreshes the token after you sign in. An expired session simply starts the flow again.
Check the connection
Ask your client something that makes it call Cassis:
Which Cassis projects can you see?
The agent calls list_projects and returns the projects your Cassis account can reach.
Ask a real question
Type it as you would to a colleague:
· “Last year” means the most recent full calendar year in the data
· Category means
PRODUCTS.CATEGORY, not department· Return the top 10
objects_used: STALLORA.ORDER_ITEMS, STALLORA.ORDERS, STALLORA.PRODUCTS
rows: 10 · ontology_version: 3
MCP client example
User: Which product categories had the highest delivered GMV last year?
Plan awaiting approval: Rank product categories by delivered GMV in the most recent full calendar year in the data, returning the top categories with their GMV in EUR.
- “Last year” means the most recent full calendar year in the data.
- Category means
PRODUCTS.CATEGORY, not department. - Return the top 10.
User: Yes, run it.
Answer: The top delivered-GMV categories are led by bed_bath_table (€6.96M), followed by watches_gifts (€6.76M) and health_beauty (€6.57M). The response also contains SQL, ten rows, objects used, and the pinned ontology version.
The client renders the plan in the conversation. When Cassis needs your decision, correct or approve the assumptions before it runs. The answer includes SQL, results when the project has a live warehouse, provenance, and the published ontology version. Presentation differs by client; the response contract is in ask_question.
How it behaves
- Ask normally
- The client chooses
ask_question; you do not need to write tool calls. - Decisions wait
- A question with a genuine fork returns a plan and waits for your approval. Reply with a correction when an assumption is wrong.
- Follow-ups keep context
- Same chat, new question. The chat stays pinned to the ontology version it started on.
- Answers come from the published ontology
- Not from a colleague’s branch, and not from an unmerged pull request.
get_project_statussays which version you are on.
What the agent cannot reach
An MCP agent can ask questions, inspect project status and the warehouse schema, and triage detected issues. It cannot read or edit the ontology; that work happens in a repository checkout.
An agent that changes definitions uses a checkout and opens a pull request: Curate a git-managed project. The full list is the capability matrix.
Non-interactive agents and CI use an API key instead. A scheduled job or a custom agent that cannot open a browser sends a long-lived key as a bearer token to the same endpoint. See API keys.