Repository navigation
Releases
v2.2.1
v2.2.0
SPLIT-1847: create_experience requires flatRatePrice and sends flat_rate; update_experience takes an optional total. Prod dpl_DzDN7PrJNXqefoERXfuJ5AkmSHo7, fresh build (SPLIT-1803).
v2.1.2
SPLIT-1798. zod 3.25.76 → 4.6.7 (GHSA-mrhx-c7xc-m3w5, HIGH) and body-parser 2.4.0 (GHSA-27r3-jxmh-p828, HIGH). (#56)
- An oversized constrained tool argument (e.g. 200k
selectedAddOnson the publicget_booking_quote) is now refused on its length alone. Before: 2.7 s, +741 MB RSS and a 17 MB error reply. - The served
tools/listcontract is unchanged: 229 tools with identical names, order, descriptions, required fields, enums and bounds. - Deployed to production (mcp.go-splitt.com) on merge:
dpl_4Sdhvab16mhwdcLygnXPFmtU7Ks9.
SECURITY-REVIEW: PASS 2f235d0 (21 files; none)
v2.1.1: SPLIT-1765 next 15.5.28
Prod (merge = deploy via Vercel git) 2026-10-22: dpl_DXzTSs4VXfQTGaW8K7PzRrePeuGD. Lockfile-only bump of next 15.5.27 to 15.5.28 (#55); the package version stays 2.1.0 (deps-only precedent). CI verify green; mcp.go-splitt.com GET 405 / POST 401.
SECURITY-REVIEW: N/A (deps-only)
v2.1.0: Gear Guide MCP tools (SPLIT-1741)
Prod deploy 2026-10-21 by CLI (dpl_2dGKDm8Ayix2mdcyJzWYqHR7XzE1; the Actions deploy workflow is blocked by the org billing freeze). Adds the 7 Gear Guide tools; they surface the backend gate as-is (guide is dark on prod until the gear_guide flag is enabled). Rollback: dpl_BHsX91cvw7qiHcf9EcmUMTY9CzE5.
v2.0.6
Production MCP server (mcp.go-splitt.com/mcp), deployed on merge 2026-10-01 ~09:05Z (dpl_8oeZSsFUgq9VeGiG3Vke6MA9e8qe; rollback target dpl_B3puv21nw3v7gQ9BBEf6yhxUqWKS, v2.0.5).
- SPLIT-1646 (#51):
hono4.13.5 → 4.13.12, clearing the moderate prod advisory. Lockfile only;package.json(and so the reported server version) is unchanged at 2.0.5.
Verified after deploy against the pre-merge baseline: GET /mcp 405, unauthenticated initialize 401, and both oauth well-known endpoints 200, all identical.
SECURITY-REVIEW: N/A (deps-only).
v2.0.5
Production now answers at https://mcp.go-splitt.com/mcp. Use that URL in ChatGPT, Claude and Claude Code.
- New
MCP_RESOURCE_PATH. It picks the canonical endpoint path per deployment (/mcpor/api/mcp; the default is/api/mcp). Both paths are always served by the same handler, and only the canonical one is advertised as the OAuth resource. - Discovery answers either suffix. Protected-resource and authorization-server metadata respond on the root and on both path suffixes.
- Dependency advisories fixed.
npm audit fixaddresses transitive advisories (fast-uri, ip-address, qs).
Because the public address changed, any assistant connected before this release signs in again: add Splitt with the new URL.
SPLIT-1621 (#50)
v2.0.4
MCP 2.0.4, deployed to production 2026-09-28 (17baefa, PR #49). It aligns the tools with backend v2.54.0 (SPLIT-1609).
- New generate_care_guide tool: it writes or rewrites a listing care guide, returns only the guide, and on an AI outage keeps the current guide.
- delete_waiver reports the real outcome (deleted or deactivated).
- Tool descriptions match the backend: get_booking_risk (404 for unknown ids, no action needed on closed bookings), get_suggested_initial_price (marketRateBasis), preview_dynamic_price (per-day range answer), delete_service (refused while bookings are open or paid), create vs publish requirements, and conversion rate.
- Result mappers skip proto keys.
Verified: 742 unit tests; 5 of 5 mutants caught; live on a non-production deployment; prod read-only checks 32/32; the SERVER_VERSION marker on the deployment; the loopback matrix on prod.
SECURITY-REVIEW: PASS @6ffb756 (21 files; none)
v2.0.3
MCP 2.0.3, deployed to production 2026-09-28 (13934e4, PR #48).
- SPLIT-1606: blackout dates are inclusive days at the tool boundary.
- SPLIT-1607: OAuth clients that register only a 127.0.0.1 loopback redirect can sign in (NextRequest had rewritten 127.0.0.1 in the query to localhost).
- SPLIT-1608: fixes from an LLM running a vendor account end to end.
- No duplicate listings on a slow create: listing writes get 45 s, and a timed-out write says it may have happened.
- Listing location is public; there is no private address field.
- Stays and the both booking type.
- Paged blackout lists.
- archive_listing and delete_experience.
- Flat-rate experiences.
- Honest AI title fallback, category counts, onboarding next step, moderation notes.
- A stricter result scrub.
Verified: 728 unit tests; OAuth e2e 57/57; SDK e2e 9/9; prod read-only checks 32/32; the loopback redirect matrix on prod.
SECURITY-REVIEW: PASS @4bfc571 (41 files; none)
v2.0.2
MCP 2.0.2: every assistant session names the assistant, so users can find it and remove it.
- The session Splitt keeps for each connection now names the connected assistant ("Claude", "ChatGPT", "Claude Code"). The name comes from the client's own registration, is limited to letters, digits, spaces and
. _ -, and is capped at 40 characters. Password, two-step and social sign-ins all carry it. - Why it matters: disconnecting Splitt inside an assistant may not end its Splitt session (claude.ai's Disconnect does not call this server's revoke endpoint). Splitt's profile page gains a "Where you're signed in" list that shows each assistant by name with a Disconnect button (rolling out with the Splitt web release that follows).
- Requests the MCP transport rejects on its own (for example an unsupported
MCP-Protocol-Version) are now logged with the reason, never with headers or body. list_categoriessays its listing counts include listings that are not bookable right now.