import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { wrapToolHandler } from '../wrapToolHandler.js';
import type { MarketstackClient } from '../../marketstackClient.js';
import { getEndOfDayDataTool } from './getEndOfDayData.js';
import { getIntradayDataTool } from './getIntradayData.js';
import { getSplitsDataTool } from './getSplitsData.js';
import { getDividendsDataTool } from './getDividendsData.js';
/**
* Registers Market Data tools with the MCP server.
* @param server The McpServer instance.
* @param client The Marketstack client instance.
*/
export const registerMarketDataTools = (server: McpServer, client: MarketstackClient): void => {
console.log('Registering Marketstack Market Data tools...');
server.tool(
getEndOfDayDataTool.name,
getEndOfDayDataTool.description,
getEndOfDayDataTool.inputSchemaShape,
wrapToolHandler((input) => getEndOfDayDataTool.handler(input, client))
);
server.tool(
getIntradayDataTool.name,
getIntradayDataTool.description,
getIntradayDataTool.inputSchemaShape,
wrapToolHandler((input) => getIntradayDataTool.handler(input, client))
);
server.tool(
getSplitsDataTool.name,
getSplitsDataTool.description,
getSplitsDataTool.inputSchemaShape,
wrapToolHandler((input) => getSplitsDataTool.handler(input, client))
);
server.tool(
getDividendsDataTool.name,
getDividendsDataTool.description,
getDividendsDataTool.inputSchemaShape,
wrapToolHandler((input) => getDividendsDataTool.handler(input, client))
);
console.log('Finished registering Marketstack Market Data tools.');
};