Skip to main content
Glama

VEPmcp

VEPmcp is a Model Context Protocol (MCP) server for the Ensembl Variant Effect Predictor (VEP) API. It enables annotation and effect prediction of genetic variants, with full support for batch and single queries, and is designed for seamless integration with MCP-compatible clients (e.g., Claude Desktop, VS Code MCP extension).


Features

  • Annotate variants using Ensembl VEP (HGVS, variant ID, or genomic region)

  • Batch and single variant support

  • Retrieve available species, consequence types, and assembly info

  • Fast, robust, and rate-limited HTTP client

  • JSON-RPC 2.0 over stdio for easy integration with AI tools and editors


Related MCP server: Ensembl MCP Server

Installation

pip install -e .
# or via pypi
pip install VEPmcp

Usage

Command Line

VEPmcp --help
VEPmcp --test-connection      # Test Ensembl API connectivity
VEPmcp --test-mode            # Run server in test mode with sample requests

As an MCP Server

Run the server (for use with MCP clients):

VEPmcp

The server communicates via stdio using JSON-RPC 2.0.


Supported Tools

  • vep_hgvs_single / vep_hgvs_batch: Annotate by HGVS notation

  • vep_id_single / vep_id_batch: Annotate by variant ID (e.g., rsID)

  • vep_region_single / vep_region_batch: Annotate by genomic region

  • get_vep_species: List available species

  • get_consequence_types: List consequence types

  • get_assembly_info: Get assembly info for a species


Example MCP Client Configurations

Claude Desktop

{
  "mcp_servers": {
    "vepmcp": {
      "command": "VEPmcp",
      "args": [],
      "env": {}
    }
  }
}

VS Code MCP Extension

{
  "mcp.servers": {
    "vepmcp": {
      "command": "VEPmcp",
      "args": [],
      "env": {},
      "cwd": "${workspaceFolder}"
    }
  }
}

Example Usage

Prompt your MCP client with:

"Annotate the variant rs56116432 in humans using VEP"

Testing

  • VEPmcp --test-connection — check API connectivity

  • VEPmcp --test-mode — run server in test mode

  • python run_tests.py --mode all --verbose — run all unit/integration tests

  • python run_tests.py --mode ci — run CI pipeline (linting + type checking + unit tests)

Continuous Integration

This project uses GitHub Actions for automated testing on every pull request. The CI pipeline includes:

  • Linting with Ruff

  • Type checking with MyPy

  • Unit and integration tests across Python 3.9-3.13

  • Security scanning

  • Code coverage reporting


Troubleshooting

  • Ensure VEPmcp is installed and in your PATH

  • Check internet connectivity for Ensembl API access

  • Use --verbose for detailed logs


Development

pip install -e .[dev]
python run_tests.py --mode ci  # Run linting, type checking, and unit tests
python run_tests.py --mode all --verbose  # Run all tests including integration

Local Testing Commands

# Linting and formatting
python run_tests.py --mode lint

# Type checking  
python run_tests.py --mode type

# Unit tests only
python run_tests.py --mode unit --verbose

# Integration tests (requires internet)
python run_tests.py --mode integration --verbose

License

MIT License — see LICENSE


Contributing

  1. Fork and branch

  2. Make changes and add tests

  3. Run the test suite

  4. Submit a pull request


Support

For issues and questions, use the GitHub issue tracker.


Available Tools

9 tools
get_assembly_infoB

Get genome assembly information for a species

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (lowercase, alphanumeric or underscores)homo_sapiens

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it does not mention any safety information, authentication needs, or side effects. It is unclear whether the operation is read-only or has other implications.

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

Conciseness5/5

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

The description is extremely concise at six words, and the verb 'Get' appropriately front-loads the purpose. Every word is earned with no fluff.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description is adequate but could benefit from explaining what type of assembly information is returned (e.g., version, contigs). Still, it meets minimum viability.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter, so the description does not need to add much. However, it adds no additional meaning beyond the schema, meeting the baseline of 3.

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

Purpose5/5

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

The description clearly states the tool retrieves genome assembly information for a species using the verb 'Get' and a specific resource. It distinguishes itself from sibling tools that deal with consequences or VEP operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description merely states what it does, without specifying context or exclusions.

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

