Skip to main content
Glama
taehojo
by taehojo

generate_variant_report

Generate comprehensive clinical reports for genomic variants with full analysis, modalities, and clinical interpretation to support diagnostic summaries.

Instructions

Generate comprehensive clinical report for a variant.

Full analysis with all modalities and clinical interpretation.

Perfect for: clinical reports, diagnostic summaries.

Example: "Generate full report for chr13:32912345G>T"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chromosomeYes
positionYes
refYes
altYes
tissue_typeNo

Implementation Reference

  • Tool schema definition with input validation for chromosome, position, ref, alt, and optional tissue_type.
    export const GENERATE_VARIANT_REPORT_TOOL: Tool = {
      name: 'generate_variant_report',
      description: `Generate comprehensive clinical report for a variant.
    
    Full analysis with all modalities and clinical interpretation.
    
    Perfect for: clinical reports, diagnostic summaries.
    
    Example: "Generate full report for chr13:32912345G>T"`,
      inputSchema: {
        type: 'object',
        properties: {
          chromosome: { type: 'string', pattern: '^chr([1-9]|1[0-9]|2[0-2]|X|Y)$' },
          position: { type: 'number', minimum: 1 },
          ref: { type: 'string', pattern: '^[ATGCatgc]+$' },
          alt: { type: 'string', pattern: '^[ATGCatgc]+$' },
          tissue_type: { type: 'string' },
        },
        required: ['chromosome', 'position', 'ref', 'alt'],
      },
    };
  • src/tools.ts:709-730 (registration)
    Registration of all tools including GENERATE_VARIANT_REPORT_TOOL in the ALL_TOOLS array returned by ListTools endpoint.
    export const ALL_TOOLS: Tool[] = [
      PREDICT_VARIANT_TOOL,
      BATCH_SCORE_TOOL,
      ASSESS_PATHOGENICITY_TOOL,
      PREDICT_TISSUE_SPECIFIC_TOOL,
      COMPARE_VARIANTS_TOOL,
      PREDICT_SPLICE_IMPACT_TOOL,
      PREDICT_EXPRESSION_IMPACT_TOOL,
      ANALYZE_GWAS_LOCUS_TOOL,
      COMPARE_ALLELES_TOOL,
      BATCH_TISSUE_COMPARISON_TOOL,
      PREDICT_TF_BINDING_IMPACT_TOOL,
      PREDICT_CHROMATIN_IMPACT_TOOL,
      COMPARE_PROTECTIVE_RISK_TOOL,
      BATCH_PATHOGENICITY_FILTER_TOOL,
      COMPARE_VARIANTS_SAME_GENE_TOOL,
      PREDICT_ALLELE_SPECIFIC_EFFECTS_TOOL,
      ANNOTATE_REGULATORY_CONTEXT_TOOL,
      BATCH_MODALITY_SCREEN_TOOL,
      GENERATE_VARIANT_REPORT_TOOL,
      EXPLAIN_VARIANT_IMPACT_TOOL,
    ];
  • MCP CallToolRequestSchema handler case that validates input and calls AlphaGenomeClient.generateVariantReport.
    case 'generate_variant_report': {
      const params = validateInput(variantPredictionSchema, args) as VariantPredictionParams;
      const result = await getClient().generateVariantReport(params);
      return {
        content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
      };
    }
  • AlphaGenomeClient method that proxies the tool call to Python bridge with action 'generate_variant_report'.
    async generateVariantReport(params: VariantPredictionParams): Promise<any> {
      try {
        return await this.callPythonBridge('generate_variant_report', params);
      } catch (error) {
        if (error instanceof ApiError) throw error;
        throw new ApiError(`Variant report generation failed: ${error}`, 500);
      }
    }
  • Core implementation: generates variant report using assess_pathogenicity results, formats clinical classification, scores, evidence summary, and recommendations.
    def generate_variant_report(client, params: Dict[str, Any]) -> Dict[str, Any]:
        """Generate clinical report for variant."""
        result = assess_pathogenicity(client, params)
    
        # Build clinical report
        report = {
            'variant': result['variant'],
            'classification': result['classification'].upper(),
            'pathogenicity_score': result['pathogenicity_score'],
            'evidence_summary': {
                'expression_impact': f"{result['evidence']['expression_impact']:.4f}",
                'splicing_impact': f"{result['evidence']['splice_impact']:.4f}",
                'tf_binding_impact': f"{result['evidence']['tf_binding_impact']:.2f}"
            },
            'recommendation': 'Further clinical evaluation recommended' if result['pathogenicity_score'] > 0.5 else 'Routine monitoring',
            'generated_date': 'API call timestamp'
        }
    
        return report
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions 'comprehensive clinical report' and 'full analysis,' it doesn't describe what the report contains, its format, whether it's a read-only operation, any rate limits, or authentication needs. For a tool with no annotations and potentially complex output, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with three sentences and an example. It's front-loaded with the core purpose, followed by elaboration and usage context. However, the example could be more integrated, and there's minor redundancy in 'clinical reports' and 'diagnostic summaries.'

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (clinical variant reporting), no annotations, no output schema, and 0% schema description coverage for 5 parameters, the description is incomplete. It doesn't explain the report's content, format, or how parameters like 'tissue_type' affect the analysis, leaving too much undefined for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 5 parameters have descriptions in the schema. The description doesn't explain what 'chromosome,' 'position,' 'ref,' 'alt,' or 'tissue_type' mean or how they should be used, beyond the example showing a format. This fails to compensate for the complete lack of schema documentation, leaving parameters semantically unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate comprehensive clinical report for a variant' with 'full analysis with all modalities and clinical interpretation.' This specifies the verb (generate), resource (clinical report), and scope (variant analysis). However, it doesn't explicitly distinguish this from sibling tools like 'explain_variant_impact' or 'assess_pathogenicity' which might overlap in clinical interpretation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some usage context with 'Perfect for: clinical reports, diagnostic summaries' and an example, which implies when to use it. However, it doesn't explicitly state when NOT to use it or mention alternatives among the many sibling tools, leaving the agent to infer appropriate usage scenarios without clear boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taehojo/alphagenome-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server