Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "business_days" and "days_between"
⟨22 unchanged words⟩ date): the date N business days away. Passing from or to selects span mode and needs both; days and date are then ignored, so add mode takes its start date in date, not from. Optional holiday jurisdiction or custom calendar, and a selectable working week. For calendar days use add_days, subtract_days or days_between.
Signed whole calendar days fromonethe from date toanotherthe to date, midnight to midnight in tz: positive when to is later,endpointsnegative when it is earlier. Endpoints are exclusive,(so this is the gap).and consecutive dates are 1 apart. Either date may be "today", resolved in tz. For working days between two dates use business_days; to move a date by N days use add_days or subtract_days.
Certificate changed, valid to 2026-12-22
Changed the definition of "add_days", "business_days", "days_between" and 6 more
⟨10 unchanged words⟩ counting: the start date is day 0). Omit date for today in tz. For working days use business_days; for the gap between two dates use days_between.
⟨29 unchanged words⟩ ,"type":"string"},"days":{"description":"Whole calendar days to add. Negative counts backwards.","maximum":100000,"minimum":-100000,"type":" ⟨24 unchanged words⟩
Certificate recorded, valid to 2026-10-24
Authorization not required
First tool surface recorded: 9 tools (server version 1.0.0)
Showing the latest 6 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨27 unchanged words⟩ ,"type":"string"},"to":{"$refdescription":"#/properties/fromISO date YYYY-MM-DD, or \"today\" (resolved in tz)","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","type":"string"},"tz":{"default":"UTC", ⟨21 unchanged words⟩
Runs any operation and returns the receipt plus human-readable derivation steps.AcceptsSettheop,samethen pass the fieldsasthat operation's own tool takes. Use it when theotherusertools,asksdiscriminatedhowbyanop.answer was reached.
⟨47 unchanged words⟩ ,"type":"string"},"days":{"description":"Day count for add_days, subtract_days and business_days add mode.","maximum":100000,"minimum":-100000,"type":"integer"},"event":{"description":"Event slug (e.g. christmas). Exactly one of event/weekday.","maxLength":40,"type":"string"},"from":{"$ref":"#/properties/date","description":"ISO date YYYY-MM-DD, or \"today\" (resolved in tz)"},"invoiceDatepattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$"$ref,"type":"#/properties/datestring"},"invoiceDate":{"description":"ISO date YYYY-MM-DD, or \"today\" (resolved in tz)","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","type":"string"},"jurisdiction":{"description":"Holiday jurisdiction id: ⟨23 unchanged words⟩ ,"type":"string"},"net":{"description":"Net-N payment terms in calendar days (Net 30 = 30).","maximum":3650,"minimum":0,"type":"integer"},"op":{"description":"Operation to explain. holiday_lookup is the holidays tool; the others share their tool's name.","enum":["add_days","subtract_days","days_between", ⟨4 unchanged words⟩ ,"type":"string"},"roll":{"description":"Roll a weekend or holiday due date forward to the next business day. Default false.","type":"boolean"},"to":{"$ref":"#/properties/date","description":"ISO date YYYY-MM-DD, or \"today\" (resolved in tz)","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","type":"string"},"tz":{"default":"UTC","description": ⟨13 unchanged words⟩ ,"type":"string"},"weekday":{"description":"0 = Sunday .. 6 = Saturday. Exactly one of event/weekday.","maximum":6,"minimum":0,"type":" ⟨14 unchanged words⟩ ],"type":"string"},"year":{"description":"Calendar year for holiday_lookup, e.g. 2027","maximum":3000,"minimum":1600,"type": ⟨5 unchanged words⟩
⟨5 unchanged words⟩ ,"properties":{"jurisdiction":{"description":"Holiday jurisdiction id: US, GB, GB-SCT, GB-NIR, IE, FR, CA, AU, UG (alias UK for GB).","maxLength":8,"type":"string"},"year":{"description":"Calendar year to list, e.g. 2027","maximum":3000,"minimum":1600,"type": ⟨6 unchanged words⟩
⟨79 unchanged words⟩ ,"type":"string"},"net":{"description":"Net-N payment terms in calendar days (Net 30 = 30).","maximum":3650,"minimum":0,"type":"integer"},"roll":{"description":"Roll a weekend or holiday due date forward to the next business day. Default false.","type":"boolean"},"tz":{"default ⟨36 unchanged words⟩
⟨3 unchanged words⟩ additionalProperties":false,"properties":{"event":{"description":"Event slug (e.g. christmas). Exactly one of event/weekday.","maxLength":40,"type":"string"},"from ⟨38 unchanged words⟩ 64,"type":"string"},"weekday":{"description":"0 = Sunday .. 6 = Saturday. Exactly one of event/weekday.","maximum":6,"minimum":0,"type": ⟨3 unchanged words⟩
⟨20 unchanged words⟩ ,"type":"string"},"q":{"description":"The date question in plain language. Pass the user's wording rather than a date you computed.","maxLength":200,"minLength":1,"type":" ⟨24 unchanged words⟩
The date N whole calendar days before adate.date (exclusive counting: the start date is day 0). Omit date for today in tz. For working days use business_days; for the gap between two dates use days_between.
⟨29 unchanged words⟩ ,"type":"string"},"days":{"description":"Whole calendar days to subtract. Negative counts forwards.","maximum":100000,"minimum":-100000,"type":" ⟨24 unchanged words⟩