basin-mcp
Version:
Basin AI MCP tool for code quality and reliability testing
28 lines (27 loc) • 1.15 kB
JavaScript
// src/handlers.ts
import { CallToolRequestSchema, ListToolsRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
import { toolHandlers, tools } from "./tools.js";
import { promptHandlers, prompts } from "./prompts.js";
export const setupHandlers = (server) => {
// tools
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: Object.values(tools),
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name, arguments: params } = request.params ?? {};
const handler = toolHandlers[name];
if (!handler)
throw new Error("Tool not found");
return handler(params);
});
server.setRequestHandler(ListPromptsRequestSchema, () => ({
prompts: Object.values(prompts),
}));
server.setRequestHandler(GetPromptRequestSchema, (request) => {
const { name, arguments: args } = request.params;
const promptHandler = promptHandlers[name];
if (promptHandler)
return promptHandler(args);
throw new Error("Prompt not found");
});
};