Claude connector

MCP server changelog

Breaking changes are flagged. Tool additions are non-breaking.

0.13.0 — July 11, 2026

New field type: estimateWorksheet — construction estimate worksheet.

  • + estimateWorksheet field type:a self-contained cost sheet with line items grouped by division (CSI-style sections), live qty × unit-cost math per row, division subtotals, a sequential markup cascade (e.g. Overhead then Profit), and a bid total + margin readout. Configure via estimateConfig (divisions, units, rowTypes, markups, marginFloor); omit it for sensible defaults. Value shape: { version: 1, rows: [{ division, description, rowType, qty, unit, unitCost }], markups }.
  • + totalsV2 estimate source: { kind: "estimate", field, measure: "directCost"|"bidTotal"|"margin"|"division"|"rowType", key? } — reads computed worksheet measures, so compliance rules can hard-block a submission (e.g. margin below a floor) using the same engine as every other source.
  • * list_field_types now returns the estimateWorksheet schema.

0.12.0 — June 12, 2026

Removed: add_submission_comment (submission comments deprecated).

  • - add_submission_comment is removed. Submission comments have been deprecated and taken out of the product; the tool no longer exists. Use recommend_submission (advisory review) or advance_submission_status for review actions.

0.11.0 — June 12, 2026

Withdrew the experimental preview_form MCP Apps widget.

  • * A short-lived experimental preview_form tool + MCP Apps UI resource (io.modelcontextprotocol/ui) was trialed and removed the same day — inline MCP Apps rendering is still unreliable in current hosts. Form previews remain available via the existing tools and the form’s /share/<slug> link. No stable tools were affected.

0.10.0 — June 12, 2026

AI Context documents — shared guidance for humans and agents.

  • + AI Context tools: list_context_documents, get_context_document, create_context_document, update_context_document, delete_context_document — tenant-scoped markdown guidance documents (kinds: review_guide, form_purpose, field_glossary, general), each optionally linked to a form. Shown to human reviewers in the admin AI Contexttab and the submission-review panel, and read by agents as build guides and review rubrics — write a “how to build X” doc once and the next agent can repeat the build.
  • * get_submission attaches reviewContext andget_form attaches buildContext— the form’s context documents plus tenant-wide ones, delivered with the data so agents don’t need a separate lookup. Bounded (12 docs, 6,000 chars per body) with truncation reported, never silent: oversized docs carry truncated/fullLength and the response note says to fetch the full body via get_context_document.
  • * Server instructions on initialize — connected agents are steered to consult context documents before building or reviewing a form, and to prefer duplicate_formfor same-form-new-term requests (e.g. “make a new inload form for spring”).

0.9.1 — June 11, 2026

Fix: update_form_settings no longer wipes grouped settings.

  • * update_form_settings now deep-merges the groupedrenderSettings keys (signup, booking,auditTrail, reviewSettings). Previously a patch touching one nested key replaced the whole group — e.g.{ reviewSettings: { labelBadges: true } } silently erasedrequireReviewNoteOnReturn and showActivityTimeline. Top-level scalars still replace; unknown keys still pass through.

0.9.0 — June 11, 2026

Safe field renames: rename_field cascades references.

  • + New op rename_field on apply_form_tool_call({ field_name, new_name }) — renames a field and updates every reference to the old name in the same write: totalsV2 metric sources (field / schedule / repeater + sub-field, incl. hoursPair__base/__derived), page logicRules conditions,visibleWhen visibility rules, and submission-tabledisplayFields. The result note lists exactly which references were updated. Previously names were immutable via MCP because a rename silently orphaned these references (totals read 0).
  • * delete_field now warns about orphaned references — deleting a field that totals, logic, visibility, or submission columns still point at returns a warning naming each dangling reference. References are flagged, never auto-removed.
  • * Builder warning banner — opening a form whose config references missing fields (e.g. after an external edit) now shows a non-blocking warning listing each dangling reference, instead of letting totals silently render 0.

0.8.0 — June 9, 2026

Totals v2: cross-referential validation + a dry-run evaluator.

  • * Cross-ref validation on add_field/update_field: a totalsV2 source that points at a field, schedule, or repeater/sub-field that doesn’t exist on the form is now rejected with the list of valid names — instead of being written and silently rendering 0(the most common formula mistake). Builds on the structural validation from 0.7.x.
  • + New tool evaluate_totals_v2 — dry-run a dashboard config (inline, or an existing field via form_slug + field_name) against sample_dataand get each metric’s computed value + target. Runs the exact engine the renderer uses (rounding, repeater sums, schedule exclusions), so you can verify formulas without rendering the form.

0.7.0 — June 8, 2026

Totals v2 formulas + per-event-type schedule policy — documented in list_field_types.

  • * totalsV2 metrics now document the full surface: the{ kind: "repeater", repeater, subField } source (sum a sub-field across repeater rows, incl. hoursPair __base/__derivedhalves), per-metric rounding (half/quarter/whole/ceil/floor), a target goal source, named parameters(param: true constants) and aliases(alias: true named computed values). Formulas now note+ − × ÷ support and the key rule: evaluatedleft-to-right with no operator precedence.
  • * scheduleV2 event types (titleOptions) gain excludeFromTotals(block type doesn’t count toward hours) and respondentHidden(template-only boundary — submitters can’t pick it, e.g. “Non Service”).

