import type { Tool } from 'ai'; type ParameterProperty = { type?: string; description?: string; }; type ToolParameters = { jsonSchema: { properties?: Record; required?: string[]; }; }; type McpToolProps = { toolName: string; toolSchema: Tool; }; export default function McpServerListItem({ toolName, toolSchema }: McpToolProps) { if (!toolSchema) { return null; } const parameters = (toolSchema.parameters as ToolParameters)?.jsonSchema.properties || {}; const requiredParams = (toolSchema.parameters as ToolParameters)?.jsonSchema.required || []; return (

{toolName}

{toolSchema.description || 'No description available'}

{Object.keys(parameters).length > 0 && (

Parameters:

    {Object.entries(parameters).map(([paramName, paramDetails]) => (
  • {paramName} {requiredParams.includes(paramName) && ( * )}
    {paramDetails.type && ( {paramDetails.type} )} {paramDetails.description && (
    {paramDetails.description}
    )}
  • ))}
)}
); }