1. Conduid
  2. Browser
  3. Hono Stateless
MCP server · Browser

Hono Stateless

An example Hono MCP server using Streamable HTTP

Unclaimed last commit a year ago browser
59Fair

Scored 14 days ago · breakdown

About Hono Stateless

Hono Stateless is an MCP server published by mhart in the Browser category: an example Hono MCP server using Streamable HTTP.

The repository has 102 stars and 9 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/mhart/mcp-hono-stateless

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (1)

start-notification-streamStarts sending periodic notifications for testing resumability

Parameters not published.

Ask AI

✦

Ask AI about Hono Stateless

Powered by Claude · Grounded in docs

I know everything about Hono Stateless. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 8 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Stateless Hono MCP Server

Deploy to Cloudflare

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

README fetched from the repository 8 days ago. The original is authoritative.

Questions

About Hono Stateless

How do I install Hono Stateless?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Hono Stateless safe to use with an AI agent?

Its trust score is 59 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Hono Stateless still maintained?

The last commit was a year ago and 2 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.