Skip to main content
Glama
prmbr42-bot

Smartsheet MCP Server

by prmbr42-bot

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP listen port3000
TRANSPORTNoSet to 'http' for remote/Copilot deploymentsstdio
SMARTSHEET_API_TOKENYesSmartsheet API Bearer token

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
smartsheet_get_sheetA

Retrieve sheet data from Smartsheet including columns, rows, and cell values. Supports optional filtering by column IDs, row IDs, and pagination via rowsModifiedSince. Use this to read project data, task lists, resource grids, or any tabular data stored in a sheet.

Args:

  • sheet_id (number): The numeric Smartsheet sheet ID

  • column_ids (number[], optional): Limit response to specific column IDs

  • row_ids (number[], optional): Limit response to specific row IDs

  • rows_modified_since (string, optional): ISO 8601 date; return only rows modified after this date

  • page_size (number, optional): Rows per page (default 100, max 500)

  • page (number, optional): Page number (default 1)

  • include_filters (boolean, optional): Include filter definitions in response

Returns: Sheet metadata, columns array, and rows array with cell values.

smartsheet_list_sheetsA

List all sheets the authenticated user has access to, with pagination support. Returns sheet name, ID, permalink, access level, and modification timestamps. Use this to discover available sheets before reading data from a specific one.

Args:

  • page_size (number, optional): Results per page (default 100, max 100)

  • page (number, optional): Page number (default 1)

  • modified_since (string, optional): ISO 8601 date filter

Returns: Array of sheet summaries with IDs and metadata.

smartsheet_add_rowsA

Add one or more rows to a Smartsheet sheet. Each row specifies cells as columnId/value pairs. Rows can be positioned at top, bottom, or relative to a parent/sibling row for hierarchical (indent) structures.

Args:

  • sheet_id (number): Target sheet ID

  • rows (array): Array of row objects, each containing:

    • cells (array): Array of {columnId, value} objects

    • to_top (boolean, optional): Insert at top of sheet

    • to_bottom (boolean, optional): Insert at bottom (default)

    • parent_id (number, optional): Make this a child of this row ID

    • sibling_id (number, optional): Insert as sibling below this row ID

    • expanded (boolean, optional): Whether row is expanded (default true)

Returns: Newly created row IDs and updated sheet version.

smartsheet_update_rowsA

Update one or more existing rows in a Smartsheet sheet. Each row update specifies the row ID and cells to change. Only provided cells are updated; unspecified cells are left unchanged. Can also lock/unlock rows or change hierarchy.

Args:

  • sheet_id (number): Target sheet ID

  • rows (array): Array of row update objects, each containing:

    • row_id (number): ID of the row to update

    • cells (array): Array of {column_id, value} cells to update

    • locked (boolean, optional): Lock or unlock the row

    • expanded (boolean, optional): Expand or collapse row

Returns: Updated row data and new sheet version.

smartsheet_delete_rowsA

Permanently delete one or more rows from a Smartsheet sheet. This operation is IRREVERSIBLE. Deleted rows and their cell data are permanently removed. Confirm row IDs before calling. Child rows are also deleted when parent rows are removed.

Args:

  • sheet_id (number): Target sheet ID

  • row_ids (number[]): Array of row IDs to delete (max 450 per request)

  • ignore_rows_not_found (boolean, optional): If true, silently skip non-existent row IDs

Returns: Confirmation message and updated sheet version.

smartsheet_get_columnsA

Retrieve all column definitions for a Smartsheet sheet. Returns column IDs, titles, types (TEXT_NUMBER, DATE, PICKLIST, CHECKBOX, CONTACT_LIST, etc.), options for dropdown columns, and whether each column is primary. Use this to get column IDs needed before adding or updating rows.

Args:

  • sheet_id (number): Target sheet ID

Returns: Array of column definitions with IDs, types, and options.

smartsheet_add_columnsA

