Skip to main content

Connect an AI assistant to Astrato MCP

Connect Claude, ChatGPT, Snowflake CoCo (Cortex Code), VS Code or OpenAI Codex to Astrato over MCP so an assistant can read and edit your semantic layer.

You can let an AI assistant work with your semantic layer — ask it what's in your model, have it search for a measure, or ask it to build one for you. It works on your behalf, with your permissions, on your organisation's data.

Before you start: this isn't switched on everywhere yet. Check with your Astrato contact that it's enabled for your environment before you set anything up. It's also still in preview, so expect it to keep improving.

Find your assistant below

These have all been tested against Astrato. Whichever you use, the address is the same — your Astrato address followed by /mcp, which for most organisations is https://app.astrato.io/mcp. If your company uses its own Astrato address, use that instead.

Claude

Works on the web at claude.ai and in the desktop app. Both are set up the same way.

Step 1: Open Settings and go to Connectors.

Step 2: Add Astrato with the address above, then click Connect.

The Astrato connector in Claude's settings, showing the address and a Connect button

Step 3: Astrato asks you to approve. It names the assistant, shows which Astrato account you're connecting, and lists exactly what it will be allowed to do: Read semantic layers, Edit semantic layer drafts and Create semantic layer versions.

Astrato's approval screen listing read, edit and version permissions, with Deny and Approve buttons

Step 4: Click Approve.

Result: Claude can now reach your semantic layers. Ask it to list them as a first test.

Claude answering a request to list semantic layers with a table of layer names and datasources

You're not handing over a password. You sign in to Astrato itself, and the assistant only ever receives a limited pass tied to your own account and organisation. You can withdraw it later without changing your password.

ChatGPT

ChatGPT calls these plugins, and Astrato isn't one OpenAI has reviewed — so you add it yourself, and ChatGPT shows warnings along the way. Those warnings are about custom plugins in general, not about Astrato in particular, but read them before you agree.

Before you start: you need a ChatGPT plan that includes plugins. If your organisation has a policy on connecting AI tools to company data, check it first — this gives ChatGPT the ability to edit and publish your semantic layer.

Step 1: Click your profile picture and open Settings.

Step 2: Go to Plugins, then Developer mode.

The Plugins section of ChatGPT settings, with Developer mode at the bottom of the list

Step 3: Turn Developer mode on. ChatGPT marks this elevated risk, because it lets you add plugins OpenAI hasn't checked.

The Developer mode toggle switched on, marked elevated risk

Step 4: Go back to Browse plugins and click + to add one.

The Plugins page with the plus button for adding a new plugin

Step 5: Fill in the New Plugin panel:

  • Name — Astrato

  • Connection — leave it on Server URL and enter https://app.astrato.io/mcp

  • AuthenticationOAuth

Then tick I understand and want to continue and click Create.

The New Plugin panel with the name Astrato, the MCP address, OAuth authentication, and the risk acknowledgement ticked

Step 6: Add Astrato to ChatGPT, and sign in to Astrato when it asks.

Step 7: Astrato asks you to approve. It names ChatGPT, shows which Astrato account you're connecting, and lists what it will be allowed to do: Read semantic layers, Edit semantic layer drafts and Create semantic layer versions. Click Approve.

Astrato's approval screen for ChatGPT, listing read, edit and version permissions

Result: Astrato appears under your installed plugins. Ask ChatGPT to list your semantic layers as a first test — you'll see it call the Astrato tool and come back with your layers by name.

ChatGPT calling the Astrato tool and listing semantic layers by name

About those warnings. OpenAI shows them for any plugin it hasn't reviewed, and they're worth taking seriously in general — a plugin you don't recognise really can act on your data. What you're agreeing to here is the access shown on Astrato's own approval screen, and nothing more. You can remove the plugin at any time.

Visual Studio Code

Visual Studio Code is Microsoft's free code editor, with an AI assistant built in. Connecting Astrato lets that assistant work with your semantic layer while you're in the editor. You add it through the command palette — there's no configuration file to edit.

Step 1: Open Visual Studio Code and press Cmd+Shift+P (Ctrl+Shift+P on Windows) to bring up the command palette. Start typing and choose MCP: Add Server…

The Visual Studio Code command palette with MCP: Add Server selected

Step 2: Choose HTTP.

The connection type list with HTTP selected

Step 3: Enter your Astrato address followed by /mcp — for most organisations https://app.astrato.io/mcp — and press Enter.

The Enter Server URL box containing the Astrato MCP address

Step 4: Visual Studio Code asks whether the Astrato server may sign you in. Click Allow.

