Back to MCP Servers

Smartsheet MCP Server

Official Smartsheet MCP server for searching workspaces, reading and updating sheets, managing rows, columns, attachments, discussions, reports, and dashboards.

Collaboration by Smartsheet OAuth2 or Personal Access Token (Bearer) active
Overview

The Smartsheet MCP Server is the official, provider-hosted integration that connects MCP-compliant AI clients (Claude, Cursor, Codex, Gemini CLI, and others) directly to live Smartsheet data. Requests are routed through the Smartsheet REST API and respect the authenticated user's existing permissions, with payload compression to reduce token usage for large sheets. It is generally available and supersedes the deprecated smartsheet-platform/smar-mcp open-source project.

The server exposes 40+ tools spanning discovery (search, browse_workspace, browse_folder, list_workspaces), sheet operations (get_sheet_summary, create_sheet, get_columns, add/update/delete rows and columns), templates, cell history, attachments at sheet/row/discussion levels, discussions and comments, reports, dashboards, and workspace/folder creation. Each tool returns structured data with rich metadata including row relationships, column types, and modification history.

Access is gated by Smartsheet plan: a Business, Enterprise, or Advanced Work Management plan is required. Authentication uses OAuth 2.0 or a Smartsheet personal access token passed as a Bearer authorization header. The server is reached over HTTP at https://mcp.smartsheet.com (regional endpoints exist for non-US accounts).

Tools

Tool Description
search Discovers Smartsheet assets by name or content across sheets, reports, dashboards, folders, and workspaces with fuzzy matching.
browse_workspace Explores top-level contents of a workspace including sheets, reports, dashboards, and folders.
browse_folder Navigates direct children of a folder for hierarchical exploration.
list_workspaces Retrieves all accessible workspaces with pagination.
get_sheet_summary Retrieves sheet data with filtering, sorting, and column selection.
create_sheet_in_workspace Creates a blank sheet with custom columns in a workspace.
create_sheet_in_folder Creates a blank sheet with custom columns within a folder.
get_sheet_version Retrieves the current sheet version number for change detection.
create_sheet_in_workspace_from_template Clones a template sheet into a workspace.
create_sheet_in_folder_from_template Clones a template sheet into a folder.
get_columns Retrieves column metadata from a sheet.
add_columns Adds one or more new columns with customizable properties.
update_column Modifies existing column properties like title, type, and position.
delete_column Permanently removes a column and all associated data.
add_rows Adds one or more rows with optional positioning control.
update_rows Modifies existing row data with partial update support.
delete_rows Permanently removes rows from a sheet (max 10 per call).
get_cell_history Retrieves complete modification history for a specific cell.
list_attachments Retrieves paginated attachments at sheet, row, and discussion levels.
list_row_attachments Lists attachments on a specific row.
list_discussion_attachments Lists attachments on a specific discussion.
get_attachment Retrieves attachment metadata and download URLs.
attach_url_to_sheet Attaches a URL to a sheet.
attach_url_to_row Attaches a URL to a specific row.
attach_url_to_comment Attaches a URL to a specific comment.
delete_attachment Permanently removes an attachment from a sheet.
list_sheet_discussions Retrieves all discussions from a sheet with optional comments and attachments.
list_row_discussions Retrieves discussions associated with a specific row.
get_discussion Retrieves a single discussion with full details.
create_discussion_on_row Starts a conversation focused on a particular row.
create_discussion_on_sheet Starts a sheet-level conversation.
delete_discussion Permanently removes a discussion thread and all comments.
add_comment Adds a reply to an existing discussion thread.
update_comment Modifies the text content of an existing comment.
delete_comment Removes a single comment permanently.
list_reports Retrieves all accessible reports with pagination.
get_report Retrieves detailed report data including columns, rows, and cell values.
list_dashboards Retrieves all accessible dashboards with pagination.
get_dashboard Retrieves complete dashboard details including widgets and configuration.
create_workspace Creates a new top-level workspace.
create_folder_in_workspace Creates a top-level folder within a workspace.
create_folder_in_folder Creates a nested folder within an existing folder.
Setup Guide

Prerequisites

  • Smartsheet Business, Enterprise, or Advanced Work Management plan
  • A Smartsheet personal access token (Account > Personal Settings > API Access) or OAuth 2.0 client
  • Node.js installed (for npx based clients like Cursor)

Server endpoint

https://mcp.smartsheet.com

Regional endpoints exist for non-US accounts; check the Smartsheet developer docs for the correct URL.

Cursor / generic MCP client (mcp.json)

{
  "mcpServers": {
    "smartsheet": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.smartsheet.com",
        "--header",
        "Authorization:${env:SMARTSHEET_API_TOKEN}"
      ]
    }
  }
}

Set SMARTSHEET_API_TOKEN in your environment to Bearer <your-token>.

Claude Code

claude mcp add --transport http smartsheet-mcp \
  https://mcp.smartsheet.com \
  -H "Authorization:Bearer ${SMARTSHEET_API_TOKEN}"

Claude Desktop / Claude.ai

Smartsheet provides a native Smartsheet Connector in Claude under Settings > Connectors. Install it and complete the OAuth flow; no manual config JSON is needed.

Use Cases
  • Summarize a project sheet, surface overdue tasks, and post a status update as a row-level discussion comment.
  • Bulk-create rows in a tracking sheet from inbound data (form submissions, support tickets, CSVs) using add_rows.
  • Audit cell-level changes with get_cell_history for compliance reviews on regulated sheets.
  • Search across workspaces with search, then pull report data via get_report for executive roll-ups.
  • Spin up new project sheets from templates with create_sheet_in_workspace_from_template and seed folders/workspaces for a new client engagement.
Example Prompts
  • "Search my Smartsheet workspaces for any sheet named 'Q2 Launch' and summarize the open rows assigned to me."
  • "Add 12 rows to sheet 7382910 from the attached CSV and set the Status column to 'Not Started'."
  • "List all attachments on row 4421 of the Vendor Tracker sheet and give me the download URLs."
  • "Show the cell history for the Owner column on row 8821 over the past 90 days."
  • "Create a new project sheet in the Marketing workspace from template id 99821 and call it 'Spring Campaign 2026'."
Pros
  • Official, provider-hosted server with OAuth 2.0 and PAT support; no self-hosting required.
  • Broad tool coverage (40+ tools) across sheets, rows, columns, attachments, discussions, reports, dashboards, and workspaces.
  • Payload compression and filtering reduce token costs on large sheets.
  • Native Claude connector available in addition to standard MCP integration for Cursor, Codex, and Gemini CLI.
Limitations
  • Requires a paid Smartsheet plan (Business, Enterprise, or Advanced Work Management); not available to Pro or free users.
  • No tools for some advanced Smartsheet features such as automations, proofs, or cross-sheet formulas.
  • delete_rows is capped at 10 rows per call, requiring batching for large cleanups.
Alternatives
  • CData Smartsheet MCP Server (CDataSoftware/smartsheet-mcp-server-by-cdata): read-only SQL-style access via JDBC; useful when you only need querying.
  • terilios/smartsheet-server: community open-source MCP server with healthcare-analytics-flavored helpers.
  • Zapier MCP for Smartsheet: action-based access through Zapier's MCP gateway if you already use Zapier.