ServalSheets v2.0.0 — Production MCP Server for Google Sheets
Highlights
- 25 tools, 407 actions across monorepo packages
- MCP 2025-11-25 protocol compliance (A+) — full support for Sampling, Elicitation, Tasks, Resources, Prompts, Completions, Icons
- 2784/2784 tests pass — TypeScript strict mode, 141 test files
- Monorepo architecture: @serval/mcp-client, @serval/mcp-stdio, @serval/mcp-http, @serval/core
Architecture
- Handler decomposition: 5 oversized handlers split into focused submodules (51–82% size reduction)
- Service extraction: action-recommender, compute-engine, agent-engine decomposed (96–99% reduction)
- Layer violation fix: sampling-consent utilities extracted to utils/
- Adapter pattern: packages/mcp-http (generic) vs src/http-server (product-specific)
Security
- timingSafeEqual for admin authentication
- SAML 2.0 Service Provider with production hardening
- Bounded maps throughout (session GC, tenant cleanup, event store)
- Credential sanitization (OAuth secrets removed from tracked configs)
Intelligence
- XFetch probabilistic early cache expiry + SWR + LRU+TTL hybrid eviction
- Spearman rank correlation, Isolation Forest anomaly detection, K-Means clustering
- Recovery playbooks for 9 error codes
- Agency + cost hints in tools/list
What's New Since v1.x
- 92 new actions (315 → 407)
- 3 new tools (22 → 25): sheets_federation, sheets_webhook, sheets_connectors
- Cross-spreadsheet federation (cross_read, cross_query, cross_write, cross_compare)
- Natural language sheet generation
- Automated data cleaning pipeline
- Time-travel debugger (cell-level revision diff + surgical restore)
- Scenario modeling (what-if analysis with dependency graph)
Full changelog: 100+ development sessions of iterative improvements.