MCP服务器模板

基于Hono.js的Model Context Protocol服务器模板,提供简单、类型安全的方式来构建和部署MCP工具。

  • by duyixian1234
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 duyixian1234/mcp-template

使用说明

MCP服务器模板(HONO.JS)

这是一个 模型上下文协议(MCP) 基于的服务器模板 荣耀.js它提供了一种简单、类型安全的方法来构建和部署MCP工具。

特性

  • 🚀 基于Hono.js:轻量级、高性能的Web框架。
  • 🛠️ 装饰驱动:使用轻松定义工具 @McpTool 装饰师。
  • 🔒 类型安全:使用定义输入模式 萨德.
  • ☁️ Vercel准备就绪:已为Vercel部署进行了预配置。

快速开始

本地开发

pnpm install
pnpm vc dev

服务器将在以下时间启动 http://localhost:3000.

部署

pnpm install
pnpm vc deploy

如何添加新的MCP工具

此模板使用类和装饰器模式来定义工具。

1.创建工具类

在中创建新文件 src/tools/ 目录(例如。, src/tools/my-tool.ts)并定义一个类。

2.使用 @McpTool 装饰器

使用 @McpTool 类方法上的装饰器,将其注册为MCP工具。您需要提供工具的名称、描述和输入模式(使用Zod)。

import { z } from "zod";
import { McpTool } from "../decorators.js";

export class MyTool {
  @McpTool({
    name: "greet",
    title: "Greeting Tool",
    description: "Greet a user by name",
    inputSchema: z.object({
      name: z.string().describe("The name of the user"),
    }),
  })
  greet({ name }: { name: string }) {
    return {
      content: [
        {
          type: "text",
          text: `Hello, ${name}!`,
        },
      ],
    };
  }
}

3.注册工具

将工具类导入 src/tools/index.ts 并将其添加到 tools 阵列。

import { ArithmeticTool } from "./arthmetic.js";
import { MyTool } from "./my-tool.js"; // Import your tool

export const tools = [
  ArithmeticTool,
  MyTool, // Add to the list
];

就是这样!您的新工具将自动注册,并可通过MCP协议访问。