feat: fuck mcp, we'll just send the json

This commit is contained in:
2025-08-07 12:55:43 -07:00
parent e49137bb08
commit 0f058870a8
12 changed files with 19 additions and 399 deletions
-45
View File
@@ -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);