Files
artapi/server/routes/mcp.ts

35 lines
873 B
TypeScript

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'
function createServer() {
const server = new McpServer({
name: 'nuxt-ui',
version: '1.0.0'
})
// Prompts : toutes les commandes de artchat
// Ressources : toutes les ressources de Nuxt Content
// Tools : toutes les actions
return server
}
export default defineEventHandler(async (event) => {
const server = createServer()
const transport: StreamableHTTPServerTransport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined
})
event.node.res.on('close', () => {
transport.close()
server.close()
})
await server.connect(transport)
const body = await readBody(event)
await transport.handleRequest(event.node.req, event.node.res, body)
})