Skip to content

Version Packages - #61

Merged
CahidArda merged 1 commit into
mainfrom
changeset-release/main
Oct 8, 2026
Merged

CahidArda merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@upstash/mcp-toolkit@0.1.0

Minor Changes

  • 5644daa: Add @upstash/mcp-toolkit: durable building blocks for MCP servers on the official TypeScript SDK.

    @upstash/mcp-toolkit/tasks — long-running tools. A task tool answers immediately with a task id;
    the model polls the shared task_status tool for progress and the result, and can stop the task
    with task_cancel. They are ordinary MCP tools, so they work in every client today. The record
    lives in a TaskStore and the work runs behind a TaskDispatcher, and the dispatcher owns its
    delivery endpoint (export const POST = tasks.createExecuteHandler()) and always verifies QStash's
    signature against the URL it published to. Tasks are declared once at module scope with
    tasks.define(...) and attached to each request's server with tasks.register(server). A required
    principal scopes tasks to their caller (and subscriptions to theirs); handlers get it as
    task.principal, and an optional authorize on tasks.define checks the arguments before a task
    is stored or queued.

    @upstash/mcp-toolkit/events — MCP Events with webhook delivery, as ChatGPT ships it. Typed
    events.define(...) handles with emit(payload): the payload's values route the event and are what
    the required authorize is checked against, at subscribe and again before every delivery.
    events/list, events/subscribe and events/unsubscribe are registered on your server, with a
    signed verification challenge, deterministic subscription ids, expiry and refresh, a configurable
    limit of live subscriptions per subscriber (8 by default), SSRF checks on callback URLs, and signing
    secrets encrypted at rest. QStashDelivery signs each attempt with
    Standard Webhooks and lets QStash retry failures (export const POST = events.createDeliveryHandler()).

    A handler that returns a tool error (isError: true) fails its task without a retry, and
    task_status shows that error the way the synchronous tool would. The model only ever sees a
    failure's code and message: transport details stay in the store, and dispatch errors are logged.

    The package uses WebCrypto only, so it runs on Node and edge runtimes.

    @upstash/mcp-toolkit/upstash holds the Upstash backends for both: RedisTaskStore,
    QStashDispatcher, WorkflowDispatcher, RedisSubscriptionStore and QStashDelivery.
    @upstash/redis, @upstash/qstash and @upstash/workflow are regular dependencies.

mcp-toolkit-demo@0.1.1

Patch Changes

  • Updated dependencies [5644daa]
    • @upstash/mcp-toolkit@0.1.0

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 785c91f to e54dd5f Compare October 8, 2026 22:37
@CahidArda
CahidArda merged commit 4afda88 into main Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant