Migrating from 0.2 to 0.3¶
This refresh corrects several public contracts. Review these changes when upgrading existing clients.
Python requirement¶
The minimum Python version is now 3.14. Python 3.12 and 3.13 are no longer supported. Upgrade the interpreter used by your MCP client or install Python 3.14 with uv python install 3.14, then recreate the project environment with uv sync --python 3.14 --all-groups --frozen. CI covers 3.14 and 3.15; Docker, documentation, and release builds use 3.14.
API and client changes¶
| Before | Now |
|---|---|
| Default HTTP transport | Default stdio; request --transport streamable-http for HTTP |
Hardcoded Titles 5.47, Skills fallbacks, Classification 2025.8 |
latest aliases or discovery of an active classifier release |
Skills skill_type treated as a display name |
Type IDs such as ST1, ST2, and ST3 |
| Skills category/subcategory filters silently forwarded | Removed from the MCP tool; Python calls reject unsupported filters |
Search/bulk skill results flatten type inconsistently |
Skill type uses the API’s {id, name} structure |
find_similar_skills returns an assumed list |
Returns the upstream envelope with data and any warning |
Job Postings free-form query, location, occupation_ids, and version |
Native filters, fields, limit, and page |
Benchmark region string and generic version |
Region object, LOT dimension, and lot_version; metrics names actual datasets |
| One version passed into unrelated workflow APIs | Separate taxonomy, classifier, and LOT version parameters |
Import from src.mcp_lightcast |
Import from mcp_lightcast |
| Repository-only settings with duplicate fallbacks | One configuration implementation inside the wheel |
LIGHTCAST_RATE_LIMIT (unused hourly setting) |
LIGHTCAST_REQUESTS_PER_SECOND (enforced per service, per process) |
The old unregistered speculative Python helpers for salary insights, occupation matrices, clustering, arbitrary pathway planning, and title hierarchy were removed. Their invented endpoints were not supported by the published APIs. Use documented queries and compose analyses from real returned data.
The experimental unified_skills helper now delegates to the supported workflow; its old source-selection and hardcoded-mapping arguments are retired. It does not return simulated postings or benchmark data.
Update clients to read workflow_metadata.status and preserve upstream warnings. A partial result is useful, but it does not mean every requested stage succeeded.
Core LMI and current MCP clients¶
Version 0.3.0 adds five Core LMI tools and upgrades to FastMCP 4 / MCP SDK 2. The 2026-07-28 protocol and legacy 2025-11-25 clients are both tested. Python code consuming SDK objects should use snake_case attributes; the generated documentation now uses mcp.list_tools().
HTTP now rejects untrusted Host and Origin headers. Configure exact trusted hosts/origins for a reverse proxy; see MCP practices. Strict argument validation also rejects previously coerced values such as a string supplied for an integer limit.
Upgrading from 0.4.0 to 0.4.1¶
Existing CLI configuration, credential providers, and all 37 MCP tool contracts
remain compatible. Python applications can optionally supply a RequestRuntime
to create_server or select it with runtime.context() for direct operations.
Reuse an owner across clients and servers sharing an account's rate budget;
separate explicit owners do not coordinate their rates. See the
runtime example.