Add one or more new columns to a Smartsheet sheet. Supported column types: TEXT_NUMBER, DATE, DATETIME, PICKLIST, CHECKBOX, CONTACT_LIST, DURATION, PREDECESSOR, AUTO_NUMBER, ABSTRACT_DATETIME. Picklist/dropdown columns require an 'options' array.

Args:

  • sheet_id (number): Target sheet ID

  • columns (array): Column definitions, each with:

    • title (string): Column header text

    • type (string): Column type (TEXT_NUMBER, DATE, PICKLIST, CHECKBOX, CONTACT_LIST, etc.)

    • index (number, optional): 0-based position; appends if omitted

    • options (string[], optional): Dropdown options for PICKLIST columns

    • width (number, optional): Column width in pixels

Returns: Created column definitions with assigned IDs.

smartsheet_get_reportA

Retrieve data from a Smartsheet report by ID. Reports aggregate rows from multiple sheets. Returns columns, rows, and cell values just like a sheet, but the rows may originate from different source sheets. Supports pagination since reports can have very large row counts.

Args:

  • report_id (number): The numeric Smartsheet report ID

  • page_size (number, optional): Rows per page (default 100, max 500)

  • page (number, optional): Page number (default 1)

  • level (number, optional): Hierarchy level (0 = all, 1 = summary only)

Returns: Report metadata, columns, and rows with source sheet context.

smartsheet_list_reportsA

List all reports the authenticated user has access to. Returns report name, ID, permalink, access level, and modification timestamps.

Args:

  • page_size (number, optional): Results per page (default 100, max 100)

  • page (number, optional): Page number (default 1)

  • modified_since (string, optional): ISO 8601 date — only reports modified after this date

Returns: Array of report summaries with IDs.

smartsheet_list_workspacesA

List all Smartsheet workspaces the authenticated user has access to. Returns workspace name, ID, access level, and child resource counts.

Args:

  • page_size (number, optional): Results per page (default 100)

  • page (number, optional): Page number (default 1)

Returns: Array of workspace summaries with IDs.

smartsheet_browse_workspaceA

Get the full contents of a workspace: all sheets, reports, folders, and dashboards. Use this to discover what resources exist in a workspace before accessing them.

Args:

  • workspace_id (number): Smartsheet workspace ID

  • load_all (boolean, optional): If true, include nested folder contents

Returns: Workspace contents tree with IDs for all sheets, reports, folders, dashboards.

smartsheet_browse_folderA

Get the contents of a Smartsheet folder: sheets, reports, sub-folders, and dashboards.

Args:

  • folder_id (number): Smartsheet folder ID

  • load_all (boolean, optional): Include nested sub-folder contents

Returns: Folder contents with IDs for all child resources.

smartsheet_list_dashboardsA

List all Smartsheet dashboards (Sights) the authenticated user has access to.

Args:

  • page_size (number, optional): Results per page (default 100)

  • page (number, optional): Page number (default 1)

Returns: Array of dashboard summaries with IDs and metadata.

smartsheet_list_sheet_discussionsA

Retrieve all discussions on a sheet (both sheet-level and row-level discussions). Returns discussion titles, comment counts, last activity, and comment text.

Args:

  • sheet_id (number): Target sheet ID

  • include_comments (boolean, optional): Include comment text in response (default true)

  • page_size (number, optional): Results per page (default 100)

  • page (number, optional): Page number (default 1)

Returns: Array of discussions with comments.

smartsheet_list_row_discussionsA

Retrieve all discussions attached to a specific row in a sheet.

Args:

  • sheet_id (number): Target sheet ID

  • row_id (number): Target row ID

  • include_comments (boolean, optional): Include comment text (default true)

Returns: Discussions and comments on the specified row.

smartsheet_create_sheet_discussionA

Create a new discussion (with initial comment) at the sheet level in Smartsheet.

Args:

  • sheet_id (number): Target sheet ID

  • comment_text (string): Initial comment text for the discussion

Returns: New discussion ID and comment ID.

smartsheet_create_row_discussionA

