About Adonis MCP
Adonis MCP is an AdonisJS package for building remote MCP servers over Server-Sent Events. AdonisJS developers can configure server settings and register tools, resources, and prompts as routes.
Key features
- 01Build remote MCP servers with AdonisJS
- 02Use Server-Sent Events transport
- 03Configure server settings
- 04Register tools, resources, and prompts
Use cases
- 01Add MCP endpoints to an AdonisJS application
- 02Define MCP tools and prompts in application routes
MCP support
The package lets AdonisJS applications expose MCP tools, resources, and prompts through remote servers using SSE.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEAdonis 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-mcp
Configuration
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 dev
Debugging
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/inspector
- Set the Transport Type to
SSE. - Enter the URL
http://localhost:3333/sse. - Click the
Connectbutton. - Confirm that the status changes to
Connected.
For more details, refer to the Inspector Documentation.
License
This project is provided under the MIT License.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.