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 "metric_versions_dismiss", "metrics_create", "metrics_update" and 1 more
⟨9 unchanged words⟩ or source: 'suggestion'). Published versions arerefused —refused.toTo demote a published version, publish a different one as current instead.
⟨13 unchanged words⟩ " and check_config. Per-kind required keys: value (contains/not_contains/equalscontains/not_contains/equals/list_overlap/numeric_equals), pattern (regex), json_path+expected (json_path_equals), min and/or max (length_boundslength_bounds/numeric_bounds); valid_json takes no extra keys. target_path is required when target isjson_path.json_path;Foracontainstarget_path sent with no target sets target to json_path,not_containsand one sent with any other target is refused. target_path walks array indices, as in items.0.name; any path may start at the root with $., as in $.items.0.name. list_overlap grades a list-valued field andequalsstores a fraction rather than a verdict: score_by is recall,setprecision, f1 or jaccard (recall by default), and min is the fraction that counts as a pass (1, a perfect score, by default). numeric_bounds and numeric_equals read a number, ignoring the thousands commas and currency symbol a figure is written with; a comma counts only as a thousands separator, with three digits after it and no decimal point before it, so 1,5 is not a number; numeric_equals takes a tolerance, either a plain number for a fixed amount or a percentage string such as 2% for a share of the expected value. A check with no case_sensitive matches case-insensitively, regex and list_overlap included; send case_sensitive: true to match case exactly. Before 0.29.0 a regex check read a missing case_sensitive as case-sensitive. Set
⟨10 unchanged words⟩ " and check_config. Per-kind required keys: value (contains/not_contains/equalscontains/not_contains/equals/list_overlap/numeric_equals), pattern (regex), json_path+expected (json_path_equals), min and/or max (length_boundslength_bounds/numeric_bounds); valid_json takes no extra keys. target_path is required when target isjson_path.json_path;Foracontainstarget_path sent with no target sets target to json_path,not_containsand one sent with any other target is refused. target_path walks array indices, as in items.0.name; any path may start at the root with $., as in $.items.0.name. list_overlap grades a list-valued field andequalsstores a fraction rather than a verdict: score_by is recall,setprecision, f1 or jaccard (recall by default), and min is the fraction that counts as a pass (1, a perfect score, by default). numeric_bounds and numeric_equals read a number, ignoring the thousands commas and currency symbol a figure is written with; a comma counts only as a thousands separator, with three digits after it and no decimal point before it, so 1,5 is not a number; numeric_equals takes a tolerance, either a plain number for a fixed amount or a percentage string such as 2% for a share of the expected value. A check with no case_sensitive matches case-insensitively, regex and list_overlap included; send case_sensitive: true to match case exactly. Before 0.29.0 a regex check read a missing case_sensitive as case-sensitive. Set
⟨15 unchanged words⟩ (current=false) rather than editing in place orpublishing —publishing.promotePromote it with prompts_publish—, so an agent's edits don't go live without ⟨12 unchanged words⟩
Changed the definition of "provider_credentials_update"
Update a provider credential. Changing provider or api_endpoint on a credential with a stored key requires api_key in the same call, so a stored key never moves to a new provider or endpoint.
⟨2 unchanged words⟩ {"type":"string"},"api_key":{"description":"Required when provider or api_endpoint changes and a key is stored","type":"string"},"api_version":{"type" ⟨11 unchanged words⟩
Certificate recorded, valid to 2026-12-05
Authorization not required
First tool surface recorded: 54 tools (server version 0.28.42)
Showing the latest 5 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"properties":{"check_config":{"properties":{"case_sensitive":{"description":"A check with no case_sensitive matches case-insensitively, regex and list_overlap included; send case_sensitive: true to match case exactly. Before 0.29.0 a regex check read a missing case_sensitive as case-sensitive.","type":"boolean"},"check_kind":{"enum" ⟨3 unchanged words⟩ ,"regex","valid_json","json_path_equals","length_bounds","list_overlap","numeric_bounds","numeric_equals"],"type":"string"},"compare_to":{ ⟨11 unchanged words⟩ :"string"},"max":{"type":"integernumber"},"min":{"type":"integernumber"},"multiline":{"type":"boolean"},"pattern":{"type":"string"},"score_by":{"enum":["recall","precision","f1","jaccard"],"type":"string"},"target":{"enum":["response_text","input_data" ⟨3 unchanged words⟩ ,"target_path":{"type":"string"},"tolerance":{"description":"A plain number for a fixed amount, or a percentage string such as \"2%\" for a share of the expected value","type":["number","string"]},"trim":{"type":"boolean"},"value":{"description":"Only list_overlap takes a list, as a JSON array or as comma-separated text; every other rule refuses one","items":{"type":["string","number"]},"type":["string","number","array"]}},"type":"object"},"instruction": ⟨34 unchanged words⟩
{"properties":{"check_config":{"properties":{"case_sensitive":{"description":"A check with no case_sensitive matches case-insensitively, regex and list_overlap included; send case_sensitive: true to match case exactly. Before 0.29.0 a regex check read a missing case_sensitive as case-sensitive.","type":"boolean"},"check_kind":{"enum" ⟨3 unchanged words⟩ ,"regex","valid_json","json_path_equals","length_bounds","list_overlap","numeric_bounds","numeric_equals"],"type":"string"},"compare_to":{ ⟨11 unchanged words⟩ :"string"},"max":{"type":"integernumber"},"min":{"type":"integernumber"},"multiline":{"type":"boolean"},"pattern":{"type":"string"},"score_by":{"enum":["recall","precision","f1","jaccard"],"type":"string"},"target":{"enum":["response_text","input_data" ⟨3 unchanged words⟩ ,"target_path":{"type":"string"},"tolerance":{"description":"A plain number for a fixed amount, or a percentage string such as \"2%\" for a share of the expected value","type":["number","string"]},"trim":{"type":"boolean"},"value":{"description":"Only list_overlap takes a list, as a JSON array or as comma-separated text; every other rule refuses one","items":{"type":["string","number"]},"type":["string","number","array"]}},"type":"object"},"id": ⟨37 unchanged words⟩