Use Catalyst from Claude, ChatGPT and your IDE (MCP)
How to connect Catalyst to Claude, ChatGPT, Claude Code, Cursor or VS Code through its MCP server, what the assistant can do, and what it can never touch.
· 8 min read
Catalyst has an MCP server. Once it is connected, you can ask the AI assistant you already use about your data quality, in plain language, and it answers from your Catalyst workspace:
- "Which datasets failed last night, and why?"
- "Add a not-null rule on
customers.emailand re-run the check." - "Show me the current contract for
ordersand suggest missing rules." - "Scan
contactsfor duplicates and summarise the biggest clusters."
This page is the setup guide. It covers each supported client, personal access tokens, the full list of tools, which plan you need, and what the assistant is not allowed to do.
What MCP is
The Model Context Protocol (MCP) is an open standard that lets an AI assistant call tools in another product. Catalyst publishes a set of tools (list datasets, read a contract, trigger a run and so on), and the assistant decides which ones to call to answer your question.
The server is hosted by Catalyst. You connect it by URL and there is nothing to install:
https://ctlst.eu/mcp
There are two ways to sign in. Clients that support OAuth (claude.ai, Claude Desktop and ChatGPT) open a Catalyst sign-in page, and you pick the workspace and the access level there. Clients that don't, or where a header is simpler (Claude Code, Cursor, VS Code), use a personal access token.
Connect claude.ai or Claude Desktop
- Open Settings → Connectors and choose Add custom connector.
- Give it a name, for example "Catalyst", and paste
https://ctlst.eu/mcpas the URL. - Click connect. A Catalyst page opens. Sign in if you aren't already.
- Pick the workspace the assistant may use, and choose read or read and write. Write is only offered if your role in that workspace is Editor or Admin.
- Approve. You are sent back to Claude and the Catalyst tools are available in new chats.
A connector added in claude.ai is also available in Claude Desktop when you sign in with the same account.
Connect ChatGPT
- In ChatGPT's settings, turn on developer mode for connectors.
- Create a custom connector, name it "Catalyst" and use
https://ctlst.eu/mcpas the server URL, with OAuth as the authentication method. - ChatGPT opens the same Catalyst consent page: sign in, pick a workspace, choose read or read and write, and approve.
- Enable the connector in a chat and ask your question.
ChatGPT normally asks you to confirm before it runs a tool that changes something, such as adding a rule.
Create a personal access token
Claude Code, Cursor and VS Code send a token in an Authorization header. To create one:
- In Catalyst, go to Settings → AI assistants.
- Click to create a token. Give it a name you will recognise later, such as "Cursor on my laptop".
- Choose the scope: read or write. Write needs the Editor or Admin role.
- Choose how long it lives. The default is 90 days, and you can pick anything from 1 to 365 days. Tokens always expire.
- Copy the token. It starts with
cat_pat_and is shown once only. Catalyst stores a hash, so it cannot show it to you again.
A token belongs to you and to one workspace. It never has more rights than your role in that workspace, and it stops working if you leave the workspace. You can revoke it at any time from the same page, where admins can also see and revoke every token in the workspace.
Treat the token like a password. Keep it out of files you commit to Git.
Connect Claude Code
Run this once, with your token in place of <token>:
claude mcp add --transport http catalyst https://ctlst.eu/mcp --header "Authorization: Bearer <token>"
Then start Claude Code and ask about your workspace. claude mcp list shows whether the server is connected.
Connect Cursor
Add Catalyst to ~/.cursor/mcp.json (for every project) or .cursor/mcp.json (for one project):
{
"mcpServers": {
"catalyst": {
"url": "https://ctlst.eu/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Restart Cursor or reload its MCP settings, and the Catalyst tools appear in the agent's tool list.
Connect VS Code
VS Code reads .vscode/mcp.json in your project. This version asks for the token once and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "catalyst-token",
"description": "Catalyst personal access token",
"password": true
}
],
"servers": {
"catalyst": {
"type": "http",
"url": "https://ctlst.eu/mcp",
"headers": {
"Authorization": "Bearer ${input:catalyst-token}"
}
}
}
}
Start the server from the file or the command palette, paste the token when asked, and use Catalyst from Copilot's agent mode.
What the assistant can do
Every tool tells the client whether it only reads or also changes something, so clients can run reads straight away and ask you before a write.
Read tools (every plan)
| Tool | What it does |
|---|---|
get_workspace_overview | The workspace health score and headline numbers |
list_datasets | The datasets in the workspace |
get_dataset | One dataset and its details |
get_contract | The current ODCS contract of a dataset, as YAML |
list_contract_versions | The saved versions of a contract |
diff_contract_versions | What changed between two contract versions |
validate_contract | Checks a contract without saving it |
list_rules | The rules on a dataset |
list_runs | Recent validation runs |
get_run | One run with the result of every check |
wait_for_run | Waits up to 60 seconds for a run to finish |
get_rule_suggestions | Rules Catalyst proposes from the dataset's columns |
list_duplicate_checks | The duplicate checks in the workspace (Team and Enterprise, as in the app) |
get_duplicate_check | One duplicate check and its results (Team and Enterprise) |
get_quality_report | The quality report (Team and Enterprise, as in the app) |
Write tools (Team and Enterprise)
| Tool | What it does |
|---|---|
trigger_run | Starts a validation run. It counts towards your monthly run quota. |
add_rule | Adds a rule to a dataset |
update_rule | Changes an existing rule |
save_contract | Saves a new version of a dataset's contract |
start_duplicate_scan | Starts a duplicate scan |
Write tools need a token or sign-in with write access, the Editor or Admin role, and a Team or Enterprise plan. Runs started this way show up in run history with the trigger "AI assistant".
The server also ships two prompts that clients can offer as shortcuts: triage_failed_run, which walks through a failed run, and harden_contract, which reviews a contract and proposes missing rules.
Plans
| Starter (free) | Team | Enterprise | |
|---|---|---|---|
| Read tools | Yes | Yes | Yes |
| Write tools (runs, rules, contracts, duplicate scans) | No | Yes | Yes |
Runs triggered by an assistant count towards the same monthly run quota as runs you start in the app. Catalyst does not charge for the AI side: the model runs in your own Claude, ChatGPT or IDE account.
Safety and privacy
The assistant works through the same permissions as you do in the app, and a few things are off limits whatever the token or role.
- Failing-row samples are off by default. The assistant sees pass and fail results and violation counts, not the rows themselves. A workspace admin can turn samples on in Settings → AI assistants, and then the assistant gets up to five example rows per check, with long values shortened. Duplicate checks follow the same setting: without it, the assistant sees counts and scores only.
- No connection credentials. No tool can create, read or test a connection, so warehouse passwords and keys never reach the assistant.
- No deletes. There is no tool that deletes anything.
- No custom SQL rules. The assistant can read and run existing custom SQL rules, but it cannot create or change one, and a contract that adds or edits one is refused.
- Everything is audited. Every change made through the assistant is in the audit log, marked with the client that made it.
- Tokens expire and can be revoked. Tokens last 90 days by default and 365 at most. You can revoke a token or a connected app (claude.ai, ChatGPT) at any time in Settings → AI assistants.
When your assistant fetches data from Catalyst, that data goes to your AI provider, because you asked for it. It is processed under your own agreement with that provider. See the privacy policy for details.
Example prompts
A few that work well:
- "Give me a summary of the workspace. Which datasets are failing and since when?"
- "Why did the last run on
ordersfail? Show the checks that failed and what they test." - "Compare the last two versions of the
customerscontract." - "Look at the rule suggestions for
invoicesand add the ones about required columns." (write access) - "Run the checks on
ordersand tell me when they're done." (write access) - "Is
total_amountonorderscovered by a range rule? If not, propose one in ODCS."
Frequently asked questions
Is Catalyst listed in the Claude or ChatGPT connector directory?
Not yet. For now you add it yourself as a custom connector with the URL https://ctlst.eu/mcp, which takes about a minute.
Which plan do I need?
Any plan. Reading datasets, contracts, rules and runs works on the free Starter plan. Duplicate checks and the quality report are Team and Enterprise features, in the assistant as in the app. Triggering runs, adding or editing rules, saving contracts and starting duplicate scans need Team or Enterprise.
Can the assistant see my data?
It sees what Catalyst stores about your data: dataset and column names, contracts, rules, run results and violation counts. Failing-row samples are only included if a workspace admin turns them on. It never sees connection credentials, and it cannot query your warehouse directly.
Can the assistant delete or break something?
It cannot delete anything, and it cannot create or change custom SQL rules. With write access it can add and edit rules, save contract versions and start runs or duplicate scans. Contract versions are kept, every change is in the audit log, and most clients ask you to confirm before a write.
Do I need a token if I use claude.ai or ChatGPT?
No. Both sign in with OAuth: you approve the connection on a Catalyst page and choose the workspace and access level there. Tokens are for clients that send a header, such as Claude Code, Cursor and VS Code.
Does it work with other MCP clients?
This guide covers the clients above. Other clients that can connect to a remote MCP server over HTTP, with OAuth or an Authorization header, should be able to use the same URL.