Evo2 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_available_checkpointsA | List supported Evo 2 checkpoints with descriptions. Retrieves all available Evo 2 model checkpoints that can be used for sequence scoring, embedding, and generation. Each checkpoint is described with its size and context length capabilities. Returns: List of dictionaries, each containing: - name: The identifier string for the checkpoint - description: Human-readable description of the model specifications |
| get_embedding_layersA | Get available layers for embedding extraction from Evo 2 model. Returns a list of layer names that can be used to extract sequence embeddings from the specified Evo 2 checkpoint. Different layers encode varying levels of biological abstraction. Larger models tend to have more nuanced representations but require more computational resources. For supervised classification tasks (e.g., variant effect prediction), intermediate layers like Block 20 (40B model) often perform best. For mechanistic interpretability (e.g., SAE training), deeper layers like Layer 26 are commonly used. For probing tasks, top-level layers (e.g., blocks.26 in 7B model) may be optimal. Args:
checkpoint: Model checkpoint identifier. See Returns: Dictionary containing: - checkpoint: The checkpoint identifier - layers: List of layer names available for embedding extraction - info: Information about layer selection for different tasks Example: >>> layers = get_embedding_layers("evo2_7b") >>> print(f"Layers (recommended): {layers['layers']}") >>> layers_all = get_embedding_layers("evo2_7b", which="all") >>> print(f"Total layers: {len(layers_all['layers'])}") |
| score_sequenceA | Compute log probabilities for DNA sequence under Evo 2 model. Evaluates the likelihood of a DNA sequence under the Evo 2 language model. Returns the model's log probability score for the entire sequence, which can be reduced using either mean or sum aggregation. Args:
sequence: DNA sequence to score. Should contain standard IUPAC nucleotides (A, C, G, T, N).
checkpoint: Model checkpoint identifier. If None, uses the default checkpoint.
See Returns: Dictionary containing: - checkpoint: The checkpoint identifier used - sequence: The normalized input sequence - reduce_method: The reduction method applied - scores: List of computed score values (typically length 1) Raises: AssertionError: If sequence is empty or reduce_method is not "mean" or "sum". Example: >>> scores = score_sequence("ATCGATCG") >>> print(f"Score: {scores['scores'][0]}") |
| embed_sequenceA | Return intermediate Evo 2 embeddings for DNA sequence. Extracts feature representations from a specified layer of the Evo 2 model for a given DNA sequence. The embeddings capture the model's learned representations and can be used for downstream analysis or as features for other tasks. Args:
sequence: DNA sequence to embed. Should contain standard IUPAC nucleotides (A, C, G, T).
checkpoint: Model checkpoint identifier. If None, uses the default checkpoint.
See Returns: Dictionary containing: - checkpoint: The checkpoint identifier used - sequence: The normalized input sequence - layer_name: The layer from which embeddings were extracted - embedding: 2D list of embedding vectors (shape: [sequence_length, embedding_dim]) Raises: AssertionError: If sequence or layer_name are empty strings. Example: >>> embeddings = embed_sequence("ATCGATCG") >>> embedding_matrix = embeddings["embedding"] >>> print(f"Embedding shape: {len(embedding_matrix)} tokens") |
| generate_sequenceA | Generate DNA sequence continuation using Evo 2. Generates new DNA sequence tokens conditioned on a given prompt sequence using the Evo 2 language model. The generation process uses nucleus sampling (top-k) for controlled diversity. Args:
prompt: Starting DNA sequence to condition generation. Should contain standard
IUPAC nucleotides (A, C, G, T, N).
checkpoint: Model checkpoint identifier. If None, uses the default checkpoint.
See Returns: Dictionary containing: - checkpoint: The checkpoint identifier used - prompt: The normalized input prompt sequence - generated_sequence: The newly generated DNA sequence - n_tokens: Number of tokens generated - temperature: Temperature value used - top_k: Top-k value used Raises: AssertionError: If prompt is empty, n_tokens <= 0, temperature <= 0, or top_k <= 0. Example: >>> result = generate_sequence("ATCGATCG", n_tokens=100, temperature=0.8) >>> full_sequence = result["prompt"] + result["generated_sequence"] >>> print(f"Generated sequence: {full_sequence}") |
| score_snpA | Score the effect of a SNP mutation at the center position of a DNA sequence. Computes log probabilities for both the original sequence and the sequence with the center nucleotide replaced by the alternative allele, then returns the delta. Recommended sequence length: max_context - 1 for best performance. This tool is useful for variant effect prediction, where the score delta indicates how much the mutation changes the model's likelihood of the sequence. Negative deltas indicate the mutation decreases likelihood; positive deltas increase it. Args:
sequence: Reference DNA sequence. Must be at least 3 nucleotides long to have a
well-defined center position. Should contain standard IUPAC nucleotides (A, C, G, T, N).
alternative_allele: Alternative nucleotide at the center position. Must be a single
nucleotide (one of A, C, G, T, N) that differs from the reference nucleotide at the center.
checkpoint: Model checkpoint identifier. If None, uses the default checkpoint.
See Returns: Dictionary containing: - checkpoint: The checkpoint identifier used - original_sequence: The input reference sequence (uppercase) - mutated_sequence: The sequence with the mutation applied at center position - center_position: Index of the mutated position (0-indexed) - reference_allele: The original nucleotide at the center position - alternative_allele: The alternative nucleotide used - reduce_method: The reduction method applied - original_score: Log probability score of the reference sequence - mutated_score: Log probability score of the mutated sequence - score_delta: Difference (mutated_score - original_score). Indicates mutation effect. Raises: AssertionError: If sequence length < 3, alternative_allele is not a single valid nucleotide, sequence contains invalid nucleotides, or alternative_allele matches the reference nucleotide. Example: >>> result = score_snp("ATCGATCG", "A") # Center is T, mutate to A >>> print(f"Score delta: {result['score_delta']}") >>> print(f"Original: {result['original_sequence']}") >>> print(f"Mutated: {result['mutated_sequence']}") |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct operation: checkpoint listing, layer retrieval, sequence scoring, embedding extraction, sequence generation, and SNP scoring. Even score_sequence and score_snp are clearly differentiated by purpose and input requirements. No overlapping boundaries exist that would cause misselection.
All tools follow a verb_noun pattern in snake_case with clear, domain-specific nouns (list_available_checkpoints, get_embedding_layers, score_sequence, embed_sequence, generate_sequence, score_snp). The verbs accurately reflect the action, and the minor variation between 'list' and 'get' for retrieval is acceptable.
Six tools is a well-scoped set for an Evo 2 model server, covering discovery, feature extraction, scoring, generation, and variant analysis. Each tool earns its place without redundancy or unnecessary bulk.
The tool surface covers the core capabilities of the Evo 2 model: listing checkpoints, getting embedding layers, scoring sequences, extracting embeddings, generating sequences, and scoring SNP effects. No obvious gaps exist for standard use cases, and the inclusion of supporting discovery tools completes the workflow.