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 "search_jobs"
⟨195 unchanged words⟩ },"employment_type":{"description":"Employment-type facetvaluesvalues. Valid: Full-time,e.g.Part-time,full_timeContract,contract.Internship, Temporary, not_stated.","items":{"type":"string"}, ⟨350 unchanged words⟩ },"remote":{"description":"Remote-type facetvaluesvalues. Valid: remote, hybrid, on_site,ornot_stated.","items":{"type":"string"} ⟨34 unchanged words⟩ },"seniority":{"description":"Seniority facetvaluesvalues. Valid: Intern,e.g.Entry,seniorMid,lead.Senior, Lead, Manager, Executive, Director, not_stated.","items":{"type":"string"}, ⟨60 unchanged words⟩ },"source_type":{"description":"Row-level provenanceclassclass. Valid: ats, career_site, public_agency, aggregator,oragency.","items":{"type":"string" ⟨109 unchanged words⟩
Changed the definition of "search_jobs"
⟨43 unchanged words⟩ salary range, posting/verification date and free text. Every row carries last_verified_at (the last positive confirmation at the source); when that confirmation is older than 18 hours the row also carries verification_stale=true -- an honest label, never a removal. Returns job rows with per-field provenance (published vs ⟨81 unchanged words⟩
Changed the definition of "search_jobs"
⟨137 unchanged words⟩ whose full advert text contains this text, case-insensitive. Extended syntax as q: quoted phrases, prefix* (or any bare word of 5+ letters), OR, -word exclusions.","type":"string"},"description_max_chars":{ ⟨205 unchanged words⟩ :"string"},"type":"array"},"include_total":{"description":"Add total_estimate to the response: an exact count of the matching rows up to 10,000, page-independent. Costs one extra bounded query.","type":"boolean"},"limit":{"description":"Rows per page, ⟨51 unchanged words⟩ :"array"},"q":{"description":"General free-text searchFull-text across title, company name andcompanylocationname.- NOT the advert body (use description_contains for that). Terms are ANDed; a plain term matches whole words only. Extended syntax: quoted phrases, trailing-* prefix, OR, -exclusion. Broad phrases are expensive - pair them with a country or category. Extended syntax: \
Changed the definition of "company_hiring" and "search_jobs"
⟨10 unchanged words⟩ live open-role count) and its 30/90/365-day open-rolestrend.trend (daily snapshots from 2026-10-06, earlier gaps; each point is labelled snapshot or reconstructed). The open-roles TREND works with NO key at ⟨29 unchanged words⟩
⟨2 unchanged words⟩ {"description":"Window for the keyless open-rolestrend.trend (daily snapshots from 2026-10-06; each point is labelled snapshot or reconstructed).","enum":[30,90,365],"type ⟨50 unchanged words⟩
Changed the definition of "search_jobs"
Search JOA's live ledger ofroughly 2.3Memployer-direct job postingsacross(current248count:countries.the coverage tool). Filter by country, city, US state, ⟨111 unchanged words⟩
Unknown → Live
First tool surface recorded: 6 tools (server version 1.0.0)
https://api.jobopportunitiesapi.org/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨21 unchanged words⟩ category/family, seniority, remote type, employment type, engagement (employee/vendor), contract category, agency flag, working schedule, source type, provider, employer (slug or verified ⟨97 unchanged words⟩
{"properties":{"agency":{"description":"Agency flag: direct, agency, umbrella, or unknown.","items":{"type":"string"},"type":"array"},"category":{"description":"Job family/category facet values ⟨54 unchanged words⟩ :"string"},"type":"array"},"contract_category":{"description":"Contract kind the posting STATES: permanent, fixed_term, project_based, seasonal, apprenticeship, internship, other, or unknown. permanent returns only postings that state permanence.","items":{"type":"string"},"type":"array"},"country":{"description":"ISO 3166-1 alpha-2 country ⟨31 unchanged words⟩ text, case-insensitive.","type":"string"},"description_max_chars":{"description":"Per-row description length in characters when include_description is true (200-100000, default 4000). Long adverts run to 20,000-100,000 characters, i.e. 5,000-25,000 tokens each.","type":"integer"},"employment_type":{"description":"Employment-type facet values, ⟨5 unchanged words⟩ :"string"},"type":"array"},"engagement":{"description":"Employment relationship the posting STATES: employee, vendor, other, or unknown (not established -- most rows). Matches any element of the row's engagement array.","items":{"type":"string"},"type":"array"},"exclude_category":{"description":"Category values to exclude. ⟨58 unchanged words⟩ },"include_description":{"description":"Include thefulladvert text (averages 2.5 KB/row;caps limit at 50 when true). Each row carries a preview of up to description_max_chars characters (default 4000, roughly a thousand tokens); a cut row says so (description_truncated, description_total_chars). get_job always returns the full text.","type":"boolean"},"include_poster_type":{ ⟨262 unchanged words⟩ re-confirmed live after this.","type":"string"},"working_schedule":{"description":"Stated schedule: full_time, part_time, flexible, or unknown.","items":{"type":"string"},"type":"array"}},"type":"object"}