Connect your AI Agents to Smartsheet in minutes

Available tools
list_attachments
List all attachments on a sheet with pagination. Includes file attachments and URL links.
attach_url
Attach a URL to a sheet. Supported types: LINK, BOX_COM, DROPBOX, EGNYTE, EVERNOTE, GOOGLE_DRIVE, ONEDRIVE.
get_attachment
Get attachment details including download URL for file attachments. Use list_attachments to find IDs.
delete_attachment
Delete an attachment from a sheet. This cannot be undone. Use list_attachments to find IDs.
list_columns
List all columns in a sheet with pagination. Returns column IDs, titles, types, and indices.
add_column
Add a column to a sheet. Specify title, type, and optional index for position. Use PICKLIST type with options for dropdown columns.
get_column
Get a single column by ID. Returns column title, type, options, and other properties.
update_column
Update a column's title, type, or position. Use list_columns to find column IDs.
delete_column
Delete a column from a sheet. This cannot be undone. Cannot delete the primary column.
list_discussions
List all discussions on a sheet with pagination. Includes discussion titles and comment counts.
create_discussion
Create a discussion on a sheet with an initial comment. Optionally provide a title.
create_row_discussion
Create a discussion on a specific row with an initial comment. Use get_sheet to find row IDs.
get_discussion
Get a discussion with all its comments. Use list_discussions to find valid discussion IDs.
delete_discussion
Delete a discussion and all its comments. This cannot be undone.
add_comment
Add a comment to an existing discussion. Use list_discussions to find discussion IDs.
update_comment
Update a comment's text. Use get_discussion to find comment IDs.
delete_comment
Delete a comment. This cannot be undone. Use get_discussion to find comment IDs.
list_home_folders
List folders at the home level with pagination. Does not include workspace folders.
create_folder
Create a folder at home, inside another folder, or in a workspace. Set parent_folder_id for subfolder, workspace_id for workspace folder.
get_folder
Get a folder with its contents (sheets, subfolders, reports). Use list_home_folders to find valid IDs.
update_folder
Update a folder name. Use list_home_folders or get_workspace to find folder IDs.
delete_folder
Permanently delete a folder and all its contents. This cannot be undone.
list_groups
List all groups in the organization with pagination. Groups can be used for sharing sheets.
create_group
Create a new group with optional description and initial members (by email). Requires admin privileges.
get_group
Get a group with its members. Use list_groups to find valid group IDs.
update_group
Update a group's name or description. Use list_groups to find valid group IDs.
delete_group
Delete a group. This cannot be undone. Members are not deleted.
add_group_members
Add members to a group by email address. Use get_group to see current members.
remove_group_member
Remove a member from a group by user ID. Use get_group to find member user IDs.
list_reports
List all reports accessible to the user with pagination. Reports aggregate data from multiple sheets.
add_rows
Add rows to a sheet. Each row has cells with column_id and value. Use to_top/to_bottom/parent_id/sibling_id for positioning.
get_row
Get a single row from a sheet by row ID. Use include parameter for additional data like discussions and attachments.
update_rows
Update existing rows in a sheet. Each row must have id and cells to update. Can also reposition rows with to_top/to_bottom/parent_id.
delete_rows
Delete rows from a sheet by row IDs. This cannot be undone.
move_rows
Move rows from one sheet to another. Rows are removed from the source sheet. Use list_sheets to find sheet IDs.
copy_rows
Copy rows from one sheet to another. Original rows remain in the source sheet. Use list_sheets to find sheet IDs.
search
Search across all sheets, rows, and other objects. Returns matching items with context data and parent references.
search_sheet
Search within a specific sheet. Returns matching rows and cells with context. Use list_sheets to find sheet IDs.
list_sheet_shares
List all shares on a sheet with pagination. Shows who has access and their access level.
share_sheet
Share a sheet with users by email. Set access_level to VIEWER, EDITOR, EDITOR_SHARE, ADMIN, or OWNER.
update_share
Update a share's access level. Use list_sheet_shares to find share IDs.
delete_share
Remove a share from a sheet. The user will lose access. Use list_sheet_shares to find share IDs.
list_sheets
List all sheets accessible to the user with pagination. Use page and page_size to navigate results.
create_sheet
Create a new sheet with specified columns. At least one column must have primary=true. Use TEXT_NUMBER type for general text columns.
get_sheet
Get a sheet with its columns and rows. Use include parameter for attachments, discussions, etc. Supports pagination for rows.
update_sheet
Update sheet properties like name. Use list_sheets to find valid sheet IDs.
delete_sheet
Permanently delete a sheet. This cannot be undone. Use list_sheets to find valid sheet IDs.
copy_sheet
Copy a sheet to home, a workspace, or a folder. Specify destination_type and destination_id for non-home destinations.
sort_sheet
Sort a sheet by one or more columns. Each criterion needs column_id and direction (ASCENDING or DESCENDING).
get_current_user
Get the current authenticated user's profile including email, name, locale, and account info.
list_users
List all users in the organization with pagination. Requires admin privileges.
get_user
Get a user by ID. Requires admin privileges. Use list_users to find valid user IDs.
validate_credential
Validate Smartsheet API credentials by fetching current user profile. Returns {success, message}.
list_webhooks
List all webhooks for the authenticated user with pagination.
create_webhook
Create a webhook to receive callbacks when a sheet changes. Use '.' for events to subscribe to all events.
get_webhook
Get a webhook's details including status, events, and callback URL. Use list_webhooks to find valid IDs.
update_webhook
Update a webhook's enabled status or event subscriptions. Use list_webhooks to find valid IDs.
delete_webhook
Delete a webhook. It will stop receiving callbacks. This cannot be undone.
list_workspaces
List all workspaces with pagination. Returns workspace IDs, names, and access levels.
create_workspace
Create a new workspace. Workspaces organize sheets, reports, and dashboards.
get_workspace
Get a workspace with its contents (sheets, folders, reports, dashboards). Use list_workspaces to find valid IDs.
update_workspace
Update a workspace name. Use list_workspaces to find valid IDs.
delete_workspace
Permanently delete a workspace and all its contents. This cannot be undone.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Smartsheet MCP server
FAQs on using Merge's Smartsheet MCP server
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now


















