Smartsheet MCP Server
Official Smartsheet MCP server for searching workspaces, reading and updating sheets, managing rows, columns, attachments, discussions, reports, and dashboards.
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. |
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
npxbased 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.
- 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_historyfor compliance reviews on regulated sheets. - Search across workspaces with
search, then pull report data viaget_reportfor executive roll-ups. - Spin up new project sheets from templates with
create_sheet_in_workspace_from_templateand seed folders/workspaces for a new client engagement.
- "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'."
- 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.
- 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_rowsis capped at 10 rows per call, requiring batching for large cleanups.
- 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.