Create a new discussion (with initial comment) on a specific row in a sheet.

Args:

  • sheet_id (number): Target sheet ID

  • row_id (number): Target row ID

  • comment_text (string): Initial comment text

Returns: New discussion ID and comment ID.

smartsheet_add_commentA

Add a reply comment to an existing discussion on a sheet.

Args:

  • sheet_id (number): Target sheet ID

  • discussion_id (number): Target discussion ID

  • comment_text (string): Text of the comment to add

Returns: New comment ID and creation timestamp.

smartsheet_delete_commentA

Permanently delete a comment from a discussion on a sheet. Only the comment author can delete their own comments. This action is IRREVERSIBLE.

Args:

  • sheet_id (number): Sheet ID containing the comment

  • comment_id (number): Comment ID to delete

Returns: Deletion confirmation.

smartsheet_list_attachmentsA

List all attachments on a Smartsheet sheet (both sheet-level and row-level). Returns attachment name, type, size, and temporary download URL.

Args:

  • sheet_id (number): Target sheet ID

  • page_size (number, optional): Results per page (default 100)

  • page (number, optional): Page number (default 1)

Returns: Array of attachment metadata with download URLs (URLs expire after a short period).

smartsheet_list_row_attachmentsA

List all attachments on a specific row in a Smartsheet sheet.

Args:

  • sheet_id (number): Target sheet ID

  • row_id (number): Target row ID

Returns: Array of attachment metadata for the row.

smartsheet_attach_url_to_rowA

Attach a URL link to a specific row in a Smartsheet sheet. Creates a hyperlink attachment that appears in the row's attachment panel.

Args:

  • sheet_id (number): Target sheet ID

  • row_id (number): Target row ID

  • url (string): URL to attach

  • name (string): Display name for the attachment

  • description (string, optional): Description text

Returns: New attachment ID and metadata.

smartsheet_delete_attachmentA

Permanently delete an attachment from a Smartsheet sheet. This action is IRREVERSIBLE. Verify the attachment ID before proceeding.

Args:

  • sheet_id (number): Sheet ID containing the attachment

  • attachment_id (number): Attachment ID to delete

Returns: Deletion confirmation.

smartsheet_searchA

Search across all accessible Smartsheet assets (sheets, reports, dashboards, rows, cells, discussions). Returns matching objects with their type, ID, and parent context. Use this to find sheets by name, locate rows containing specific text, or discover resources.

Args:

  • query (string): Search text (minimum 2 characters)

  • scope (string[], optional): Limit to specific object types: "cellData", "comments", "folderNames", "reportNames", "sheetNames", "sightNames", "summaryFields", "workspaceNames"

  • include_favorites (boolean, optional): Include favorite resources in results

  • page_size (number, optional): Max results (default 100)

Returns: Matching objects with IDs, types, and parent context.

smartsheet_search_sheetA

Search for text within a specific Smartsheet sheet. Searches cell values, formulas, comments, and summary fields within one sheet.

Args:

  • sheet_id (number): Sheet ID to search within

  • query (string): Text to search for

Returns: Matching rows and cells within the sheet.

smartsheet_get_cell_historyA

Retrieve the full modification history for a specific cell in a Smartsheet sheet. Shows all previous values, who changed the value, and when each change occurred. Useful for audit trails and tracking project status changes over time.

Args:

  • sheet_id (number): Target sheet ID

  • row_id (number): Target row ID

  • column_id (number): Target column ID

  • page_size (number, optional): History entries per page (default 100)

  • page (number, optional): Page number (default 1)

Returns: Chronological list of cell value changes with timestamps and user info.

smartsheet_get_sheet_versionA

Get the current version number of a sheet without loading all row data. Use this to efficiently detect whether a sheet has been modified since last read, without pulling the full sheet payload.

Args:

  • sheet_id (number): Target sheet ID

Returns: Current version number and last modification timestamp.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prmbr42-bot/smartsheet-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server