Skip to content

v1.7.0 — registerTool migration: titles, annotations, structured output

Choose a tag to compare

@a-radwan-20 a-radwan-20 released this 12 Jun 17:10

What's new in 1.7.0

Step #2 of the MCP modernization roadmap: the entire tool surface migrated off the deprecated `server.tool()` shorthand (removed in SDK 2.0) onto `server.registerTool()`. No engine behavior changes; full back-compat.

What hosts get

  • Titles — every tool has a human-readable display name ("Forget a fact", not `memory_forget`).
  • Behavior annotations — all 23 tools declare `readOnlyHint` / `destructiveHint` / `idempotentHint` / `openWorldHint`:
    • the 3 destructive tools (`memory_forget`, `unload_pack`, `unregister_platform`) are flagged for confirmation UIs
    • the read-only inspectors (`list_*`, `memory_search`, `get_trace`, `explain_last_curation`, …) are flagged safe-to-call-freely
    • the 7 network-reaching tools (LLM / embeddings / web search) carry `openWorldHint: true`
  • Structured output — every tool declares an `outputSchema` and returns `structuredContent` alongside the JSON text. Schemas are permissive by design (all-optional, passthrough) — they document the shape without ever rejecting engine output.
  • The `categories` resource migrated to `registerResource` with a title.

Back-compat (verified, not assumed)

  • Text content is byte-identical for every tool — including the three array-returning `list_*` tools, whose text stays a bare array while `structuredContent` wraps it in an object per the MCP spec.
  • Error returns unchanged (`isError: true` + JSON text); error responses skip output-schema validation by SDK design.
  • Verified: wire test 7/7 · integration 9/9 · day2 ✅ · 26/27 local evals with zero output-validation errors · CI evals green on gpt-4o-mini.

Found during verification (external, not this release)

#3 — cloud `gpt-oss` thinking-channel responses can yield an empty `optimizedPrompt` (remote API change exposing a pre-existing field-name gap in `client.ts`). Root cause + fix sketch in the issue; targeted for 1.7.1.

Also

  • Fixed a stale link in `load_knowledge_pack`'s description that still pointed at the archived `clarifyprompt-packs` registry — now points at the canonical `packs/` home.

Install

```bash
npm install -g clarifyprompt-mcp@1.7.0
```