{
  "markdown": "# 📋 mcp-server-smartsheet-rm\n\n[![CI](https://github.com/christianclaudio/mcp-server-smartsheet-rm/actions/workflows/ci.yml/badge.svg)](https://github.com/christianclaudio/mcp-server-smartsheet-rm/actions/workflows/ci.yml)\n[![PyPI](https://img.shields.io/pypi/v/mcp-server-smartsheet-rm)](https://pypi.org/project/mcp-server-smartsheet-rm/)\n[![Python](https://img.shields.io/pypi/pyversions/mcp-server-smartsheet-rm)](https://pypi.org/project/mcp-server-smartsheet-rm/)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen.svg)](https://github.com/christianclaudio/mcp-server-smartsheet-rm)\n[![CodeRabbit Reviews](https://img.shields.io/coderabbit/prs/github/christianclaudio/mcp-server-smartsheet-rm?labelColor=171717&color=FF570A&label=CodeRabbit+Reviews)](https://coderabbit.ai)\n\nEnterprise Model Context Protocol (MCP) server for **Resource Management by Smartsheet** (10,000ft API).\n\nEnables 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.\n\n---\n\n## ⚡ Tool Surface Overview\n\nThe server exposes tools covering projects, resources, timesheets, and capacity:\n- **Default Registration**: 98 tools (with bulk-destructive operations gated by default).\n- **With Bulk Operations**: 100 total tools when `SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE=1`.\n- **Read-Only Mode**: 39 tools (`readOnlyHint=true`).\n- **Destructive Gates**: 21 tools requiring explicit `confirm=True` (19 standard + 2 bulk).\n- **Idempotent Operations**: 4 tools with `idempotentHint=true`.\n\n### Domain Breakdown\n_Counts below include the 2 bulk-destructive tools (100 total)._\n1. **Time Tracking & Approvals (8 tools)**: List/get/create/update/delete time entries, fetch suggestions, approve/reject hours, lock timesheets.\n2. **Projects & Phases (11 tools)**: Full CRUD for projects, project users, milestones, budgets, and project phases.\n3. **Assignments & Scheduling (5 tools)**: Full CRUD for resource assignments, percentages, fixed hours, and schedules.\n4. **Users, Roles & Capacity (17 tools)**: User management, bill rate tiers, availability queries, utilization metrics, roles, and disciplines.\n5. **Clients & Contacts (8 tools)**: Client organization CRUD and client contact records.\n6. **Leaves & Holidays (10 tools)**: Vacation/PTO leave types, non-working days, and regional company holidays.\n7. **Expense Tracking (8 tools)**: Expense submissions, category definitions, and billable tracking.\n8. **Tags & Custom Fields (10 tools)**: Custom field definitions, field values, and tagging.\n9. **Approvals, Statuses & Placeholders (9 tools)**: Organization approvals, user work status tracking (ITO/WFH/OOO/VAC), and placeholder resources.\n10. **Subtasks, Reports & Webhooks (8 tools)**: Assignment task checklists, custom report generation (rows/totals), and event webhooks.\n11. **Composite Workflow Recipes (6 tools)**: Bulk timesheet logging, auto-suggestion confirmation, 40h reconciliation audit, project schedule cloning, and bulk deletion.\n\n---\n\n## 🚀 Quickstart & Installation\n\n### 1. Installation\n\n```bash\n# Using uv (recommended)\nuv pip install mcp-server-smartsheet-rm\n\n# Or standard pip\npip install mcp-server-smartsheet-rm\n```\n\n### 2. Environment Variables\n\n| Variable | Description | Default |\n| :--- | :--- | :--- |\n| `SMARTSHEET_RM_API_TOKEN` | Smartsheet RM (10,000ft) API Token (**Required**) | - |\n| `SMARTSHEET_RM_BASE_URL` | Base API URL | `https://api.rm.smartsheet.com/api/v1` |\n| `SMARTSHEET_RM_PROFILE` | Tool profile subset: `time`, `projects`, `admin`, `full` | `full` |\n| `SMARTSHEET_RM_READONLY` | Set to `1` to restrict server to read-only tools | `0` |\n| `SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE` | Set to `1` to unlock bulk delete operations | `0` |\n| `SMARTSHEET_RM_LOG_FORMAT` | Set to `json` for Datadog/CloudWatch structured logs | `text` |\n\n---\n\n## 💻 Client Configurations\n\n### Google Antigravity (`~/.gemini/antigravity-cli/mcp_config.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"smartsheet-rm\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-smartsheet-rm\"],\n      \"env\": {\n        \"SMARTSHEET_RM_API_TOKEN\": \"your-api-token\"\n      },\n      \"lazy\": true\n    }\n  }\n}\n```\n\n### Snowflake Cortex (`~/.snowflake/cortex/mcp.json`)\n\n```json\n{\n  \"servers\": {\n    \"smartsheet-rm\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-smartsheet-rm\"],\n      \"env\": {\n        \"SMARTSHEET_RM_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop (`claude_desktop_config.json`)\n\n```json\n{\n  \"mcpServers\": {\n    \"smartsheet-rm\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-server-smartsheet-rm\"],\n      \"env\": {\n        \"SMARTSHEET_RM_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## 🛡️ Safety & Reliability\n\n- **Secret Redaction**: API tokens, bearer headers, and sensitive keys are automatically scrubbed from errors and logs.\n- **Destructive Gates**: Every deletion tool declares `confirm: bool = False` and rejects execution unless the caller explicitly passes `confirm=True`.\n- **Profile Filtering**: Minimize token footprint by loading only relevant tool sets (`time`, `projects`, `admin`).\n- **Resilience**: Exponential backoff with randomized jitter on HTTP 429 rate limits.\n\n---\n\n## 🧪 Testing & Validation\n\n```bash\n# Run tests with 100% coverage requirement\npytest --cov=src/smartsheet_rm_mcp --cov-fail-under=100 -v\n\n# Run Tool Contract verification\npython scripts/check_tool_contract.py\n\n# Run OpenAPI Drift check\npython scripts/check_openapi_drift.py\n```\n\n<!-- mcp-name: io.github.christianclaudio/smartsheet-rm -->\n",
  "bytes": 5876,
  "sha": "67f1d05b967529438a8cd6f145e75b5b83fbdc4c272ea6b909f88cb7a5ce76fd",
  "repo_slug": "christianclaudio/mcp-server-smartsheet-rm",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_christianclaudio_smartsheet_rm_454069a9/readme"
}