import { agentStartSchema, agentStatusSchema } from '../schemas.js' import type { MarketV1Client } from '../v1/client.js' import { result } from './result.js' import type { MarketMcpServer } from './types.js' export function registerAgentTools(server: MarketMcpServer, client: MarketV1Client): void { server.registerTool( 'start_market_agent_run', { title: 'Start Market agent run', description: 'Start a Market agent run that plans, finds, judges, and generates a coherent set of assets for a goal.', inputSchema: agentStartSchema, annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true, idempotentHint: false, }, }, async (input) => result({ run: await client.asset.agent.start(input) }), ) server.registerTool( 'get_market_agent_run', { title: 'Get Market agent run', description: 'Get the current state and result of a Market agent run.', inputSchema: agentStatusSchema, annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true, idempotentHint: true, }, }, async (input) => result({ run: await client.asset.agent.status(input) }), ) }