FastMCP 4.2's first alpha brings code-defined skills, discovery through mounted and proxied servers, and verified downloads into one workflow. Build a Skill in Python or load one from a folder or package, publish it through SkillCatalogProvider, and let clients discover its metadata or download and export its files. Proxy discovery is opt-in with skills=True. Skills support remains experimental; this prerelease is intended for integration testing. It also includes lazy, shared Prefab renderer resources and backend-addressing fixes.
Migration: Skill now represents file contents; the wire metadata model is named MCPSkill. Whole-skill downloads require a standard SKILL.md with a name matching its URI and a description. Exports with overwrite=True replace the installed folder, including locally added files. Ordinary resource providers still support their existing document formats.
Thanks to our 8 contributors, including 3 first-time contributors.
What's Changed
Breaking Changes ⚠️
- Make Skill a storage-neutral object with folders as one loader by @zzstoatzz in #6065
Enhancements ✨
- Rename the resource-era list_skills helper to list_skill_summaries by @zzstoatzz in #6051
- Discover skills through mounted servers by @zzstoatzz in #6067
- Share Prefab renderer resources across equivalent tools by @jlowin, @fprieto14, and @keremoktener in #6077
- Export Skill from fastmcp by @zzstoatzz in #6071
- Add skills discovery to ClientGroup by @zzstoatzz in #6072
- Add --skills to fastmcp list by @zzstoatzz in #6073
- Add Client.read_skill and tighten skills docs by @zzstoatzz in #6087
- Verify and export skills with resource-manifest fallback by @zzstoatzz in #6086
- Forward Skills discovery through proxies by @jakekaplan in #5788
- Share strict skill snapshot projection by @zzstoatzz in #6089
- Use scoped local tests and leave full suites to CI by @zzstoatzz in #6094
- Share ClientGroup skill client lookup by @zzstoatzz in #6101
- Share filesystem skill supporting-file reads by @zzstoatzz in #6102
Security 🔒
- Verify advertised skill frontmatter when reading content by @zzstoatzz in #6090
- Check skill limits before reading directory and remote files by @zzstoatzz in #6092
Fixes 🐞
- Make the version-check InvalidURL regression independent of proxy parsing by @HootRock in #6048
- Build the Prefab renderer page on read, not on resources/list by @adam-zovos in #6039
- Install mounted skills under their own name in sync_skills by @zzstoatzz in #6078
- Stage skill exports before replacing installed files by @zzstoatzz in #6091
- fix: Prefix backend hash addresses with double underscores by @jlowin and @BlueX888 in #6100
Docs 📚
- Add v4.2.0a1 changelog entries by @zzstoatzz in #6105
- Consolidate skills docs into one Skills over MCP page by @zzstoatzz in #6049
- Rewrite skills docs around Skill and SkillCatalogProvider by @zzstoatzz in #6066
- Tighten skills docs examples by @zzstoatzz in #6070
- Shorten the skills docs page by @zzstoatzz in #6079
- Badge the skills page as 4.2.0 by @zzstoatzz in #6083
- Consolidate skills examples around verified Skill values by @zzstoatzz in #6093
New Contributors
- @fprieto14 made their first contribution in #6077
- @keremoktener made their first contribution in #6077
- @adam-zovos made their first contribution in #6039
Full Changelog: v4.1.4...v4.2.0a1