Python 3.11 or newer
FastMCP 4.2 requires Python 3.11. On Python 3.10, your installer keeps resolving to 4.1.x, so a project that must stay on 3.10 should pinfastmcp<4.2. To take 4.2, move the project to Python 3.11 and raise requires-python to match:
The 4.1 skills API
The providers infastmcp.server.providers.skills and the helpers in fastmcp.utilities.skills still work in 4.2 and are removed in 4.3. Each emits a deprecation warning that names its replacement. The new API lives in fastmcp.skills: author skills with Skill, serve a folder with SkillsDirectoryProvider from fastmcp.skills.provider, and read them from a client with client.read_skill().
The usual change is one import:
SKILL.md whose frontmatter name doesnβt match its folder. The 4.1 providerβs warning lists each folder it would refuse and the fix, so start the server once on 4.2, fix what it reports, then switch. The Skills page has the full migration table and the client-side details.
Annotated dependencies
4.2 also accepts dependencies asAnnotated metadata. This is optional; Depends() defaults keep working. An alias declares a dependency once and gives the parameter its real type for type checkers:
Annotated dependency combined with a Depends() default raises TypeError. See Annotated Dependencies.