Adonis MCP 是一个专为 AdonisJS 框架设计的包,提供对模型上下文协议(MCP)的支持。通过这个包,你可以轻松地使用服务端发送事件(SSE)来构建远程 MCP 服务器。
运行以下命令以安装该包:
node ace add @7nohe/adonis-mcp
安装后会生成一个 config/mcp.ts 文件。编辑此文件来自定义 MCP 服务器设置。
示例:
import { defineConfig } from '@7nohe/adonis-mcp'
export default defineConfig({
ssePath: '/sse',
messagesPath: '/messages',
serverOptions: {
name: 'mymcp',
version: '0.0.1',
},
})
你可以在 start/routes.ts 中使用 registerRoutes 方法来定义工具和提示。下面是一个示例:
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: `资源回声: ${message}`,
},
],
})
)
server.tool('echo', { message: z.string() }, async ({ message }) => ({
content: [{ type: 'text', text: `工具回声: ${message}` }],
}))
server.prompt('echo', { message: z.string() }, ({ message }) => ({
messages: [
{
role: 'user',
content: {
type: 'text',
text: `请处理此消息: ${message}`,
},
},
],
}))
})
定义好路由后,可以通过运行以下命令启动 MCP 服务器:
npm run dev
为了调试,可以编辑 MCP 服务器配置文件(例如,针对 Claude Desktop 或 Cursor),如下所示:
{
"mcpServers": {
"mymcp": {
"url": "http://localhost:3333/sse"
}
}
}
另一种调试方法是使用 Inspector。通过以下命令启动它:
npx @modelcontextprotocol/inspector
SSE。http://localhost:3333/sse。连接 按钮。已连接。更多详情,请参阅 Inspector 文档。
本项目在 MIT 许可证下提供。