import { z } from 'zod';
import type { ToolDefinition } from '../../mcp/tools/baseTool.js';
const inputSchema = z.object({
symbol: z.string().min(1).transform((value) => value.toUpperCase()),
});
type StockQuoteData = {
symbol: string;
price: number;
currency: string;
asOf: string;
};
const stockQuoteTool: ToolDefinition<typeof inputSchema, StockQuoteData> = {
name: 'stock_quote',
description: 'Returns a mock stock quote for demonstration purposes.',
inputSchema,
execute({ input }) {
const price = Number((Math.random() * (500 - 20) + 20).toFixed(2));
return Promise.resolve({
success: true,
data: {
symbol: input.symbol,
price,
currency: 'USD',
asOf: new Date().toISOString(),
},
});
},
};
export default stockQuoteTool;