code_validate
Validate medical codes for accuracy, active status, and contextual appropriateness. Receive warnings and errors for invalid or mismatched codes.
Instructions
Validate a medical code for correctness, active status, and context. Returns warnings and errors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Medical code to validate | |
| codeType | No | ||
| context | No |
Implementation Reference
- src/tools.js:31-43 (schema)Tool definition with Zod schema for code_validate: accepts 'code' (string), optional 'codeType' (icd10/cpt/hcpcs), and optional 'context.dateOfService' for temporal validation. Endpoint: /agent/v1/codes/validate, price: $0.005.
{ name: 'code_validate', description: 'Validate a medical code for correctness, active status, and context. Returns warnings and errors.', price: '$0.005', endpoint: '/agent/v1/codes/validate', schema: { code: z.string().describe('Medical code to validate'), codeType: z.enum(['icd10', 'cpt', 'hcpcs']).optional(), context: z.object({ dateOfService: z.string().optional().describe('Date of service (YYYY-MM-DD) for temporal validation'), }).optional(), }, }, - src/index.js:19-61 (registration)Generic handler registration: code_validate (and all tools) are registered via MCP_TOOLS loop in createMcpServer(). Each tool's handler does an HTTP POST to the tool's endpoint with params, handles 402 (payment required), errors, and returns JSON response.
for (const tool of MCP_TOOLS) { s.tool(tool.name, tool.description, tool.schema, async (params) => { const toolDef = getToolByName(tool.name); if (!toolDef) { return { content: [{ type: 'text', text: `Unknown tool: ${tool.name}` }], isError: true }; } try { const response = await fetch(`${API_BASE_URL}${toolDef.endpoint}`, { method: 'POST', headers: { 'Content-Type': 'application/json', ...(API_KEY && { 'X-API-Key': API_KEY }), 'X-Agent-ID': 'mcp-client', 'User-Agent': '@mymedi-ai/mcp-server/1.2.1', }, body: JSON.stringify(params), }); if (response.status === 402) { const paymentInfo = await response.json(); return { content: [{ type: 'text', text: JSON.stringify({ error: 'payment_required', message: `This tool costs ${toolDef.price} per call. Register at ${API_BASE_URL}/bot-marketplace/register for an API key with 10 free starter credits, or pay per call with on-chain USDC (no signup) via the x402 protocol.`, price: toolDef.price, register: `${API_BASE_URL}/bot-marketplace/register`, ...paymentInfo, }, null, 2) }], isError: true, }; } if (!response.ok) { const error = await response.json().catch(() => ({ message: response.statusText })); return { content: [{ type: 'text', text: JSON.stringify({ error: true, status: response.status, ...error }, null, 2) }], isError: true }; } const data = await response.json(); const creditsSpent = response.headers.get('X-Credits-Spent'); const creditsRemaining = response.headers.get('X-Credits-Remaining'); if (creditsSpent) { data._billing = { creditsSpent: parseInt(creditsSpent, 10), creditsRemaining: creditsRemaining ? parseInt(creditsRemaining, 10) : undefined, priceUSD: toolDef.price }; } return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] }; } catch (err) { return { content: [{ type: 'text', text: JSON.stringify({ error: true, message: err.message, hint: 'Ensure MCP_API_BASE_URL and MCP_API_KEY environment variables are set.' }, null, 2) }], isError: true }; } }); }