Calculator Learning Demo Server
Provide a stateful, session-based calculator server with robust streamable HTTP transport supporting resumable event streams and persistent session state. Enable complex multi-step workflows, interactive problem solving, and detailed calculation history with guaranteed message delivery. Ideal for enterprise APIs and applications requiring reliable state management and auditability.
Ask AI about Calculator Learning Demo Server
Powered by Claude · Grounded in docs
I know everything about Calculator Learning Demo Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
example-mcp-stateful
learning-first boilerplate for stateful MCP servers over Streamable HTTP with TypeScript SDK v2.
part of a series: stdio · stateless · stateful (you are here) · sse
what it does
- runs a stateful MCP server where sessions persist across requests with in-memory storage
- implements the full Streamable HTTP lifecycle:
POST /mcp(JSON-RPC),GET /mcp(SSE stream),DELETE /mcp(session close) - demonstrates SSE resumability via an in-memory event store with
Last-Event-Idreplay - registers example tools (
add_note,list_notes,simulate_work), resources (session://overview,session://notes/{index}), and a prompt (study-notes) - includes a scaffold CLI to generate new projects from templates
- vendors MCP TypeScript SDK v2 pre-release tarballs for reproducible installs
quick start
npm install
npm run dev
server starts at http://127.0.0.1:1453. endpoints:
POST /mcp-- JSON-RPC requestsGET /mcp-- SSE streamDELETE /mcp-- close sessionGET /health-- health checkGET /sessions-- list active sessions
Docker alternative:
docker compose up --build -d
scaffold cli
generate a new project from the included templates:
npm run create -- init my-mcp-app
options: --force, --dir <path>, --sdk vendored|registry. see scaffold CLI docs for details.
documentation
| doc | description |
|---|---|
| getting started | install, run, verify endpoints |
| architecture | module layout, session lifecycle, resumability |
| scaffold cli | generate new projects from templates |
| sdk v2 notes | v2 packages, vendoring, migration |
| validation | smoke tests, primitive checks, release checklist |
sdk v2 context
this project targets MCP TypeScript SDK v2 pre-release (2.0.0-alpha.0). the v2 SDK splits the monolithic @modelcontextprotocol/sdk package into server, node, client, and core. this repo uses @modelcontextprotocol/server for McpServer and @modelcontextprotocol/node for NodeStreamableHTTPServerTransport. vendored tarballs under vendor/mcp-sdk-v2/ ensure reproducible installs until v2 reaches stable release.
license
MIT
