mcp-server-smartsheet-rm
Enterprise Model Context Protocol (MCP) server for Resource Management by Smartsheet (10,000ft API).
Enables AI coding agents, planners, and assistants (Claude, Cortex, Antigravity, VS Code) to orchestrate the complete Smartsheet RM REST API surface: time tracking & timesheet reconciliation, resource scheduling & allocations, capacity planning, project & phase management, leaves/holidays, expense tracking, and custom fields.
⚡ Tool Surface Overview
The server exposes tools covering projects, resources, timesheets, and capacity:
- Default Registration: 98 tools (with bulk-destructive operations gated by default).
- With Bulk Operations: 100 total tools when
SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE=1. - Read-Only Mode: 39 tools (
readOnlyHint=true). - Destructive Gates: 21 tools requiring explicit
confirm=True(19 standard + 2 bulk). - Idempotent Operations: 4 tools with
idempotentHint=true.
Domain Breakdown
Counts below include the 2 bulk-destructive tools (100 total).
- Time Tracking & Approvals (8 tools): List/get/create/update/delete time entries, fetch suggestions, approve/reject hours, lock timesheets.
- Projects & Phases (11 tools): Full CRUD for projects, project users, milestones, budgets, and project phases.
- Assignments & Scheduling (5 tools): Full CRUD for resource assignments, percentages, fixed hours, and schedules.
- Users, Roles & Capacity (17 tools): User management, bill rate tiers, availability queries, utilization metrics, roles, and disciplines.
- Clients & Contacts (8 tools): Client organization CRUD and client contact records.
- Leaves & Holidays (10 tools): Vacation/PTO leave types, non-working days, and regional company holidays.
- Expense Tracking (8 tools): Expense submissions, category definitions, and billable tracking.
- Tags & Custom Fields (10 tools): Custom field definitions, field values, and tagging.
- Approvals, Statuses & Placeholders (9 tools): Organization approvals, user work status tracking (ITO/WFH/OOO/VAC), and placeholder resources.
- Subtasks, Reports & Webhooks (8 tools): Assignment task checklists, custom report generation (rows/totals), and event webhooks.
- Composite Workflow Recipes (6 tools): Bulk timesheet logging, auto-suggestion confirmation, 40h reconciliation audit, project schedule cloning, and bulk deletion.
🚀 Quickstart & Installation
1. Installation
# Using uv (recommended)
uv pip install mcp-server-smartsheet-rm
# Or standard pip
pip install mcp-server-smartsheet-rm
2. Environment Variables
| Variable | Description | Default |
|---|---|---|
SMARTSHEET_RM_API_TOKEN |
Smartsheet RM (10,000ft) API Token (Required) | - |
SMARTSHEET_RM_BASE_URL |
Base API URL | https://api.rm.smartsheet.com/api/v1 |
SMARTSHEET_RM_PROFILE |
Tool profile subset: time, projects, admin, full |
full |
SMARTSHEET_RM_READONLY |
Set to 1 to restrict server to read-only tools |
0 |
SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE |
Set to 1 to unlock bulk delete operations |
0 |
SMARTSHEET_RM_LOG_FORMAT |
Set to json for Datadog/CloudWatch structured logs |
text |
💻 Client Configurations
Google Antigravity (~/.gemini/antigravity-cli/mcp_config.json)
{
"mcpServers": {
"smartsheet-rm": {
"command": "uvx",
"args": ["mcp-server-smartsheet-rm"],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-api-token"
},
"lazy": true
}
}
}
Snowflake Cortex (~/.snowflake/cortex/mcp.json)
{
"servers": {
"smartsheet-rm": {
"command": "uvx",
"args": ["mcp-server-smartsheet-rm"],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-api-token"
}
}
}
}
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"smartsheet-rm": {
"command": "uvx",
"args": ["mcp-server-smartsheet-rm"],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-api-token"
}
}
}
}
🛡️ Safety & Reliability
- Secret Redaction: API tokens, bearer headers, and sensitive keys are automatically scrubbed from errors and logs.
- Destructive Gates: Every deletion tool declares
confirm: bool = Falseand rejects execution unless the caller explicitly passesconfirm=True. - Profile Filtering: Minimize token footprint by loading only relevant tool sets (
time,projects,admin). - Resilience: Exponential backoff with randomized jitter on HTTP 429 rate limits.
🧪 Testing & Validation
# Run tests with 100% coverage requirement
pytest --cov=src/smartsheet_rm_mcp --cov-fail-under=100 -v
# Run Tool Contract verification
python scripts/check_tool_contract.py
# Run OpenAPI Drift check
python scripts/check_openapi_drift.py
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_smartsheet_rm-1.0.1.tar.gz.
File metadata
- Download URL: mcp_server_smartsheet_rm-1.0.1.tar.gz
- Upload date:
- Size: 48.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
996547f94d91ab447a3a9672e1ee69b9d056fcdc7272c0944261ea213646f86e
|
|
| MD5 |
2cc87e0ff5723e1b1df11355debdf717
|
|
| BLAKE2b-256 |
ce086eaf7cc9ec582182739279cf4b39599bcdc46928e9ed73ba21b0e8a4b017
|
Provenance
The following attestation bundles were made for mcp_server_smartsheet_rm-1.0.1.tar.gz:
Publisher:
release.yml on christianclaudio/mcp-server-smartsheet-rm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_smartsheet_rm-1.0.1.tar.gz -
Subject digest:
996547f94d91ab447a3a9672e1ee69b9d056fcdc7272c0944261ea213646f86e - Sigstore transparency entry: 2470628865
- Sigstore integration time:
-
Permalink:
christianclaudio/mcp-server-smartsheet-rm@d5311375fcaf5e2d4831f102f3ba249d5bf9e19d -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/christianclaudio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d5311375fcaf5e2d4831f102f3ba249d5bf9e19d -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_smartsheet_rm-1.0.1-py3-none-any.whl.
File metadata
- Download URL: mcp_server_smartsheet_rm-1.0.1-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a543c9cf2daa57a5f76cbea920a98e6680e88797940ac5c5e8f8bfaa9646bda2
|
|
| MD5 |
4bfa92b1c5167ef211ad4e6335c29bc9
|
|
| BLAKE2b-256 |
41091dc0dbe5ce79bb318b936ef147ec9b3eb857ae982555f8a1185bc8c3e906
|
Provenance
The following attestation bundles were made for mcp_server_smartsheet_rm-1.0.1-py3-none-any.whl:
Publisher:
release.yml on christianclaudio/mcp-server-smartsheet-rm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_smartsheet_rm-1.0.1-py3-none-any.whl -
Subject digest:
a543c9cf2daa57a5f76cbea920a98e6680e88797940ac5c5e8f8bfaa9646bda2 - Sigstore transparency entry: 2470628901
- Sigstore integration time:
-
Permalink:
christianclaudio/mcp-server-smartsheet-rm@d5311375fcaf5e2d4831f102f3ba249d5bf9e19d -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/christianclaudio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d5311375fcaf5e2d4831f102f3ba249d5bf9e19d -
Trigger Event:
push
-
Statement type: