Skip to content

This release adds 2 notable features for engineering teams evaluating rollout.

Published 1mo MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

compose_prompt now supports cancellation via AbortSignal and live progress notifications.

Full changelog

What's new in 1.10.0

Step #5 of the MCP modernization roadmap, stable core: compose_prompt is now cancellable and reports live progress. Model-agnostic, opt-in, fully back-compat.

Cancellation

An AbortSignal is plumbed through the entire LLM path (simpleGeneratechatfetch, combined with the per-call timeout via AbortSignal.any) and every engine stage (optimize / ground / critique / clarify). When a client sends notifications/cancelled for a compose_prompt call, the in-flight model request aborts immediately and the revise loop stops at the next stage boundary — instead of running every iteration to completion. The signal reaches fetch regardless of which model/provider is configured.

Progress

Include a progressToken in the compose_prompt request _meta and the server emits notifications/progress at each stage (clarify / optimize / ground / critique) with a monotonic counter and a human message like optimizing prompt [iter 2/3]. Hosts can show a live status on a long multi-iteration compose. No token → no notifications, zero overhead.

Why not the MCP tasks API (yet)

Roadmap #5 named MCP tasks (tasks/create / get / cancel) as the mechanism. On inspection it's still experimental/ in the SDK ("may change without notice"), its reference implementation is ~600 lines, and no current MCP client speaks the tasks/* protocol — so a full implementation would be unusable off-by-default code today. The genuine value of #5 (cancellable, progress-reporting long compose) is delivered here on stable primitives (extra.signal + notifications/progress). The experimental async-task wrapper is deferred to land with #7 (A2A), once the SDK promotes tasks out of experimental/ and clients adopt them — the AbortSignal groundwork here is exactly what that builds on.

Tests

New deterministic npm run test:cancel (tests/cancellation.mjs): a pre-aborted signal makes composePrompt throw before any LLM call; the onProgress contract is asserted; and a live wire test observes compose_prompt emitting notifications/progress with a monotonic counter. Added to test:all.

Verified

test:cancel (deterministic + live progress) · wire · integration 9/9 · compose + clarify eval fixtures on gemma4:31b-cloud · all CI build/docker/secrets jobs · evals on gpt-4o-mini. The signal/progress params are all optional, so every existing caller is byte-for-byte unaffected.

Install

```bash
npm install -g [email protected]
```

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track LumabyteCo/clarifyprompt-mcp

Get notified when new releases ship.

Sign up free

About LumabyteCo/clarifyprompt-mcp

MCP server for AI prompt optimization — transforms vague prompts into platform-optimized prompts for 58+ AI platforms across 7 categories (image, video, voice, music, code, chat, document).

All releases →

Related context

Earlier breaking changes

  • v1.7.0 Migrated all tools from `server.tool()` shorthand to `server.registerTool()`.

Beta — feedback welcome: [email protected]