get_consequence_typesA

Get available VEP consequence types and descriptions

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries the burden of behavioral disclosure. It states 'Get available...' implying a read operation, but doesn't explicitly confirm read-only behavior or mention any constraints like rate limits or data freshness.

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 a single sentence of six words, extremely concise and front-loaded. However, it could include additional context (e.g., the data source) without sacrificing brevity.

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

Completeness3/5

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

Given no parameters and no output schema, the description is minimally adequate but lacks context about how the returned consequence types relate to other VEP tools or what the descriptions contain. It doesn't fully leverage the opportunity to aid the agent.

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

Parameters4/5

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

With zero parameters, the baseline is 4. The description adds no parameter info because none exist; it succinctly describes the tool's purpose without needing to elaborate on inputs.

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

Purpose5/5

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

The description 'Get available VEP consequence types and descriptions' uses a specific verb ('Get') and resource ('consequence types'), clearly distinguishing it from sibling tools like 'get_assembly_info' or 'vep_hgvs_single'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description lacks context about prerequisites or typical scenarios, leaving the agent to infer usage.

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

get_vep_speciesA

Get list of available species for VEP annotation

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description holds full responsibility. It indicates a read-only operation ('Get list'), but does not disclose authentication needs, rate limits, or return format. This is adequate but not rich.

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

Conciseness5/5

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

A single sentence that is direct and contains no unnecessary words. It is front-loaded with the key action and resource.

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

Completeness4/5

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

Given no parameters or output schema, the description is sufficient for a simple list retrieval. It could mention what the returned list contains (e.g., species names or IDs), but for a straightforward GET endpoint, it is complete enough.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100%. Per guidelines, baseline is 4. The description does not need to add parameter information since there are none.

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

Purpose5/5

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

The description clearly states the verb 'Get' and resource 'list of available species' with context 'for VEP annotation', which distinguishes it from sibling tools that perform specific annotation queries (e.g., HGVS, ID, region).

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

Usage Guidelines4/5

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

The description implies the tool should be used to retrieve available species before using other VEP tools, which is a clear context. However, it does not explicitly state when not to use it or mention alternatives.

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

vep_hgvs_batchA

Annotate multiple variants using HGVS notation in batch

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
hgvs_notationsYesList of HGVS notations (e.g., ['ENST00000366667:c.803C>T', '9:g.22125504G>C'])
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ConservationNoInclude conservation scores

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description does not disclose behavioral traits such as error handling for invalid HGVS, performance expectations, or data source details.

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

Conciseness5/5

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

Single sentence, clear, no redundant information.

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

Completeness3/5

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

The description is minimal but covers the core purpose; however, it lacks explanation of return values or behavior, and no output schema is provided.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for all 11 parameters; the description adds no extra semantic value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool annotates multiple variants using HGVS notation in batch, distinguishing it from single-variant and other batch tools.

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 implies batch processing but does not explicitly guide when to use this tool versus alternatives like vep_hgvs_single or other VEP tools.

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

vep_hgvs_singleC

Annotate a single variant using HGVS notation (genomic g., coding c., protein p.)

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
hgvs_notationYesHGVS notation (e.g., 'ENST00000366667:c.803C>T', '17:g.41276107A>C', 'ENSP00000401091.1:p.Tyr124Cys')
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ClinPredNoInclude ClinPred pathogenicity predictions
ConservationNoInclude conservation scores
Blosum62NoInclude BLOSUM62 substitution scores
GONoInclude Gene Ontology annotations
PhenotypesNoInclude phenotype data
tslNoInclude transcript support level
apprisNoInclude APPRIS annotations
maneNoInclude MANE transcript annotations
distanceNoDistance for regulatory features (bp, 0-5000000)
SpliceAINoSpliceAI score threshold (0-1)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'annotate' without describing expected behavior, side effects, or output format. It lacks details on whether it's read-only, rate limits, or data source.

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 a single sentence (92 characters) that is concise and front-loaded with the core action. However, it sacrifices some completeness for brevity.

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?

