mirror of
https://github.com/ArthurDanjou/artapi.git
synced 2026-01-14 22:19:26 +01:00
35 lines
873 B
TypeScript
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)
|
|
})
|