A dialog asking whether the Astrato MCP server may authenticate to app.astrato.io, with Allow and Cancel

Step 5: It then asks to open Astrato in your browser. Click Open.

A prompt asking to allow Code to open the external website, with an Open button

Step 6: Astrato asks you to approve. It names Visual Studio Code, shows which Astrato account you're connecting, and lists what it will be allowed to do: Read semantic layers, Edit semantic layer drafts and Create semantic layer versions. Click Approve.

Astrato's approval screen for Visual Studio Code, listing read, edit and version permissions

Result: Astrato is available to the assistant in the Chat panel. Ask it to list your semantic layers as a first test — you'll see it call the Astrato tools and come back with your layers by name.

The Chat panel showing Astrato tools being called and semantic layers listed by name

Claude Code

If you've already connected Astrato in Claude, Claude Code has it too — there's nothing extra to set up. Open Claude Code and ask it to list your semantic layers; you'll see it call the Astrato tools and answer.

Using Claude Code from the command line? Add Astrato yourself with a personal access token — see Connect with a personal access token below for how to create one, then run:

claude mcp add --transport http astrato https://app.astrato.io/mcp \
  --header "Authorization: Bearer YOUR-TOKEN"

Check it worked with claude mcp list — Astrato should appear — then ask Claude Code to list your semantic layers.

There's also a sign-in route instead of a token, but it needs a client ID that Astrato registers for you, so ask your Astrato contact if you'd rather use that.

OpenAI Codex

Codex builds the connection for you. You give it the Astrato address and its Plugin Creator does the rest — there's no configuration to write.

Step 1: Open Codex, go to Plugins, and click Add.

The Plugins page in Codex with the Add button in the top right

Step 2: Choose create plugin.

The Add menu in Codex with the create plugin option

Step 3: A chat opens with a Plugin Creator prompt waiting to be finished. Paste your Astrato address followed by /mcp — for most organisations https://app.astrato.io/mcp — and send it.

The Plugin Creator prompt with the Astrato MCP address pasted in

Step 4: Codex builds and checks the plugin, which takes a minute or two. When it's done, click View astrato.

Codex reporting the astrato plugin created and validated, with a View astrato link

Step 5: Click Install plugin. Codex installs it, asks you to sign in to Astrato, and opens a chat ready to use it.

The Astrato plugin page in Codex with the Install plugin button

Result: Astrato is available in Codex. Ask it to list your semantic layers as a first test.

Codex listing semantic layers from Astrato

❄️ Snowflake Cortex Code (CoCo) Desktop

Cortex Code, or CoCo, is Snowflake's own AI assistant. Astrato has an MCP server. Join the two and CoCo can read your semantic layers, edit drafts, and create new versions, right from its own chat.

Below is the short path to do it.

What you need

  • Access to Astrato, with MCP turned on for your account. Ask your Astrato contact if you are not sure.

  • Cortex Code Desktop installed.

  • Your Astrato server address. This is usually https://app.astrato.io/mcp, or your own organisation's Astrato address with /mcp on the end.

Step 1: Open the MCP settings

In Cortex Code Desktop, open Agent Settings, then click MCP in the side list. You will see a page called MCP Connectors, with a button in the top right that says + New.

Click + New.

Step 2: Fill in the new server form

A form called Add New MCP Server opens. Fill it in like this:

Configuration Scope: leave this as is, or pick Global if you want Astrato available in every workspace. Global saves the setting to ~/.snowflake/cortex/mcp.json. Workspace saves it only to the project you are in.

Server Name: type Astrato.

Server Type: choose Remote (HTTP).

Server URL: type https://app.astrato.io/mcp (or your own custom address).

You can leave Headers and Environment Variables empty for now. Sign in happens through the browser, not through a header.

Click Save.

Full size preview

Step 3: Sign in to Astrato

A small window pops up and asks if the MCP server wants to authenticate to Astrato. Click Allow.

Your browser opens Astrato's sign in page. Log in as you normally would. Once you approve access, the window closes on its own and you go back to Cortex Code.

Full size preview

Step 4: Check the tools appeared

Back on the MCP Connectors page, find Astrato in the list, with a green dot next to it, meaning it is running. Click the arrow to expand it and you will see a long list of tools, things like:

  • sle_apply_dimension_change

  • sle_apply_measure_change

  • sle_apply_view_change

  • sle_begin_edit_session

and more. Each one has a toggle. Leave them all on unless you want to hide a specific tool from CoCo.

That's it. Astrato is now live inside Cortex Code.

