Skip to main content
redop currently supports two real transport modes:
  • http
  • stdio

HTTP

Use HTTP when you want a networked MCP server with streamable HTTP behavior.
app.listen({
  port: 3000,
  hostname: "0.0.0.0",
  cors: true,
});
HTTP gives you access to richer request metadata:
  • headers
  • ip
  • method
  • url
  • raw
  • sessionId

STDIO

Use stdio when integrating with local MCP hosts such as Claude Desktop-style workflows.
app.listen({
  transport: "stdio",
});
In stdio mode:
  • request.transport is "stdio"
  • request.headers is empty
  • request.ip and request.raw are undefined

Auto-mounted HTTP routes

When you use the HTTP transport, redop mounts:
  • POST /mcp for JSON-RPC
  • GET /mcp for the SSE stream
  • DELETE /mcp for session termination
  • GET /mcp/health for health checks
  • GET /mcp/schema for the OpenAPI-style schema manifest

Common mistake

Do not document or depend on ws yet. The current runtime exposes http and stdio as the supported transport paths.