Model Context Protocol server for Smartsheet API integration
Server has 4 tools with basic schemas and descriptions, but significant gaps prevent production use. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Schemas are present but minimal: list_sheets has empty input {}, read_sheet and search_sheets have single string params with descriptions, add_rows has structured array input. No output schemas documented. No error handling guidance, no parameter constraints (enums, ranges), no idempotency hints. Tool names follow verb_noun pattern (good), but descriptions lack WHEN/WHY context. No tool annotations (readOnlyHint, destructiveHint). Security note in comments but no per-tool scope declarations.
Add one or more rows to a sheet
List all available sheets in the Smartsheet account
Read the contents of a specific sheet including all rows and columns
Search for sheets, rows, and cells across the Smartsheet account
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., sheet IDs for chaining). Baseline: 100% of A+ tools document return types.
Descriptions are 10-50 characters, well below the 50-200 char baseline for LLM optimization. Missing WHEN/WHY context. E.g., 'List all available sheets in the Smartsheet account' does not explain when to call this vs search_sheets, or what structure is returned.
No parameter constraints (enums, ranges, patterns). 'query' in search_sheets has no format guidance. 'cells' array in add_rows has no min/max length. LLMs will pass unbounded or invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
No error handling guidance. No recovery hints (e.g., 'If sheet not found, call search_sheets'). No categorization of errors as retryable vs fatal. Agents cannot self-correct on failures.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). add_rows is destructive but unmarked. Agents cannot distinguish safe vs risky operations. Baseline: current spec includes tool annotations.