Sigma gives every user governed access to live data wherever they work, and the Sigma MCP server extends that access into Claude. You can use the Sigma MCP server to locate data sources in your organization, explore and describe their contents, analyze your data, and save your analysis as a workbook without leaving the AI assistant's interface.
This QuickStart takes it one step further. Instead of a table in response to a natural language question, Claude can show the workbook itself, live and interactive inside Claude, so you can filter, drill, and use its controls without leaving the conversation.
We will demonstrate how to run a small local MCP server that finds workbooks in your Sigma organization and opens them in Claude Desktop.
The steps involve configuring the code, connecting it to Claude Desktop, and using it with a workbook of our own.
Along the way you'll learn how to:
Sigma has many more AI features but this QuickStart is focused on Claude for simplicity.
There are now several ways to connect Claude and Sigma, and while options are great to have, it can be hard to know which is best for the job at hand. Each one works differently, so the right one depends on what you want Claude to do, and your organization's policies too.
Route | Use it when you want to | Keep in mind |
Sigma MCP server | Find, describe, and query your Sigma data in conversation. See Natural Language Analytics with Claude and Sigma. | Runs as you, using OAuth. Returns answers and data in the chat rather than displaying a workbook. |
Build with Claude | Describe a workbook or app and have Claude create or edit it in Sigma. | Runs as you, using OAuth. Requires a Build license. The result lives in Sigma, so you review and extend it there. |
Send to Sigma | Prototype a live dashboard in Claude, then send the draft to Sigma to extend with forms, controls, Input Tables, Actions, and Sigma Agents. Read the announcement. | Runs as you, using OAuth. Requires a Build license with the OAuth permission enabled. The draft begins in Claude and is finished in Sigma. |
Local MCP server (this QuickStart) | Find an existing workbook by name and use it live in Claude's browser pane, without opening Sigma yourself. | You run a small local server and keep your Sigma client credentials in a |
The first three authenticate each person with their own Sigma sign-in, so their existing permissions apply automatically. This QuickStart trades that for something different: the finished workbook, with all of its controls, appears in Claude. If you set the configured user to your own Sigma email, the workbook opens with your access.
For more information on Sigma's product release strategy, see Sigma product releases
If something doesn't work as expected, here's how to contact Sigma support
Sigma customers who work in Claude and want to explore Sigma workbooks without leaving the conversation, and anyone demonstrating that experience to others. You don't need an existing embedded application. You should be comfortable running a Node.js project and editing a .env file.

There are three main things that make this work:
search_workbooks and show_sigma_workbook.claude_desktop_config.json, and then asks the server what it can do.
Step 1: Claude searches
Claude calls search_workbooks with the words you used. The server signs in to Sigma's REST API, lists your workbooks a page at a time, and compares your words with each workbook's name and path using the Fuse.js library.
Here is how the matching works:
threshold in lib/search.js.Step 2: Claude opens it
Claude calls show_sigma_workbook with the workbook's slug, which is the last part of its URL. The server signs a short-lived sign-in token, called a JWT, that identifies the Sigma user in the EMAIL value of the .env file, and adds it to the workbook URL.
Step 3: Claude shows it
Claude opens that URL in its built-in browser pane. Sigma checks the sign-in token and shows the live workbook as that user.
Sigma's embedding feature identifies a user with a signed token, the JWT, instead of a separate sign-in, so the credentials need Embedding. Listing workbooks to search them uses the REST API, so they also need REST API. One Client ID and Secret does both jobs, which leaves one secret to protect.
EMAIL. Settings such as an account type, teams, or user attributes describe embed users, and Sigma rejects them for existing Sigma users.EMAIL. A result may not open if that user lacks access.
Client credentials (a unique client ID and secret) are how this project proves its identity to Sigma.
Sigma uses the client ID to determine which secret is referenced in a request. Each time a request is made, this project's server uses the secret to generate an encrypted signature.
This project uses one pair of client credentials for two jobs, so the credentials need both capabilities:
Embedding: signs the JWT that opens each workbook.REST API: lets the server list your workbooks so Claude can search them.Log into Sigma, navigate to Administration, and scroll down to Developer Access.
Click Create New:

In the Create client credentials modal, select both Embedding and REST API, give it a name, and assign an administrative user as the owner.

Click Create.
Copy both values to a secure location.

In a later step, you will paste them into the respective locations in the .env file, in the Shared settings grouping.

We have made sample project code available in a public GitHub repository to save time.
While you may clone the entire repository (it is not that large), we want to avoid cloning portions of the repository that aren't immediately relevant.
Instead, we will use VSCode and terminal to perform a git sparse-checkout of the specific project folder we are interested in. This involves a few extra steps, but results in a cleaner local project folder.
Open VSCode and a new Terminal session.
Create a new directory in a location of your choice. For example:
mkdir sigma_quickstarts
Change to the new directory:
cd sigma_quickstarts
Execute the terminal command:
git init
Add the remote repository as the origin:
git remote add -f origin https://github.com/sigmacomputing/quickstarts-public.git
No errors should show.
Enable sparse checkout:
git config core.sparseCheckout true
Specify the folder you want to clone by adding it to the sparse-checkout configuration:
echo "claude-desktop-view-workbooks" >> .git/info/sparse-checkout
Pull the specified folder from the repository:
git pull origin main
We recommend installing the LTS (Long Term Support) version.
Once installed, you can verify the installation in Terminal with:
node -v
npm -v
Change directory to the new folder:
cd claude-desktop-view-workbooks
Finally, load node into the local project:
npm install
Open the sigma_quickstarts/claude-desktop-view-workbooks folder if not already open.