With 20 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain high-level context like what VEP does, which annotations are returned, or how optional parameters affect output.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional parameter-specific meaning beyond the schema, such as interactions or usage tips.

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 verb 'annotate' and the resource 'a single variant', and specifies the input format as HGVS notation. It distinguishes from batch tools but does not explicitly differentiate from other single-variant tools like vep_id_single.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs. siblings (e.g., batch tools or vep_id_single). The description does not include any context on prerequisites or when to avoid using this tool.

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

vep_id_batchC

Annotate multiple variants using identifiers in batch

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
variant_idsYesList of variant identifiers (e.g., ['rs56116432', 'COSM476'])
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ConservationNoInclude conservation scores

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic function and does not mention whether the operation is read-only, if there are rate limits, batch size constraints, or how invalid identifiers are handled. The agent lacks critical safety and constraint information.

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 a single, well-structured sentence that efficiently conveys the core purpose. It is front-loaded with the key verb and resource. There is no wasted text, though it could benefit from slightly more detail given the tool's complexity.

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 11 parameters and no output schema, the description is too brief. It does not explain the return format, how to interpret results, or error scenarios. While the sibling tools are listed, no contextual hints (e.g., typical use cases) are provided. The description leaves significant gaps for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it does not elaborate on parameter usage, defaults, or interdependencies. However, the schema itself is self-explanatory, so the description does not detract.

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 action ('Annotate'), resource ('multiple variants'), and method ('using identifiers in batch'). It distinguishes from siblings like 'vep_id_single' (single variant) and 'vep_hgvs_batch' (HGVS-based), though it doesn't explicitly name the identifier types (e.g., rs, COSM) which are in the schema.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention that it is for multiple variant IDs, nor does it direct users to 'vep_id_single' for single variants or to 'vep_hgvs_batch' for HGVS notation. The purpose is implicit from the tool name and sibling list but not explicit in the description.

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

vep_id_singleC

Annotate a single variant using an identifier (e.g., rs1234567, COSM476)

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
variant_idYesVariant identifier (rs or COSM/COSV/CM IDs)
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ClinPredNoInclude ClinPred pathogenicity predictions
ConservationNoInclude conservation scores
Blosum62NoInclude BLOSUM62 substitution scores
GONoInclude Gene Ontology annotations
PhenotypesNoInclude phenotype data
tslNoInclude transcript support level
apprisNoInclude APPRIS annotations
maneNoInclude MANE transcript annotations
distanceNoDistance for regulatory features (bp, 0-5000000)
SpliceAINoSpliceAI score threshold (0-1)

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to mention any side effects, error handling, authentication requirements, rate limits, or behavior for invalid identifiers. The description adds no value beyond the basic action.

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

Conciseness3/5

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

The description is a single sentence, which is concise. However, it lacks structure and for 20 parameters, it is too sparse, omitting important context about optional flags and output. It is neither overly verbose nor well-structured.

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

Completeness1/5

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

Given the tool's complexity (20 parameters, no output schema), the description is severely incomplete. It does not explain the many optional boolean flags, their effect, what the output contains, or how to interpret results. The agent would lack sufficient context to use the tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 20 parameters with descriptions. The tool description adds no parameter-level information beyond what is in the schema. Given full schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Annotate') and the resource ('a single variant using an identifier'), with specific examples (rs1234567, COSM476) that distinguish it from sibling tools that use other input types (e.g., HGVS, region). The 'single' qualifier differentiates from batch variants.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like vep_id_batch or vep_hgvs_single. The description does not mention prerequisites, limitations, or recommended use cases, leaving the agent to infer based solely on the tool name.

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

vep_region_batchB

Annotate multiple variants using genomic coordinates in batch

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
regionsYesList of variants in VCF format (e.g., ['1 230710048 . A G', '9 22125504 . G C']). Format: 'CHR POS ID REF ALT' where CHR=chromosome, POS=position, ID=identifier (use '.' if unknown), REF=reference allele, ALT=alternate allele.
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ConservationNoInclude conservation scores

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only states the basic function without mentioning read-only nature, rate limits, limits on variant count, error handling, or response format. This is insufficient for a batch operation.

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?

Single concise sentence that is front-loaded. However, it could include essential usage context without becoming verbose, earning a 4 rather than 5.

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 of a batch tool with 11 parameters and no output schema, the description is too minimal. It fails to explain return values, batch size limits, error handling, or any operational context beyond the basic purpose.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter having a clear description. The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate as it neither detracts nor enhances.

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

