- Explore MCP Servers
- mcp-hono-stateless
Mcp Hono Stateless
What is Mcp Hono Stateless
mcp-hono-stateless is an example of a Hono MCP server that utilizes Streamable HTTP. It is based on an official Express example and is designed to be deployable on Cloudflare Workers and other platforms where Hono operates.
Use cases
Use cases for mcp-hono-stateless include connecting IoT devices to a server, processing real-time data streams, and serving as a backend for applications that require quick and efficient HTTP request handling.
How to use
To use mcp-hono-stateless, start the server by running ‘npm start’ in one terminal. In another terminal, run an MCP client with ‘node node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.js’ to connect to the server on port 3000. You can also connect to a different host or port using ‘connect
Key features
Key features of mcp-hono-stateless include its stateless architecture, compatibility with Streamable HTTP, easy deployment on Cloudflare Workers, and the ability to handle requests efficiently using Hono framework.
Where to use
mcp-hono-stateless can be used in various fields such as IoT applications, real-time data processing, and any scenario requiring a lightweight, stateless server for handling HTTP requests.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Hono Stateless
mcp-hono-stateless is an example of a Hono MCP server that utilizes Streamable HTTP. It is based on an official Express example and is designed to be deployable on Cloudflare Workers and other platforms where Hono operates.
Use cases
Use cases for mcp-hono-stateless include connecting IoT devices to a server, processing real-time data streams, and serving as a backend for applications that require quick and efficient HTTP request handling.
How to use
To use mcp-hono-stateless, start the server by running ‘npm start’ in one terminal. In another terminal, run an MCP client with ‘node node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.js’ to connect to the server on port 3000. You can also connect to a different host or port using ‘connect
Key features
Key features of mcp-hono-stateless include its stateless architecture, compatibility with Streamable HTTP, easy deployment on Cloudflare Workers, and the ability to handle requests efficiently using Hono framework.
Where to use
mcp-hono-stateless can be used in various fields such as IoT applications, real-time data processing, and any scenario requiring a lightweight, stateless server for handling HTTP requests.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Stateless Hono MCP Server
An example Hono MCP server using Streamable HTTP, based off the official Express example,
using fetch-to-node to convert, deployable to Cloudflare Workers (and anywhere else Hono runs).
The only real changes to the Express example are:
- import express, { Request, Response } from 'express';
+ import { Hono } from 'hono';
+ import { toFetchResponse, toReqRes } from 'fetch-to-node';
// ...
- const app = express();
- app.use(express.json());
+ const app = new Hono();
- app.post('/mcp', async (req: Request, res: Response) => {
+ app.post('/mcp', async (c) => {
+ const { req, res } = toReqRes(c.req.raw);
const server = getServer();
try {
const transport: StreamableHTTPServerTransport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined,
});
await server.connect(transport);
- await transport.handleRequest(req, res, req.body);
+ await transport.handleRequest(req, res, await c.req.json());
res.on('close', () => {
console.log('Request closed');
transport.close();
server.close();
});
+ return toFetchResponse(res);
} catch (error) {
Testing with an example MCP client
In one terminal:
npm start
In another:
node node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleStreamableHttp.js
This will try to connect to the MCP server running on port 3000. You can use connect <url>/mcp to connect to a different host or port.
Then you can run commands like list-prompts or list-tools to verify your MCP server is working.
Deploying
npm run deploy
Here’s an example session against a Hono MCP server deployed on Cloudflare Workers:
> connect https://mcp-hono-stateless.michael.workers.dev/mcp
Connecting to https://mcp-hono-stateless.michael.workers.dev/mcp...
Transport created with session ID: undefined
Connected to MCP server
> list-tools
Available tools:
- start-notification-stream: Starts sending periodic notifications for testing resumability
> list-prompts
Available prompts:
- greeting-template: A simple greeting prompt template
> call-tool start-notification-stream
Calling tool 'start-notification-stream' with args: {}
Notification #1: info - Periodic notification #1 at 2025-04-22T16:20:50.178Z
>
Notification #2: info - Periodic notification #2 at 2025-04-22T16:20:50.278Z
>
Notification #3: info - Periodic notification #3 at 2025-04-22T16:20:50.378Z
>
Notification #4: info - Periodic notification #4 at 2025-04-22T16:20:50.478Z
>
Notification #5: info - Periodic notification #5 at 2025-04-22T16:20:50.578Z
>
Notification #6: info - Periodic notification #6 at 2025-04-22T16:20:50.678Z
>
Notification #7: info - Periodic notification #7 at 2025-04-22T16:20:50.778Z
>
Notification #8: info - Periodic notification #8 at 2025-04-22T16:20:50.878Z
>
Notification #9: info - Periodic notification #9 at 2025-04-22T16:20:50.978Z
>
Notification #10: info - Periodic notification #10 at 2025-04-22T16:20:51.078Z
> Tool result:
Started sending periodic notifications every 100ms
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










