UNPKG

fred-mcp-server

Version:

Federal Reserve Economic Data (FRED) MCP Server - Access all 800,000+ economic time series with search, browse, and data retrieval capabilities

28 lines (27 loc) 1.27 kB
import { z } from "zod"; import { seriesMetadataMap, handleGenericSeries } from "./request.js"; /** * Factory function to register a series-specific FRED tool on the MCP server */ export function registerSeriesSpecificTool(server, seriesId) { // Get metadata for the series const metadata = seriesMetadataMap[seriesId] || { title: `FRED Data Series: ${seriesId}`, description: `Economic data from FRED series ${seriesId}`, units: "Value" }; // Register the series-specific tool server.tool(seriesId, `Retrieve data for ${metadata.title} (${seriesId}) from FRED`, { start_date: z.string().optional().describe("Start date in YYYY-MM-DD format"), end_date: z.string().optional().describe("End date in YYYY-MM-DD format"), limit: z.number().optional().describe("Maximum number of observations to return"), sort_order: z.enum(["asc", "desc"]).optional().describe("Sort order of observations") }, // Handler with logging async (input) => { console.error(`${seriesId} tool called with params: ${JSON.stringify(input)}`); const result = await handleGenericSeries(seriesId, input); console.error(`${seriesId} tool handling complete`); return result; }); }