UNPKG

norminette-mcp

Version:

MCP server for 42 School norminette coding standard checker

43 lines (42 loc) 1.39 kB
import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; import { toolDefinitions, handleToolCall } from "./handlers.js"; export function createMCPServer() { const server = new Server({ name: "norminette-mcp", version: "1.0.0", }, { capabilities: { tools: {}, }, }); server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: toolDefinitions, }; }); server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; try { return await handleToolCall(name, args); } catch (error) { return { content: [ { type: "text", text: `Error: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } }); return server; } export async function startMCPServer() { const server = createMCPServer(); const transport = new StdioServerTransport(); await server.connect(transport); }