Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
MCP server for Smartsheet Resource Management (10,000ft API) time tracking and scheduling.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SMARTSHEET_RM_API_TOKEN, SMARTSHEET_RM_BASE_URL, SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN, SMARTSHEET_RM_ALLOWED_HOSTSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"smartsheet-rm": {
"command": "uvx",
"args": [
"mcp-server-smartsheet-rm"
],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-value",
"SMARTSHEET_RM_BASE_URL": "your-value",
"SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN": "your-value",
"SMARTSHEET_RM_ALLOWED_HOSTS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add smartsheet-rm --env SMARTSHEET_RM_API_TOKEN=your-value --env SMARTSHEET_RM_BASE_URL=your-value --env SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN=your-value --env SMARTSHEET_RM_ALLOWED_HOSTS=your-value -- uvx mcp-server-smartsheet-rmFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"smartsheet-rm": {
"command": "uvx",
"args": [
"mcp-server-smartsheet-rm"
],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-value",
"SMARTSHEET_RM_BASE_URL": "your-value",
"SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN": "your-value",
"SMARTSHEET_RM_ALLOWED_HOSTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"smartsheet-rm": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-smartsheet-rm"
],
"env": {
"SMARTSHEET_RM_API_TOKEN": "your-value",
"SMARTSHEET_RM_BASE_URL": "your-value",
"SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN": "your-value",
"SMARTSHEET_RM_ALLOWED_HOSTS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SMARTSHEET_RM_BASE_URL envSMARTSHEET_RM_ALLOWED_HOSTS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
The registry name was verified with the GitHub account christianclaudio, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SMARTSHEET_RM_API_TOKEN, SMARTSHEET_RM_GOV_SMARTSHEET_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.3.0) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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 work with the Smartsheet RM public REST API: time tracking & timesheet reconciliation, resource scheduling & allocations, capacity planning, project & phase management, leaves/holidays, expense tracking, and custom fields.
graph TD
Client["AI Agent (Claude / Cortex / Antigravity / Cursor)"] -->|"MCP Stdio / Streamable HTTP /mcp"| Server["Root Gateway create_server()"] Server --> Middle["Parent Middleware (ParentAudit / ReadOnly Gate)"] Middle --> SubTime["time namespace (time_* — 19 tools, incl. 1 bulk-gated)"] Middle --> SubProj["projects namespace (projects_* — 36 tools, incl. 1 bulk-gated)"] Middle --> SubAdmin["admin namespace (admin_* — 60 tools)"] SubTime --> Guards["Domain Guards"] SubProj --> Guards SubAdmin --> Guards Guards --> ClientPool["SmartsheetRMClient (httpx.AsyncClient Pool)"] ClientPool -->|"auth header + 429 Jitter Retry"| API["Smartsheet RM (10,000ft API)"]
create_server mounts the time, projects, and admin sub-servers with FastMCP 4 namespace=, so tools/list names are time_*, projects_*, and admin_*. Legacy rm_* names are not registered on the gateway.
root.mount(..., namespace=...)):namespace="time" → time_* (19 tools, including the bulk-gated time_bulk_delete_time_entries).namespace="projects" → projects_* (36 tools, including the bulk-gated projects_bulk_delete_assignments).namespace="admin" → admin_* (60 tools).ParentAuditMiddleware (timing, lifecycle logs, secret redaction) and ReadOnlyGateMiddleware (annotation-driven read-only gate, see below).TimeDomainGuardMiddleware (logged hours must be 0–24; bulk gate), ProjectsDomainGuardMiddleware (project names must be non-empty; bulk gate), AdminDomainGuardMiddleware (per_page must be ≤ 1000).Pick a profile with --profile or SMARTSHEET_RM_PROFILE (default full). An unknown profile name fails at startup with ValueError. There are two kinds:
full, time, projects, admin, and readonly.readonly; the domain-mount profiles time, projects and admin carry only their own domain's prompts and resources. Each listed name is checked against the full catalog when the server builds, so a typo fails at startup.| Profile | Job it serves | Tools | With SMARTSHEET_RM_READONLY=1 |
|---|---|---|---|
full | Complete catalog, nothing omitted. Bulk tools are listed and refused at call time unless SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE=1. Tool Search and Code Mode attach only here. | 115 | 50 |
time | Time tracking, approvals and timesheet recipes (time domain). | 19 | 6 |
projects | Projects, phases, assignments, placeholders and subtasks (projects domain). | 36 | 19 |
admin | Users, org reference data, clients, expenses, fields, reports and webhooks (admin domain). | 60 | 25 |
readonly | Inspect without side effects: every tool annotated readOnlyHint=True. | 50 | 50 |
timesheets | Team member or manager logs, corrects, submits, locks and approves weekly time against their assignments. | 26 | 14 |
staffing | Resource manager checks availability and utilization and creates or adjusts assignments, placeholders and subtasks. | 33 | 24 |
org_setup | Resource-management admin onboards people and maintains org reference data, custom-field definitions, user statuses and webhooks. | 35 | 13 |
portfolio | PMO sets up and maintains projects, phases, clients, expenses and project metadata, and reads budget and report totals. | 36 | 21 |
Seven tools are in no job profile and are reachable only in full (or their domain-mount profile): time_bulk_delete_time_entries, projects_bulk_delete_assignments, admin_delete_client, admin_delete_client_contact, admin_create_expense_category, admin_delete_expense_category, and admin_delete_tag.
readOnlyHint annotation is the only thing that decides whether a tool is read-only. Every tool declares it explicitly: true on the 50 reads and false on the 65 writes. A tool with no annotation or no readOnlyHint counts as a write.--profile readonly or SMARTSHEET_RM_READONLY=1 (on any profile) lists only the read-only tools, and ReadOnlyGateMiddleware refuses any call to a real tool that is not read-only, including a write the filter hid. A refusal comes back as a tool result with isError: true.Unknown tool error, directly or through call_tool, so a typo is never reported as a blocked tool.call_tool wraps. Reads through call_tool work and writes are refused. Without Tool Search, call_tool is not a tool on the server, so a call to it gets Unknown tool: 'call_tool'.time_bulk_delete_time_entries and projects_bulk_delete_assignments are listed in full, time and projects. The domain guards refuse them at call time (isError: true) unless SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE=1, and the handlers still require confirm=True. Read-only mode hides and refuses them.
tools/list is flat by default. Discovery is opt-in and attaches only on `full`:
--enable-tool-search / SMARTSHEET_RM_ENABLE_TOOL_SEARCH=1 replaces tools/list with search_tools and call_tool. The backend is regex (default) or bm25 (--tool-search-backend / SMARTSHEET_RM_TOOL_SEARCH_BACKEND).--enable-code-mode / SMARTSHEET_RM_ENABLE_CODE_MODE=1 attaches FastMCP's experimental Code Mode (search, get_schema, execute). Code Mode needs the sandbox from the package's code-mode extra (fastmcp[code-mode], which ships pydantic-monty): pip install "mcp-server-smartsheet-rm[code-mode]" or uvx --from "mcp-server-smartsheet-rm[code-mode]" smartsheet-rm-mcp --enable-code-mode. Without it, Code Mode is skipped with a warning and the flat catalog is served.ValueError. Asking for either on another profile logs a warning and keeps the flat list.search_tools, search and get_schema only read the catalog and are annotated readOnlyHint=True. Under read-only, Code Mode execute is refused.The server exposes tools covering projects, resources, timesheets, and capacity. Call the namespaced names below:
full (the 2 bulk-destructive tools are listed and refused at call time unless SMARTSHEET_RM_ALLOW_BULK_DESTRUCTIVE=1).readOnlyHint=true).confirm=True (19 standard + 2 bulk).idempotentHint=true (the 50 read-only tools, plus time_update_time_approval_status, time_lock_timesheet, admin_set_custom_field_values, and admin_set_user_status).Agents call these tools/list names. Counts for time and projects include the bulk-gated tool.
time_*, 19 tools)**: time_list_time_entries, time_get_time_entry, time_create_time_entry, time_create_user_time_entry, time_create_project_time_entry, time_update_time_entry, time_delete_time_entry, time_list_user_suggestions, time_update_time_approval_status, time_lock_timesheet, time_fill_weekly_timesheet, time_confirm_suggested_hours, time_reconcile_and_submit_week, time_list_approvals, time_create_approval, time_delete_approval, time_list_time_entry_categories, time_list_project_time_entry_categories. Bulk-gated: time_bulk_delete_time_entries.projects_*, 36 tools)**: projects_list_projects, projects_get_project, projects_create_project, projects_update_project, projects_delete_project, projects_list_project_users, projects_list_project_phases, projects_get_project_phase, projects_create_project_phase, projects_update_project_phase, projects_delete_project_phase, projects_list_assignments, projects_get_assignment, projects_create_assignment, projects_create_project_assignment, projects_create_user_assignment, projects_update_assignment, projects_delete_assignment, projects_clone_project_schedule, projects_list_status_options, projects_list_placeholder_resources, projects_create_placeholder_resource, projects_delete_placeholder_resource, projects_list_assignment_subtasks, projects_create_assignment_subtask, projects_delete_assignment_subtask, projects_list_assignables, projects_get_assignable, projects_list_project_budget_items, projects_get_budget_item, projects_get_project_budget_item, projects_list_project_members, projects_list_relationships_project_members, projects_list_relationships_project_memberships, projects_list_user_project_memberships. Bulk-gated: projects_bulk_delete_assignments.admin_*, 60 tools)**:admin_list_users, admin_get_user, admin_create_user, admin_update_user, admin_delete_user, admin_list_user_bill_rates, admin_create_user_bill_rate, admin_get_user_availability, admin_get_user_utilization, admin_list_roles, admin_create_role, admin_update_role, admin_delete_role, admin_list_disciplines, admin_create_discipline, admin_update_discipline, admin_delete_discipline.admin_list_clients, admin_get_client, admin_create_client, admin_update_client, admin_delete_client, admin_list_client_contacts, admin_create_client_contact, admin_delete_client_contact.admin_list_leave_types, admin_get_leave_type, admin_create_leave_type, admin_update_leave_type, admin_delete_leave_type, admin_list_holidays, admin_get_holiday, admin_create_holiday, admin_update_holiday, admin_delete_holiday.admin_list_expenses, admin_get_expense, admin_create_expense, admin_update_expense, admin_delete_expense, admin_list_expense_categories, admin_create_expense_category, admin_delete_expense_category.admin_list_tags, admin_create_tag, admin_delete_tag, admin_list_custom_fields, admin_get_custom_field, admin_create_custom_field, admin_update_custom_field, admin_delete_custom_field, `admin_list_custom_field_valuOnly the beginning is shown; read the rest in the repo