Full size preview

What CoCo can now do

Once connected, CoCo can:

  • Read your semantic layers

  • Edit semantic layer drafts

  • Create new semantic layer versions

Ask it something plain, like "add a margin measure to the Sales view," and it will use these tools to make the change as a draft, ready for you to check before it goes live.

A word on tokens, if you use them instead

Some tools ask for a Personal Access Token rather than a browser sign in. If Cortex Code ever asks for one, you make it in Astrato like this:

  1. Go to the Workbooks page and click your profile picture, top right.

  2. Choose Personal Access Token.

  3. Give it a name, so you know what it is for later.

  4. Pick how long it lasts: 1, 7, 30, 60, or 90 days.

  5. Click generate and copy it straight away. It is shown only once.

Then it goes into the config like this:

json

{   "mcpServers": {     "astrato": {       "type": "http",       "url": "https://app.astrato.io/mcp",       "headers": { "Authorization": "Bearer your-personal-access-token" }     }   } }

Guard this token like a password. It carries your full account permissions.

Something else

Other assistants may work — these are the ones we've confirmed. If yours isn't listed, it needs to support connecting to an MCP server over the web. Your Astrato contact can check it for you.


Decide what your assistant may do

Once connected, most assistants let you set permissions tool by tool — allow something always, ask you each time, or never allow it.

An assistant's tool permission list for Astrato, each tool set to always allow, ask, or never

It's worth a look before you let an assistant loose on a semantic layer other people depend on. Reading is harmless; editing and publishing are the ones to think about. Setting the editing tools to ask each time gives you a checkpoint without getting in your way.

Connect with a personal access token

A few tools ask for a token instead of sending you to Astrato to sign in. If yours does, you create the token in Astrato and paste it in.

Step 1: On the Workbooks page, click your profile picture in the top right.

The profile picture in the top right of the Workbooks page

Step 2: Choose Personal Access Token.

The profile menu with the Personal Access Token option

Step 3: Give the token a name you'll recognise later — the tool it's for is usually the clearest — then click Next.

The Personal Access Token dialog asking for a name

Step 4: Choose how long it should last: 1, 7, 30, 60 or 90 days. Then click Generate Token.

The token expiry dropdown offering 1, 7, 30, 60 and 90 days

Step 5: Copy the token and paste it straight into the tool that needs it.

Result: the token works until the day it expires. There's no automatic renewal — when it lapses, you come back here and make another. You can also delete a token from the same place, which stops it working immediately.

You only see it once. Astrato shows the token when you create it and never again. If you lose it, delete it and make a new one.

Can't create one? Your organisation can switch personal access tokens off. If you don't see the option in the menu, ask your Astrato administrator to enable them.

In the tool, give your Astrato address and the token:

{
  "mcpServers": {
    "astrato": {
      "type": "http",
      "url": "https://app.astrato.io/mcp",
      "headers": { "Authorization": "Bearer your-personal-access-token" }
    }
  }
}

Treat a token like a password. It carries everything your account can do — reading, editing and publishing — so don't paste it into a shared file or a chat window.

What your assistant can do

Once connected, it can:

  • Look around — list your semantic layers, summarise one, search for a field, measure or join, and check the model for problems.

  • Make changes — create, rename, edit or delete measures and dimensions. It can work through several at once, and its changes land as an ordinary revision in your version history.

  • Save a version — ask it to name a version before it starts, and you'll have a clean point to come back to.

  • Publish — when you ask it to.

  • Answer business questions that are already defined in your model.

Everything it does is subject to your own permissions. It can't see or change anything you couldn't.

Tip: ask your assistant to name a version before letting it make a batch of changes. Everything it does then shows up in Versions like any other edit, and you can go back — see Go back to an earlier version.

What it can't do yet

  • Build charts or dashboards. It works on the semantic layer, not on visualisations.

  • Run ad-hoc queries on your data. It can run business questions that already exist in your model, but it can't go and query whatever it likes.

If it won't connect

Check it's enabled. This is the most common reason. Ask your Astrato contact whether the connection is switched on for your environment.

Clear the assistant's saved sign-in and try again. Many assistants quietly remember an earlier attempt, so a stale sign-in can keep failing even after everything else is right.

Check you're using the right address. It needs /mcp on the end, and it needs to be your organisation's Astrato address.

If you're setting this up for a tool that isn't in the list above, or you need the full technical detail, your Astrato contact can point you at the developer documentation.

Next: Read How versioning works before you let an assistant change anything, so you know how to undo it.

Did this answer your question?