Skip to main content
Glama
shukwong

gnomAD MCP Server

by shukwong

get_structural_variants

Retrieve structural variant data from gnomAD for a specific genomic region to analyze chromosomal rearrangements, deletions, duplications, and inversions.

Instructions

Get structural variants in a genomic region

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chromYesChromosome
startYesStart position
stopYesStop position
datasetNoDataset ID (gnomad_sv_r4, gnomad_sv_r2_1)gnomad_sv_r4
reference_genomeNoReference genomeGRCh38

Implementation Reference

  • The main handler logic for the get_structural_variants tool within the CallToolRequestHandler switch statement. It parses arguments, calls makeGraphQLRequest with the appropriate query and variables, and extracts the structural_variants from the response data.
    case "get_structural_variants":
      result = await makeGraphQLRequest(QUERIES.getStructuralVariants, {
        chrom: String(args.chrom),
        start: parseInt(String(args.start)),
        stop: parseInt(String(args.stop)),
        datasetId: parseDatasetId((args.dataset as string) || "gnomad_sv_r4"),
        referenceGenome: parseReferenceGenome((args.reference_genome as string) || "GRCh38"),
      });
      formattedResult = result.data?.region?.structural_variants || [];
      break;
  • src/index.ts:585-616 (registration)
    Registration of the 'get_structural_variants' tool in the ListToolsRequestHandler response, defining its name, description, and input schema.
    {
      name: "get_structural_variants",
      description: "Get structural variants in a genomic region",
      inputSchema: {
        type: "object",
        properties: {
          chrom: {
            type: "string",
            description: "Chromosome",
          },
          start: {
            type: "number",
            description: "Start position",
          },
          stop: {
            type: "number",
            description: "Stop position",
          },
          dataset: {
            type: "string",
            description: "Dataset ID (gnomad_sv_r4, gnomad_sv_r2_1)",
            default: "gnomad_sv_r4",
          },
          reference_genome: {
            type: "string",
            description: "Reference genome",
            default: "GRCh38",
          },
        },
        required: ["chrom", "start", "stop"],
      },
    },
  • Input schema for the get_structural_variants tool, defining parameters like chrom, start, stop, dataset, and reference_genome with types and requirements.
    inputSchema: {
      type: "object",
      properties: {
        chrom: {
          type: "string",
          description: "Chromosome",
        },
        start: {
          type: "number",
          description: "Start position",
        },
        stop: {
          type: "number",
          description: "Stop position",
        },
        dataset: {
          type: "string",
          description: "Dataset ID (gnomad_sv_r4, gnomad_sv_r2_1)",
          default: "gnomad_sv_r4",
        },
        reference_genome: {
          type: "string",
          description: "Reference genome",
          default: "GRCh38",
        },
      },
      required: ["chrom", "start", "stop"],
    },
  • GraphQL query template (QUERIES.getStructuralVariants) used by the handler to fetch structural variants data from gnomAD API for a given genomic region.
    getStructuralVariants: `
      query GetStructuralVariants($chrom: String!, $start: Int!, $stop: Int!, $datasetId: DatasetId!, $referenceGenome: ReferenceGenomeId!) {
        region(chrom: $chrom, start: $start, stop: $stop, reference_genome: $referenceGenome) {
          structural_variants(dataset: $datasetId) {
            variant_id
            chrom
            pos
            end
            length
            type
            alts
            ac
            an
            af
            homozygote_count
            hemizygote_count
            filters
          }
        }
      }
    `,

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/shukwong/gnomad-mcp-server'

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