Purpose5/5

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

Description clearly states it annotates multiple variants using genomic coordinates in batch, which distinguishes it from sibling tools that use HGVS notation (vep_hgvs_batch) or IDs (vep_id_batch) and single-variant tools. Verb 'annotate' and resource 'variants' are specific.

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?

No explicit guidance on when to use this tool vs alternatives. The name and sibling tool names imply it is for genomic coordinate input, but the description does not clarify prerequisites, exclusions, or compare to other batch tools.

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

vep_region_singleC

Annotate a variant using genomic region and allele

ParametersJSON Schema
NameRequiredDescriptionDefault
speciesYesSpecies name (e.g., 'homo_sapiens', 'mus_musculus')homo_sapiens
regionYesGenomic region (pos or range, optionally with allele)
alleleYesAllele base (A,C,G,T)
canonicalNoInclude only canonical transcripts per gene
hgvsNoInclude HGVS nomenclature
domainsNoInclude protein domain information
ccdsNoInclude CCDS transcript identifiers
proteinNoInclude protein sequence identifiers
AlphaMissenseNoInclude AlphaMissense pathogenicity scores
CADDNoInclude CADD deleteriousness scores
REVELNoInclude REVEL pathogenicity scores
ClinPredNoInclude ClinPred pathogenicity predictions
ConservationNoInclude conservation scores
Blosum62NoInclude BLOSUM62 substitution scores
GONoInclude Gene Ontology annotations
PhenotypesNoInclude phenotype data
tslNoInclude transcript support level
apprisNoInclude APPRIS annotations
maneNoInclude MANE transcript annotations
distanceNoDistance for regulatory features (bp, 0-5000000)
SpliceAINoSpliceAI score threshold (0-1)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It does not mention that this tool handles only single variants, or what happens with defaults (e.g., all extra annotation flags default to false). The description adds no behavioral context beyond the schema.

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

Conciseness3/5

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

The description is only 5 words, which is concise but arguably under-informative. A single sentence is acceptable, but given the tool's complexity, more detail would be warranted without becoming verbose.

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?

With 21 parameters and no output schema, the description is too short to provide complete context. It does not describe return values, data sources, or any limitations. The schema descriptions are thorough, but the description itself adds minimal contextual completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description 'using genomic region and allele' loosely echoes the required parameters but adds no new semantic meaning beyond what the schema already provides. The many optional parameters are not explained in the description.

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 action ('Annotate a variant') and the primary inputs ('using genomic region and allele'), matching the required parameters. However, it does not differentiate from sibling tools like vep_hgvs_single or vep_id_single, which also annotate variants but with different input formats.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool over siblings. The description lacks any indication of suitable scenarios, exclusions, or alternatives. For example, vep_region_batch is for batch queries, but this tool's single-query nature is not mentioned.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observedget_assembly_info
    • First observedget_consequence_types
    • First observedget_vep_species
    • First observedvep_hgvs_batch
    • First observedvep_hgvs_single
    • First observedvep_id_batch
    • First observedvep_id_single
    • First observedvep_region_batch
    • First observedvep_region_single

TDQS

A3.6/5.0
Disambiguation5/5

Each tool targets a distinct action and input type. The three 'get_' tools retrieve metadata, while the six 'vep_' tools annotate variants and are clearly separated by input format (HGVS, ID, region) and batching mode. No two tools overlap in purpose.

Naming Consistency5/5

Naming follows a consistent pattern: 'get_' for informational queries and 'vep_<format>_<mode>' for annotation tools. All names use snake_case and clearly convey the action and target resource, making the set predictable.

Tool Count5/5

With nine tools, the server is well-scoped for its domain. The three metadata tools and six annotation tools (covering three input formats, each with batch and single variants) provide a complete set without excessive or insufficient endpoints.

Completeness5/5

The tool set covers core VEP functionality: metadata retrieval (assembly, consequences, species) and annotation via common input formats (HGVS, identifiers, regions) with both single and batch modes. No obvious gaps exist for a standard VEP annotation server.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/not-a-feature/VEPmcp'

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