0.6.0 — June 7, 2026

Totals Dashboard v2 field type.

  • + New field type totalsV2 — a self-contained metric-tile dashboard configured on the canvas (no separate workspace). Available via create_form/add_field. Config istotalsV2Config = { version: 2, columns, metrics }; each metric sources from a form field, a scheduleV2 total (overall/per-title/per-day), a static value, or a simple +/− formula.

0.5.0 — June 7, 2026

Schedule Grid v2 field type.

  • + New field type scheduleV2 — a self-contained, timezone-safe weekly availability grid that needs no CalendarTemplate. Available via create_form/add_field and listed inlist_field_types. Submitted value is{ version: 2, events: [{ day, start, end, title, color }] }where day is 0=Mon…6=Sun and start/endare minutes-from-midnight. Configure days,startHour/endHour, slotMinutes,titleOptions, and a pre-filled locked template.
  • + Reusable templates: list_schedule_v2_templates,get_schedule_v2_template, create_schedule_v2_template,update_schedule_v2_template, delete_schedule_v2_template— save and reuse a grid’s config + locked blocks across forms.

0.4.0 — May 28, 2026

Form-linked CTA buttons.

  • * Button blocks can now link to one of your forms instead of a URL: set { linkType: "form", formId, formSlug }(get both from list_forms) and omit href. The send path rewrites it into a tracked, name/email-prefilled form link. Reflected in list_block_types schemas.
  • * lint_email now flags form-linked buttons whose target is missing/deleted (form-link-missing), archived (form-link-archived), or unpublished (form-link-unpublished), and no longer false-positives a form button as having “no link.” The form catalog is resolved from your tenant automatically.

0.3.0 — May 26, 2026

Major batch — full tool surface.

  • + Diagnostics: whoami.
  • + Forms admin: archive_form, publish_form, duplicate_form, add_page, update_page, delete_page, reorder_pages, update_form_settings, assign_workflow_to_form.
  • + Reads: list_calendar_templates, get_calendar_template, list_contacts, get_contact, list_audiences, get_audience, list_workflow_templates, get_workflow_template, get_form_stats.
  • + Submissions: bulk_recommend_submissions(HMAC confirm when matching > 25), add_submission_comment, advance_submission_status (HMAC confirm).
  • + Campaigns: create_campaign, schedule_campaign, cancel_campaign, duplicate_campaign, save_as_template.
  • + Contacts & audiences: add_contact, update_contact, tag_contact, create_audience, add_to_audience, remove_from_audience.
  • + Workflow & calendar template writes: create_workflow_template, update_workflow_template, create_calendar_template, update_calendar_template.
  • + Variables: list_variables, get_variable, set_variable_value.
  • + Email templates: list_email_templates, get_email_template_full, update_email_template.
  • + Tenant, media, audit: get_tenant, update_tenant_branding, list_media, delete_media, get_audit_log.
  • * All write tools now carry MCP destructiveHint annotations. All reads carry readOnlyHint.
  • * recommend_submission gains structured signals (concerns[], highlights[],fieldsReferenced[], suggestedAction) for richer review-panel rendering.
  • * Forms now carry a revision counter for optimistic-concurrency protection across multi-tab + MCP + UI edits.
  • * Every write response includes clickable deep links to the affected form / campaign / submission for in-chat hand-off.

0.2.0 — May 2026

  • + Form builder tools (V2 schema): list_forms, get_form, create_form(single- and multi-page with logicRules), apply_form_tool_call, list_field_types.
  • + Submissions soft-approval tools: list_submissions, get_submission, recommend_submission, clear_recommendation. recommend_submission is advisory only — never changes workflow status.
  • + JSON Schemas for every form field type incl. totals(dashboard widgets + formula DSL) and rich select options.

0.1.0 — Initial release

  • + MCP OAuth provider: PKCE S256 + Dynamic Client Registration + Authorization Server Metadata.
  • + Campaigns tools: list_campaigns, get_campaign, set_campaign_blocks, apply_tool_call, render_email, screenshot_email, lint_email.
  • + Email block templates: list_templates, get_template, apply_template_to_campaign.
  • + Auto-snapshots before destructive campaign writes (list_campaign_snapshots, restore_campaign_snapshot, 30-day TTL).
  • + upload_image for the media library.
  • + Slash-command prompts via prompts/list.

Versioning policy

The server's MAJOR.MINOR.PATCH version is exposed at GET /api/mcp in the version field.

  • Patch (0.x.Y): bug fixes, doc updates, internal refactors. No client-visible changes.
  • Minor (0.X.0): new tools, new optional fields on existing tool inputs/outputs, new prompts. Backwards-compatible.
  • Major (X.0.0): breaking schema changes, tool removals, scope renames. Announced ≥ 30 days in advance via this changelog and an email to active OAuth clients' registered contacts where available.