generated from nhcarrigan/template
feat: fuck mcp, we'll just send the json
This commit is contained in:
@@ -5,11 +5,7 @@
|
||||
*/
|
||||
|
||||
import cors from "@fastify/cors";
|
||||
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
||||
import fastify from "fastify";
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention -- 'Tis a class.
|
||||
import FastifyMcpServer, { getMcpDecorator } from "fastify-mcp-server";
|
||||
import { documentationData } from "./data/docs.js";
|
||||
import { corsHook } from "./hooks/cors.js";
|
||||
import { ipHook } from "./hooks/ips.js";
|
||||
import { announcementRoutes } from "./routes/announcement.js";
|
||||
@@ -37,47 +33,6 @@ server.addHook("preHandler", ipHook);
|
||||
server.register(baseRoutes);
|
||||
server.register(announcementRoutes);
|
||||
|
||||
const mcp = new McpServer({
|
||||
name: "nhcarrigan-mcp",
|
||||
version: process.env.npm_package_version ?? "0.0.0",
|
||||
});
|
||||
|
||||
// Define MCP tools
|
||||
mcp.tool("docs", () => {
|
||||
return {
|
||||
content: documentationData.documents.map((document) => {
|
||||
return {
|
||||
text: JSON.stringify(document, null, 2),
|
||||
type: "text",
|
||||
};
|
||||
}),
|
||||
};
|
||||
});
|
||||
|
||||
await server.register(FastifyMcpServer, {
|
||||
endpoint: "/mcp",
|
||||
server: mcp.server,
|
||||
});
|
||||
|
||||
const mcpServer = getMcpDecorator(server);
|
||||
|
||||
const sessionManager = mcpServer.getSessionManager();
|
||||
|
||||
// Session created
|
||||
sessionManager.on("sessionCreated", (sessionId: string) => {
|
||||
void logger.log("debug", `New MCP session: ${sessionId}`);
|
||||
});
|
||||
|
||||
// Session destroyed
|
||||
sessionManager.on("sessionDestroyed", (sessionId: string) => {
|
||||
void logger.log("debug", `MCP session ended: ${sessionId}`);
|
||||
});
|
||||
|
||||
// Transport errors
|
||||
sessionManager.on("transportError", (sessionId: string, error: Error) => {
|
||||
void logger.error(`Error in session ${sessionId}:`, error);
|
||||
});
|
||||
|
||||
server.listen({ port: 20_000 }, (error) => {
|
||||
if (error) {
|
||||
void logger.error("instantiate server", error);
|
||||
|
||||
Reference in New Issue
Block a user