The project reads its settings from a .env file. Create yours from the example file provided:
cp .env.example .env
Open the .env file in VSCode and update these values.
Client ID and Secret from the previous section into CLIENT_ID and SECRET, in the Shared settings grouping.
EMAIL with your own Sigma email address. Each workbook opens as this user, so Claude shows exactly what that user can see in Sigma. Search lists the workbooks your client credentials can see, so a result may appear that this user cannot open.CLAUDE_DESKTOP_BASE_URL with the URL of any workbook in your organization you have access to in Sigma. To do this, open the selected workbook in Sigma and copy the URL from the browser.CLAUDE_DESKTOP_API_URL with the API base URL. This can be found in Sigma under Administration > Developer Access.
For more information, see Identify your API request URL
Leave the remaining settings as they are for now. The .env file holds your secret, so do not commit it or share it.
Save the changes to .env.
The project includes tests that check the search, the sign-in tokens, and the connection to Claude without calling Sigma. Run them from the project folder:
npm test
Every test should pass:


The project you just set up is what lets Claude find a Sigma workbook by name and show it live. Registering it tells Claude Desktop where to find it.
Claude Desktop starts the server itself whenever it opens and asks what it can do, so there is nothing to keep running in a terminal.
Claude Desktop needs the full location of the server file and of Node.js.
In the VSCode terminal, in the project folder, run:
echo "$(pwd)/server.js"
Copy the result somewhere handy. This is the full path to server.js.
Then run:
which node
Copy this too. Claude Desktop is not started from your terminal, so it may not find node by name alone.
Open the Claude Desktop configuration file, claude_desktop_config.json.
In Claude Desktop, go to Settings (under your profile icon) > Developer and click Edit Config. This shows the folder that holds the file. Open it in a text editor.

Near the top of the file, look for a line that reads "mcpServers": {},. Claude Desktop may already have added this empty section. Replace that line with this section, keeping the comma after the closing brace:
"mcpServers": {
"sigma-workbooks": {
"command": "{full path to node}",
"args": ["{full path to server.js}"]
}
},
Replace {full path to node} with the result of which node, and {full path to server.js} with the result of the echo command.
The top of the file should look like this, starting with the file's own opening {:
{
"mcpServers": {
"sigma-workbooks": {
"command": "/opt/homebrew/bin/node",
"args": ["/Users/{your user name}/sigma_quickstarts/claude-desktop-view-workbooks/server.js"]
}
},
...your other settings
For example:

Save the file.
Fully quit Claude Desktop, rather than only closing its window, and open it again. Claude Desktop reads the file when it starts.

Go to Settings > Developer. The sigma-workbooks server should be listed as Running.

To see what Claude Desktop reports about the server, check its logs. They are in the Library folder inside your home folder, which is hidden by default. In Finder, choose Go > Go to Folder and paste this path. The log files start with mcp:
~/Library/Logs/Claude

With the server connected, you can ask Claude for a workbook by name and work with it right where you are, without opening Sigma yourself.
Claude will open the Sigma workbook in its built-in browser pane, which is available in Cowork.
In Claude Desktop, open a new chat and select Cowork next to the message box.
Cowork asks you to approve what Claude does. To save steps, you can select Automatically approve. If you prefer to review each action, leave it on Manually approve.

Ask for one of your workbooks by name. Replace {workbook name} with the name of a workbook you can open in Sigma:
Show me the {workbook name} in Sigma
Claude searches for the workbook, then asks the server to open it. Claude may ask for permission to use the browser on Sigma. Allow it.
Claude opens the workbook in the browser pane, beside the conversation:

The workbook is live, so you can use its controls the way you would in Sigma. Of course, you can also ask Claude to make changes to the workbook.

As mentioned in the Overview section, there are many ways to interact with Sigma from Claude; one size does not fit all. Some users want to never leave the Claude Desktop interface.
To accomplish that, we used a small local MCP server to find a workbook by name and open it, live and interactive, in Claude's browser pane. Instead of a table of results, we had the real workbook beside the conversation, running as our own Sigma user, so it showed what that user is permitted to see.
What you can reuse:
Keep in mind as you adapt it:
.env file.Locking this down further, such as limiting what the configured user can open, is outside the scope of this QuickStart, but Sigma can support that too.
Additional Resource Links
Blog
Community
Help Center
QuickStarts
Be sure to check out all the latest developments at Sigma's First Friday Feature page!
