Changelog#
All notable changes to revenuescope-mcp are recorded here. Version numbers follow Semantic Versioning — MAJOR.MINOR.PATCH:
- MAJOR: a tool is removed, renamed, or its input/output schema changes in a way that breaks existing agent prompts
- MINOR: a tool is added, or an existing tool gains optional inputs / additional output fields
- PATCH: bug fixes, copy refinements, internal refactors with no observable change for clients
The MCP Registry version field in server.json mirrors the version in package.json and the latest release tag.
[Unreleased]#
Added (observability — FD-PILLAR1-OBSERVABILITY §4 implemented 2026-05-08)#
src/observability/metrics.ts— Upstash Redis counters:trackToolInvocation/trackIndustryHit/trackError. 30-day TTL auto-rotation, silent-fail on Redis errors, no-op when Upstash env is absent (matchesrateLimit.tsgraceful degrade).- Per-tool handler integration in all 4 tools — counter increments on every invocation; industry slug counted only on successful lookup (FD axis 3); JSON-RPC error code bucketed via
errorCode()helper insrc/errors.ts. scripts/observability-summary.sh— weekly PM rollup over last N days (default 7). Readsmcp:tool:*/mcp:industry:*/mcp:error:*keys via Upstash REST.scripts/smoke-test-observability.sh— production smoke test that proves counter pipeline before P2-03 marketplace submission (run once before public listing — counter data is irrecoverable if missed at launch).- 9 vitest cases for
metrics.ts(disabled / enabled / partial-env / silent-fail paths). Total suite: 53 tests.
Added (positioning — inst id=mcp-user-value-positioning 2026-05-08)#
server.jsondescriptionrewritten from feature-based (258 chars) to user-value-based (98 chars, within MCP RegistrymaxLength=100): "For EC owners who can't read analytics — ask AI, get verified Japan RPS benchmarks (5 industries)."server.json_meta.com.anthropic.api/mcp-registry.worksWithextended withcursor,cline,continuefor cross-client visibility.- README "Connecting from Cursor" section with note that the same JSON shape works for cline/continue.
Planned (Phase 2)#
- AOV (Average Order Value) and CVR (Conversion Rate) tools
- Industry sub-segmentation (e.g. apparel × revenue band)
- Multilingual
recommendationtext (FD-PILLAR1-I18N pending) Observability metrics module (FD-PILLAR1-OBSERVABILITY draft 2026-05-07)— implemented 2026-05-08, see above- Versioning policy formalization (FD-PILLAR1-VERSIONING draft 2026-05-07)
Notes (production rate-limit activated 2026-05-07)#
- PR #1 (
fb196ec) merged dev → main: production now readsKV_REST_API_*env vars from the Vercel Native Upstash integration. Smoke test confirmedX-RateLimit-{Limit,Remaining,Reset}headers present andX-RateLimit-Disabledheader absent.
[0.2.0] — 2026-05-06#
Added#
- Four production tools backed by a 5-industry RPS benchmark dataset:
list_industriesget_industry_rps_benchmarkcompare_rpsget_methodology
- CSV → JSON build pipeline (
scripts/build-industry-data.ts, run vianpm run build:data) - Vitest test suite (14 tests covering data load, percentile interpolation, segment label band logic)
server.jsondraft for MCP Registry submission (schema 2025-12-11)- Comprehensive README with Claude Desktop / Claude Code / Claude API connection guides
examples/directory with drop-in client configs and 5 sample promptsdata/README.mdbusiness-boundary statement (RS ≠ KYCC)
Changed#
- Single-file
api/mcp.tsrefactored into modularsrc/server.ts+src/tools/*.ts+src/data/industries.ts+src/errors.ts
Notes#
- Source-of-truth for industry data is
data/industry-rps-benchmark.csv(human-edited);data/industries.jsonis a build artifact. - Public access still gated by Vercel deployment protection — to be relaxed in 0.3.0 alongside the rate-limit/observability layer (FD-PILLAR1-AUTH).
- Branch separation introduced (CSO REQ-009 closed-both 2026-05-06T23:08):
mainis production-only via Vercel auto-deploy; all PM work happens ondev, ships through PRs reviewed inrealtime-communication.md. GitHub branch protection is unavailable on the current plan (Free tier + private repo), so the contract is enforced viaCLAUDE.mdstartup checklist +DEVELOPMENT.md. Public-vs-private + hard branch protection will be re-evaluated at P2-03 (marketplace submission). - Rate-limit middleware (
src/middleware/rateLimit.ts) now gates the handler. Falls back to a permissive no-op if Upstash env vars are missing. HeadersX-RateLimit-{Limit,Remaining,Reset,Disabled}exposed. - ToolContext type reserved (
src/types.ts) for the Phase 2 paid-tier migration. - Test suite expanded: 44 tests across 6 files (data 14 + tools 4 × 22 + middleware 8).
[0.1.0] — 2026-05-06#
Added#
- Initial MCP server scaffold on Vercel Functions (Node.js 22)
- Single
pinghello-world tool to validate the Streamable HTTP transport end-to-end - Smoke test confirmed 200 responses for
initialize/tools/list/tools/call
Notes#
- Discovered:
StreamableHTTPServerTransport.handleRequestmust receivereq.bodyas the third argument when running under@vercel/node(which pre-parses JSON bodies). Without it the function times out.