Cover image
Try Now
2025-04-14

An example Hono MCP server using Streamable HTTP

3 years

Works with Finder

7

Github Watches

0

Github Forks

7

Github Stars

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

相关推荐

  • n8n-io
  • Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

  • Byaidu
  • PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero

  • 1Panel-dev
  • 🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.

  • sigoden
  • Easily create LLM tools and agents using plain Bash/JavaScript/Python functions.

  • paulwing
  • A test repository created using MCP service

  • hkr04
  • Lightweight C++ MCP (Model Context Protocol) SDK

  • RockChinQ
  • 😎简单易用、🧩丰富生态 - 大模型原生即时通信机器人平台 | 适配 QQ / 微信(企业微信、个人微信)/ 飞书 / 钉钉 / Discord / Telegram / Slack 等平台 | 支持 ChatGPT、DeepSeek、Dify、Claude、Gemini、xAI、PPIO、Ollama、LM Studio、阿里云百炼、火山方舟、SiliconFlow、Qwen、Moonshot、ChatGLM、SillyTraven、MCP 等 LLM 的机器人 / Agent | LLM-based instant messaging bots platform, supports Discord, Telegram, WeChat, Lark, DingTalk, QQ, Slack

  • tawago
  • Artifact2MCP Generator allows generation of MCP server automatically & dynamically given smart contract's compiled artifact (chain‑agnostic)

  • tommyming
  • Just getting some fun to build a mcp version using swift.

    Reviews

    2.4 (8)
    Avatar
    user_XTswRNpC
    2025-04-23

    As a dedicated user of mcp applications, I must say that mcp-hono-stateless by mhart has exceeded my expectations. Its stateless nature makes it incredibly efficient and versatile for numerous applications. Easy to implement and integrate, highly recommend this for anyone looking for a reliable solution!

    Avatar
    user_vNDktz9n
    2025-04-23

    As an avid user of the mcp-hono-stateless application by mhart, I have to say it truly excels in performance and stability. It's incredibly efficient for managing stateless applications, making my work smoother and faster. The user-friendly interface and robust functionality have exceeded my expectations. A must-have for developers looking to optimize their workflow! Highly recommended!

    Avatar
    user_q36eE4vZ
    2025-04-23

    As a dedicated user of MCP applications, I find mcp-hono-stateless to be an outstanding tool. Created by mhart, it seamlessly integrates into my workflow, providing reliable and efficient stateless operations. This product has significantly enhanced my productivity, and I highly recommend it to anyone in need of robust and versatile solutions.

    Avatar
    user_PLCbuDL0
    2025-04-23

    I'm a big fan of the mcp-hono-stateless application. It is an incredible tool by mhart that has greatly simplified my workflow. The seamless and stateless design ensures consistent performance without the need for session handling. If you're looking for a reliable and efficient solution, I highly recommend giving this a try!

    Avatar
    user_Wy5C6kMg
    2025-04-23

    The mcp-hono-stateless by mhart is an outstanding tool for developers who need a reliable, stateless solution. It's incredibly user-friendly and integrates seamlessly into existing workflows. The documentation is clear, and the performance is top-notch. Highly recommend!

    Avatar
    user_44v6K789
    2025-04-23

    mcp-hono-stateless by mhart is an impressive product! It offers a seamless and efficient way to handle stateless operations. The user-friendly interface and excellent performance make it a top choice for developers who need reliable and scalable solutions. Highly recommended for anyone looking to optimize their workflow!

    Avatar
    user_PIoq6wAb
    2025-04-23

    As a loyal user of mcp-hono-stateless by mhart, I am thoroughly impressed with its seamless functionality. The tool's stateless design ensures efficient and scalable solutions for my projects, making development smooth and hassle-free. Highly recommend for anyone looking to enhance their workflow effortlessly!

    Avatar
    user_Qsf29ULj
    2025-04-23

    As a dedicated user of the mcp-hono-stateless, I can confidently say that this product developed by mhart is top-notch. Its stateless architecture ensures scalability and impressive performance. Highly recommend it for those seeking a reliable solution!