stateless-mcp-incident-lab-typescript-raw
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stateless-mcp-incident-lab-typescript-rawsimulate a P1 incident and run the remediation approval flow"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Stateless MCP Incident Lab — Raw TypeScript
Independent raw HTTP/JSON-RPC implementation of the Stateless MCP Incident Lab for Node.js 24. It implements MCP wire shapes directly and intentionally does not depend on the official MCP SDK.
Capabilities
Stateless per-request protocol-version and capability negotiation
Streamable HTTP JSON responses and SSE diagnostic progress
Tool, resource, resource-template, and prompt catalogs
Synthetic incident lifecycle and signed multi-round remediation approval
Public/private response caching with stale-on-refresh-error behavior
CLI workflows, structured telemetry, health readiness, and security bounds
All remediation effects are simulated.
Related MCP server: MCP Server TypeScript
Quick start
npm ci
npm run build
npm startThe server binds to 127.0.0.1:3101 by default and exposes POST /raw/mcp plus GET /raw/healthz. Override the bind with HOST and PORT. Production replicas must share an MCP_REQUEST_STATE_SECRET of at least 32 bytes and set DYNAMODB_TABLE (plus optional DYNAMODB_ENDPOINT for DynamoDB Local); development uses process-local ephemeral key and effect storage. In another shell:
node dist/src/main.js --version
node dist/src/main.js discover http://127.0.0.1:3101/raw/mcpCLI
The incident-mcp binary supports these command families:
incident-mcp discover <url>
incident-mcp tools list|inspect|call <url> [...]
incident-mcp resources list|templates|read <url> [...]
incident-mcp prompts list|get <url> [...]
incident-mcp demo <url> --approve|--decline|--cancelTool and prompt arguments are supplied as one JSON object, either positionally or after a --json
marker. Global diagnostic options include --wire with sensitive-value redaction and --no-cache.
tools inspect exits 3 when the named tool is absent from the catalog.
Docker
Build and run the minimal runtime image:
docker build --target runtime -t incident-mcp-raw .
docker run --rm -p 127.0.0.1:3101:3101 \
-e HOST=0.0.0.0 \
-e MCP_REQUEST_STATE_SECRET="$(openssl rand -hex 32)" \
-e EFFECT_STORE=memory \
incident-mcp-raw
# Or inspect the image version without starting the service:
docker run --rm incident-mcp-raw --versionThe test stage requires the external behavioral repository as a named build context:
docker build --target test \
--build-context conformance=../stateless-mcp-incident-lab-conformance \
--build-context sdk=../stateless-mcp-incident-lab-typescript-sdk/src \
-t incident-mcp-raw-test .Runtime behavior
The public HTTP/CLI path uses the same application modules exercised by conformance. Incident lifecycle records and conditional remediation claims share the configured DynamoDB table in production; development uses in-memory stores. The CLI applies MCP cache hints in-process, supports explicit bypass, and serves stale entries only after refresh failure with a warning. Diagnostic SSE work is paced and request-scoped, stops on disconnect or deadline, and returns the actual diagnostic result. Live JSON requests enforce a five-second deadline and emit structured, trace-correlated telemetry with bearer-bearing resource names redacted.
Development and verification
npm run format
npm run lint
npm run typecheck
npm run test:architecture -- --self-test
npm run test:independence
npm run test:source-hygiene
npm run test:coverage
npm run test:mutation
npm run build
npm run test:conformance
npm audit --audit-level=highThe behavioral suite is resolved from CONFORMANCE_PATH, defaulting to the sibling ../stateless-mcp-incident-lab-conformance/conformance directory.
Coverage is enforced at 95% lines/functions, 90% statements, and 80% branches overall, with a separate 100% statement/branch/function/line gate for the protocol codec and validator. The remaining overall lines are defensive malformed-internal-input paths and the direct-process bootstrap. Mutation testing covers the complete raw protocol core (codec, headers, request state, schema guards, validation, and version negotiation) with an enforced score of at least 90%.
This server cannot be deployed
Maintenance
Related MCP Connectors
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Experimental MCP server for current empirical verification of explicit public HTTPS endpoint claims.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA demonstration MCP server built in TypeScript that shows how to implement stdio-based communication for integration with MCP clients. Serves as a template for building custom MCP servers with strong typing and maintainability.-
- -licenseNot gradedqualityNot gradedmaintenanceA production-ready TypeScript MCP server providing basic tools (add, echo, timestamp), resources (server info, greetings, data access), and prompt templates (analyze, code-review, summarize). Serves as a foundation for building custom MCP servers with extensible architecture.205 npm-
- FlicenseBqualityDmaintenanceA demonstration TypeScript MCP server that showcases basic MCP concepts with simple tools (greeting, calculator), text resources, and prompt templates for learning the Model Context Protocol.2-
- AlicenseNot gradedqualityBmaintenanceA feature-complete MCP server template in TypeScript demonstrating tools, resources, prompts, and both stdio and HTTP transports.8MIT