v1.5.28 — fix subclass() arg 1 must be a class in old-mcp environments
Fix subclass() arg 1 must be a class in goose/old-mcp environments.
v1.5.25–1.5.27 replaced PEP 604 X | None with Optional[X] but kept from __future__ import annotations at the top of mcp_server/server.py. Under mcp 1.10–1.13 (which Goose and some sandboxes pin), FastMCP's Tool.from_function calls issubclass(param.annotation, Context) without resolving forward refs, so string annotations crash server load.
This release strips the future import from mcp_server/server.py (all 8 affected skills; Harden never had it). Verified tools list OK under mcp 1.10 and mcp 1.14.
CLAUDE.md 踩坑 #33 updated.