模型上下文协议服务器

Adonis MCP是一个为AdonisJS框架设计的包,支持通过服务器发送事件(SSE)构建远程模型上下文协议(MCP)服务器。

  • by 7nohe
  • TypeScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 7nohe/adonis-mcp

使用说明

阿多尼斯MCP

Adonis MCP是一个为AdonisJS框架设计的包,它支持模型上下文协议(MCP)。使用此包,您可以使用服务器发送事件(SSE)轻松构建远程MCP服务器。

安装

运行以下命令安装软件包:

node ace add @7nohe/adonis-mcp

配置

安装后,a config/mcp.ts 将生成文件。编辑此文件以自定义MCP服务器设置。

例子:

import { defineConfig } from '@7nohe/adonis-mcp'

export default defineConfig({
  ssePath: '/sse',
  messagesPath: '/messages',
  serverOptions: {
    name: 'mymcp',
    version: '0.0.1',
  },
})

用法

注册路线

您可以使用 registerRoutes 方法in start/routes.ts 定义工具和提示。下面是一个例子:

import mcp from '@7nohe/adonis-mcp/services/main'
import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js'
import { z } from 'zod'

await mcp.registerRoutes((server) => {
  server.resource(
    'echo',
    new ResourceTemplate('echo://{message}', { list: undefined }),
    async (uri, { message }) => ({
      contents: [
        {
          uri: uri.href,
          text: `Resource echo: ${message}`,
        },
      ],
    })
  )

  server.tool('echo', { message: z.string() }, async ({ message }) => ({
    content: [{ type: 'text', text: `Tool echo: ${message}` }],
  }))

  server.prompt('echo', { message: z.string() }, ({ message }) => ({
    messages: [
      {
        role: 'user',
        content: {
          type: 'text',
          text: `Please process this message: ${message}`,
        },
      },
    ],
  }))
})

启动服务器

定义路由后,通过运行以下命令启动MCP服务器:

npm run dev

调试

使用配置文件

要调试,请按如下方式编辑MCP服务器配置文件(例如,用于Claude Desktop或Cursor):

{
  "mcpServers": {
    "mymcp": {
      "url": "http://localhost:3333/sse"
    }
  }
}

使用检查器

另一种调试方法是使用检查器。使用以下命令启动它:

npx @modelcontextprotocol/inspector
  1. 将传输类型设置为 SSE.
  2. 输入URL http://localhost:3333/sse.
  3. 点击 Connect 按钮。
  4. 确认状态更改为 Connected.

有关更多详细信息,请参阅 检查员文件.

许可证

本项目根据 MIT许可证.