Use the Sigma documentation MCP server (Beta)

🚩

This documentation describes one or more public beta features that are in development. Beta features are subject to quick, iterative changes; therefore the current user experience in the Sigma service can differ from the information provided in this page.

This page should not be considered official published documentation until Sigma removes this notice and the beta flag on the corresponding feature(s) in the Sigma service. For the full beta feature disclaimer, see Beta features.

If you use AI tools like a chatbot or an agent to work with Sigma, you can add context from the Sigma documentation to improve the accuracy and reliability of the results.

🚩

The use of AI features is subject to the following disclaimer.

Depending on what the AI tool that you use supports, choose the best option:

  • To provide context to agents and command-line AI tools, use the Sigma documentation MCP server and its available tools.
  • To provide context to chatbot conversations, provide Markdown links to the Sigma documentation.

About the Sigma documentation MCP server

The Sigma documentation is available through an MCP server at https://help.sigmacomputing.com/mcp

Model Context Protocol (MCP) servers make it easy to add context and support agentic AI workflows, where an AI tool can perform a task for you. If you use the Sigma documentation MCP server, an AI agent can look for information in the Sigma documentation, and then retrieve it.

You can set up any AI tool that supports integrating with an MCP server, such as Cursor, Augment, Gemini CLI, Claude Code, or ChatGPT developer mode, to access the Sigma documentation through the MCP server.

Available tools for the Sigma documentation MCP server

The following tools are available for the Sigma documentation MCP server:

  • search: Searches through pages in the https://help.sigmacomputing.com/docs section of the documentation with the given search query. Returns a list of results with ID, Title, and URL.
  • fetch: After performing a search, retrieve detailed information about the page using its ID.
  • search_specs: Search the available paths and operations in the Sigma API reference documentation. Returns paths and titles for available API endpoints.

Some pages are not available through the MCP server, but are available through a web search:

  • What's new posts in the changelog
  • Developer documentation in the https://help.sigmacomputing.com/reference section of the Sigma documentation site, such as the pages that do not provide API reference content.

Example usage: search and fetch tools

For example, if you want to find information about the substring-like functions available in Sigma, you might write a prompt like:

Search the Sigma documentation for information about functions that I can use to extract or replace a substring of text in a column

The AI tool uses the search and fetch tools to compile a response, then provides a response that might look like the following:

Example response 1

Excellent! I found comprehensive information about substring extraction and replacement functions in Sigma. Here's a summary of the key functions:

Functions for Extracting Substrings:

  1. Substring (alias of Mid) Returns a substring defined by offset and length.

Syntax:

Substring(string, start, [length]) Example:

Substring("John Doe", 4, 10) Returns "n Doe"

  1. RegexpExtract

Returns the substring that matches a regular expression within a string.

Syntax:

RegexpExtract(string, substring, [position]) Examples:

  • RegexpExtract([Address], "[0-9]+") - Extracts the first numeric match
  • RegexpExtract([Address], "[0-9]+", 2) - Extracts the second numeric match
  • RegexpExtract([Date], "(\\d{2})", 2) - Extracts the second 2-digit group

Functions for Replacing Substrings:

  1. Replace Searches through a string for a substring and replaces every instance with a replacement string.

Syntax:

Replace(string, substring, replacement) Examples:

  • Replace("SF County", "SF", "San Francisco") → "San Francisco County"
  • Replace("File Name", " ", "") → "FileName" (removes spaces)
  • Nested: Replace(Replace([Order Manual], "Cold Slaw", "Cole Slaw"), "Ice Tea", "Iced Tea")
  1. RegexpReplace Searches a string for a pattern and replaces all matches with the replacement string using regular expressions.

Syntax:

RegexpReplace(string, pattern, replacement) Examples:

  • RegexpReplace([Phone Number], "(\\d{3})(\\d{3})(\\d{4})", "(\\1) \\2-\\3") - Formats phone numbers
  • RegexpReplace([Team], "[^a-zA-Z0-9\\s]", "") - Removes all punctuation
  • RegexpReplace([Text], "\\/", "&") - Replaces slashes with ampersands

Key Differences:

  • Use Substring for simple position-based extraction
  • Use RegexpExtract for pattern-based extraction
  • Use Replace for simple text replacement
  • Use RegexpReplace for complex pattern-based replacement

All of these functions work on text columns in Sigma and can be used in calculated columns or formulas.

Example usage: search-specs tool

For example, if you want to find information about which version tag endpoints exist in Sigma, you might write a prompt like:

What version tag endpoints are available from the Sigma REST API? Use the search-specs tool for the Sigma documentation MCP server.

The AI tool uses the search-specs tool to generate a response like the following:

Example response 2

Version Tag Specific Endpoints:

  • POST /v2/workbooks/{workbookId}/tag/{versionTag}/copy
    • Copy a workbook from a specific version tag
  • GET /v2/workbooks/{workbookId}/version-history
    • Get the version history of a workbook

Related Tag Endpoints (that work with version tags):

  • GET /v2/workbooks/{workbookId}/tags
    • Get all tags for a workbook (includes version tags)
  • DELETE /v2/workbooks/{workbookId}/tags/{tagId}
    • Delete a tag from a workbook
  • POST /v2/workbooks/tag
    • Create a tag for a workbook
  • POST /v2/dataModels/tag
    • Create a tag for a data model
  • GET /v2/dataModels/{dataModelId}/tags
    • Get all tags for a data model

Bookmark Endpoints with Version Tags:

  • GET /v2/workbooks/{workbookId}/tags/{tagName}/bookmarks
    • Get bookmarks for a specific version tag
  • POST /v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/
    • Create a bookmark for a specific version tag
  • GET /v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}
    • Get a specific bookmark for a version tag
  • DELETE /v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}
    • Delete a bookmark from a version tag
  • PATCH /v2/workbooks/{workbookId}/tags/{tagName}/bookmarks/{bookmarkId}
    • Update a bookmark for a version tag

As a best practice, mention the specific name of the tool to use, especially for searching the API documentation to ensure that the correct search tool is used.

Add Sigma documentation as context to chat interactions

If the AI tool that you use does not support working with MCP servers, you can provide a link to the Sigma documentation to provide added context to the AI chatbot. All Sigma documentation pages are available as raw Markdown content, allowing you to provide context to an AI tool in a way that uses fewer tokens than the HTML content of the page might.

  • To provide a link to a specific documentation page, append .md to provide the raw content to the AI tool. For example, https://help.sigmacomputing.com/docs/countif.md
  • To provide a link to all documentation pages in the Sigma documentation site, provide a link to the llms.txt file: https://help.sigmacomputing.com/llms.txt

For example, to ask a commercial AI tool such as ChatGPT or Google Gemini about how to convert a Microsoft Excel formula into a Sigma formula, you might write a prompt like:

Rewrite this Excel formula that uses COUNTIFS as a Sigma formula that uses CountIf. https://help.sigmacomputing.com/docs/countif.md

If you don't know which page to use for context, try a prompt like the following:

Search the Sigma documentation for information about functions that I can use to extract or replace a substring of text in a column