norminette-mcp
Version:
MCP server for 42 School norminette coding standard checker
43 lines (42 loc) • 1.39 kB
JavaScript
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);
}