import { z } from 'zod';
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { queryStore, Query } from '../utils/queries.js';
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
export function registerReturnQuery(server: Server) {
const ReturnQuerySchema = z.object({
method: z.literal("return_query"),
id: z.string()
});
server.setRequestHandler(ReturnQuerySchema, async (request) => {
const { id } = request;
console.error('[Tool] return_query called with id:', id);
if (!id) {
throw new McpError(ErrorCode.InvalidParams, 'The "id" parameter is required');
}
const foundQuery: Query | undefined = queryStore.getQuery(id);
if (!foundQuery) {
throw new McpError(ErrorCode.InvalidParams, 'Query not found');
}
return { content: foundQuery };
});
}