MCP RC Long-Running Task Prototype

MCP RC Long-Running Task Prototype

Demonstrates MCP 2026-07-28 behavior for long-running tool calls, task lifecycle (get, update, cancel), and elicitation clarification during async tasks.

Category
Visit Server

README

MCP RC Long-Running Task Prototype

Repository: https://github.com/StevenBucher98/mcp-rc-long-running-task-poc

Focused prototype for MCP 2026-07-28 behavior around:

  • Long-running tool calls that return quickly with a task handle
  • Task lifecycle methods: tasks/get, tasks/update, tasks/cancel
  • Elicitation clarification while long-running work is still in progress

What Is In Scope

The server intentionally exposes only two tools:

  1. start_report_task
  • Starts an async task and immediately returns structuredContent.task.id
  1. personalized_greeting
  • If name is not provided, returns inputRequired asking for a name
  • Continue with requestState + inputResponses.name to get a random greeting

Quick Start

Clone and run:

git clone https://github.com/StevenBucher98/mcp-rc-long-running-task-poc.git
cd mcp-rc-long-running-task-poc
npm install
npm run test:scenarios

Or, if you already have the repo locally:

npm install
npm run test:scenarios

The scenario runner builds and starts the server, runs the tests, prints UX-style and raw request/response output, then stops the server.

Scenario Runner

npm run test:scenarios

This single command:

  • builds the server
  • starts the server
  • runs both scenario suites
  • prints UX-style and raw JSON-RPC request/response output
  • stops the server when finished

What it verifies:

  • Task lifecycle basics
    • create task via tools/call (start_report_task)
    • update progress via tasks/update
    • read status via tasks/get
    • cancel via tasks/cancel
  • Long-running behavior
    • starts a long-running task (default 90000 ms)
    • confirms tool call returns quickly (non-blocking)
    • continues with other calls during execution (personalized_greeting, tools/list)
    • polls until completion and prints final result

Optional Flags

node scripts/test-state-and-long-running.mjs \
  --long-duration-ms 90000 \
  --quick-threshold-ms 4000 \
  --wait-for-completion \
  --greeting-name Taylor
  • --long-duration-ms: duration for long-running task
  • --quick-threshold-ms: max acceptable create-call latency
  • --wait-for-completion: wait until long-running task is complete (default behavior)
  • --no-wait-for-completion: skip waiting at the end
  • --greeting-name <name>: name used for greeting elicitation replay (if omitted and terminal is interactive, you will be prompted)

Endpoints

  • POST /mcp
  • GET /health

Share With Others

  • Repo URL: https://github.com/StevenBucher98/mcp-rc-long-running-task-poc
  • To run quickly: npm install && npm run test:scenarios

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured