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.

Choosing a route

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 .env file. The browser pane is available in Cowork. Each workbook opens as the user you configure, not as whoever is asking.

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

Target Audience

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.

Prerequisites

Sigma Free Trial

Footer

There are three main things that make this work:

  1. A local MCP server that we will clone from Git. This project gives Claude two tools: search_workbooks and show_sigma_workbook.
  2. Claude Desktop starts the local server when it opens, using the path in claude_desktop_config.json, and then asks the server what it can do.
  3. Sigma lists your workbooks through its REST API, and shows a workbook when it receives the workbook URL with a sign-in token, signed with your client credentials. Any workbook that the configured Sigma user can access can be opened.

What happens when you ask for a workbook

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:

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.

Why the credentials need two capabilities

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.

Things to know about the sign-in token

Footer

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:

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.

Footer

Clone the Git Repository Project Folder

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

Download Node.js

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.

Add your settings

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.

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.

Run the tests

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:

Footer

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.

Find the full paths

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.

Add the server to Claude Desktop

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.

Restart and confirm

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

Footer

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.

Start a Cowork session

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 a workbook

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.

Footer

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:

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!

   

Footer