An AdonisJS package for building remote MCP servers
Documentation
Adonis MCP
Adonis MCP is a package designed for the AdonisJS framework that provides support for the Model Context Protocol (MCP). With this package, you can easily build remote MCP servers using Server-Sent Events (SSE).
Installation
Run the following command to install the package:
node ace add @7nohe/adonis-mcpConfiguration
After installation, a config/mcp.ts file will be generated. Edit this file to customize the MCP server settings.
Example:
import { defineConfig } from '@7nohe/adonis-mcp'
export default defineConfig({
ssePath: '/sse',
messagesPath: '/messages',
serverOptions: {
name: 'mymcp',
version: '0.0.1',
},
})Usage
Registering Routes
You can use the registerRoutes method in start/routes.ts to define tools and prompts. Below is an example:
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}`,
},
},
],
}))
})Starting the Server
After defining the routes, start the MCP server by running the following command:
npm run devDebugging
Using Configuration File
To debug, edit the MCP server configuration file (e.g., for Claude Desktop or Cursor) as follows:
{
"mcpServers": {
"mymcp": {
"url": "http://localhost:3333/sse"
}
}
}Using Inspector
Another debugging method is to use the Inspector. Start it with the following command:
npx @modelcontextprotocol/inspector1. Set the Transport Type to SSE.
2. Enter the URL http://localhost:3333/sse.
3. Click the Connect button.
4. Confirm that the status changes to Connected.
For more details, refer to the Inspector Documentation.
License
This project is provided under the MIT License.
Similar MCP
Based on tags & features
Trending MCP
Most active this week