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.
- +
estimateWorksheetfield 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 viaestimateConfig(divisions, units, rowTypes, markups, marginFloor); omit it for sensible defaults. Value shape:{ version: 1, rows: [{ division, description, rowType, qty, unit, unitCost }], markups }. - + totalsV2
estimatesource:{ 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_typesnow returns theestimateWorksheetschema.
0.12.0 — June 12, 2026
Removed: add_submission_comment (submission comments deprecated).
- -
add_submission_commentis removed. Submission comments have been deprecated and taken out of the product; the tool no longer exists. Userecommend_submission(advisory review) oradvance_submission_statusfor review actions.
0.11.0 — June 12, 2026
Withdrew the experimental preview_form MCP Apps widget.
- * A short-lived experimental
preview_formtool + 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_submissionattachesreviewContextandget_formattachesbuildContext— 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 carrytruncated/fullLengthand the response note says to fetch the full body viaget_context_document. - * Server
instructionsoninitialize— connected agents are steered to consult context documents before building or reviewing a form, and to preferduplicate_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_settingsnow deep-merges the groupedrenderSettingskeys (signup,booking,auditTrail,reviewSettings). Previously a patch touching one nested key replaced the whole group — e.g.{ reviewSettings: { labelBadges: true } }silently erasedrequireReviewNoteOnReturnandshowActivityTimeline. 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_fieldonapply_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), pagelogicRulesconditions,visibleWhenvisibility 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_fieldnow 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 rendering0(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 viaform_slug+field_name) againstsample_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.
- *
totalsV2metrics now document the full surface: the{ kind: "repeater", repeater, subField }source (sum a sub-field across repeater rows, incl. hoursPair__base/__derivedhalves), per-metricrounding(half/quarter/whole/ceil/floor), atargetgoal source, named parameters(param: trueconstants) and aliases(alias: truenamed computed values). Formulas now note+ − × ÷support and the key rule: evaluatedleft-to-right with no operator precedence. - *
scheduleV2event types (titleOptions) gainexcludeFromTotals(block type doesn’t count toward hours) andrespondentHidden(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 viacreate_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 viacreate_form/add_fieldand listed inlist_field_types. Submitted value is{ version: 2, events: [{ day, start, end, title, color }] }wheredayis 0=Mon…6=Sun andstart/endare minutes-from-midnight. Configuredays,startHour/endHour,slotMinutes,titleOptions, and a pre-filled lockedtemplate. - + 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 fromlist_forms) and omithref. The send path rewrites it into a tracked, name/email-prefilled form link. Reflected inlist_block_typesschemas. - *
lint_emailnow 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
destructiveHintannotations. All reads carryreadOnlyHint. - *
recommend_submissiongains structured signals (concerns[],highlights[],fieldsReferenced[],suggestedAction) for richer review-panel rendering. - * Forms now carry a
revisioncounter 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 withlogicRules),apply_form_tool_call,list_field_types. - + Submissions soft-approval tools:
list_submissions,get_submission,recommend_submission,clear_recommendation.recommend_submissionis 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_imagefor 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.