Genomic Intelligence
Server Details
Hosted DNA language models: promoter, splice, enhancer, chromatin, expression, annotation
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 15 of 15 tools scored. Lowest: 2.8/5.
Each tool has a clearly distinct purpose, with descriptions that precisely differentiate similar operations (e.g., fetch_ensembl_sequence vs fetch_gene_for_expression vs fetch_region). No overlapping functionality.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., fetch_ensembl_sequence, find_genes, predict_expression). Even composite tools like find_genes_and_predict_expression adhere to this pattern.
15 tools is ideal for the genomic intelligence domain. The set covers sequence fetching, gene finding, multiple predictions, and async job management without being overwhelming or sparse.
The tool surface covers core workflows (fetch, find, predict) and async handling. A minor gap is the lack of a tool to list fetched sequences, but the domain is well-covered overall.
Available Tools
15 toolsfetch_ensembl_sequenceInspect
Fetch a gene's reference sequence from Ensembl and store it.
Returns a handle ({ref, name, length, preview, ...}). Pass the
`ref` to predict_* tools — the bases stay server-side. For
expression, use fetch_gene_for_expression instead (it prepares
the TSS-centred window that model needs).
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g. 'TP53') or Ensembl ID. | |
| species | No | Species name, e.g. 'human', 'mouse'. | human |
| flank_bp | No | Extra bp added on each side of the gene body. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
fetch_gene_for_expressionInspect
Fetch a gene's sequence prepared for expression prediction.
Resolves the gene's TSS via Ensembl and returns the exact
TSS-centred window the expression model needs, as a handle to
pass to predict_expression(sequence_ref=...).
| Name | Required | Description | Default |
|---|---|---|---|
| gene | Yes | Gene symbol (e.g. 'HBB'). | |
| species | No | Species name. | human |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
fetch_regionInspect
Fetch a genomic region by coordinates from Ensembl and store it.
For "find the genes in chr8:127,680,000-127,800,000"-style requests:
resolves a coordinate range to reference sequence and returns a handle
({ref, name, length, ...}) to pass to find_genes / predict_* — the bases
stay server-side. Plus strand by default, which is what the gene-finder
expects. For a gene by name use fetch_ensembl_sequence; for expression
use fetch_gene_for_expression.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | Genomic coordinates, e.g. 'chr8:127,680,000-127,800,000'. Commas, en/em dashes and '..' are accepted; the 'chr' prefix is optional. | |
| strand | No | 1 = plus (default), -1 = minus. find_genes (gene finding) is plus-oriented — keep 1 for annotation; use -1 only for a strand-sensitive task on a known minus-strand locus. | |
| species | No | Species name, e.g. 'human', 'mouse'. | human |
| flank_bp | No | Extra bp added on each side of the region. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
find_genesInspect
Find genes (transcript intervals) in a genomic region (async, ~8-25s).
Gene-finding: detects transcript boundaries (TSS + PolyA) and returns
one interval per predicted transcript — start/end, strand, a
confidence score, and predicted TSS/PolyA positions (BED-style feature
intervals, not free-text notes). Use this for "what genes are here",
"find / locate genes", or "annotate this region".
Each transcript also carries its type (mRNA/lnc_RNA) and internal
exon/intron/CDS structure in `exons`/`introns`/`cds` arrays, plus a
browser-ready GFF3 track in `data.formats.gff3`. To get each gene's
*expression* from a raw region, use find_genes_and_predict_expression
instead — expression needs a per-gene TSS window, so predict_expression
cannot run on a whole region.
Submits an async job internally. With wait=True (default), blocks and
streams progress, then returns the result {data, meta} — it never
returns a job_id on this path. (If a generous block ceiling is
exceeded it returns a timeout error, not a job handle.) With
wait=False (detached), returns {data: {job_id, status: 'submitted'}}
immediately — poll it with get_job.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Default True: block and stream progress until the result is ready. Set False for detached mode — returns a job_id immediately to poll with get_job. | |
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
find_genes_and_predict_expressionInspect
Find genes in a sequence, then predict each gene's expression (composite).
Server-side chaining in ONE call: finds genes (transcript intervals,
with their TSS) in the sequence, then predicts expression off each
discovered TSS in the given experimental context. This is the right
tool whenever you want expression for a raw region or sequence — e.g.
"find the genes in chr8:… and predict their expression in K562". You
cannot call predict_expression on a whole region, because it needs a
single per-gene 9,198 bp TSS window; this tool handles that for you.
Runs async internally at every size (the annotate stage is slow even
for small inputs), so progress always streams. With wait=True
(default), blocks and streams progress, then returns the result
{data, meta} — it never returns a job_id on this path. With wait=False
(detached), returns {data: {job_id, status: 'submitted'}} immediately —
poll it with get_job. Because it ends in expression, `description`
(cell type / assay context) is REQUIRED.
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Default True: block and stream progress until the result is ready. Set False for detached mode — returns a job_id immediately to poll with get_job. | |
| sequence | No | DNA bases. Mutually exclusive with sequence_ref. | |
| description | No | REQUIRED experimental context — cell type / assay / conditions (e.g. 'K562 cell line'), applied to every found gene. The workflow ends in expression, which the API rejects without it. | |
| sequence_ref | No | Stored sequence handle. Mutually exclusive with sequence. | |
| sequence_name | No | Label echoed back. | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
get_jobInspect
Poll an async job once.
Returns the {data, meta} result if complete, a progress envelope if still running, or an error envelope if it failed.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id from an async tool (find_genes, find_genes_and_predict_expression). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
list_jobsInspect
List the caller's recent async jobs (also available as gi://jobs/recent).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of recent jobs to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
list_modelsInspect
List available models for a task.
Use to discover model ids before passing one as the `model`
argument to a predict tool. The same catalog is also available
as the resource `gi://models`.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task name. One of: promoter, splice, enhancer, chromatin, expression, annotation. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
load_demo_sequenceInspect
Load a bundled demo reference sequence and return a handle.
The server ships one curated, task-correct positive control per task
(list them via the gi://sequences resource) — e.g.
`expression_hbb_k562` is a ready-to-use K562 expression window for
predict_expression. Stores the demo and returns a handle to pass to a
predict_* tool: no Ensembl fetch, no quota. Handy for smoke-testing a
prediction end-to-end.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Demo name from gi://sequences, e.g. 'expression_hbb_k562', 'promoter_tp53', or 'annotation_hbb_chr11'. A gene token like 'TP53' also resolves. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
predict_chromatinInspect
Chromatin annotation across 919 features (G0 DeepSEA). Up to 500,000 bp.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
predict_enhancerInspect
Predict enhancer activity (G0 DeepSTARR). Up to 500,000 bp.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
predict_expressionInspect
Predict a gene's expression from a TSS-centred input window.
Expression is cell-type-specific, so `description` (cell type /
assay context, e.g. 'K562 cell line') is REQUIRED — the API
rejects requests without it. Requires exactly 9,198 bp centred on
the TSS; call fetch_gene_for_expression(gene) to get a
correctly-prepared handle. For a raw region or whole gene where
you don't already have that window, use
find_genes_and_predict_expression (it finds the genes for you).
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| description | No | REQUIRED experimental context — cell type / assay / conditions (e.g. 'K562 cell line', 'liver tissue'). Expression is cell-type-specific; the API rejects requests without it. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
predict_promoterInspect
Predict promoter regions (G0). Up to 500,000 bp.
Returns the {data, meta} envelope: data.regions lists predicted
promoters with start/end/score.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
predict_spliceInspect
Predict splice donor/acceptor sites (G0 BigBird). Up to 500,000 bp.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional model id; omit for the task default. See list_models. | |
| sequence | No | DNA bases A/C/G/T/N (case-insensitive). Mutually exclusive with `sequence_ref`. | |
| sequence_ref | No | Handle (seq_…) from any acquisition tool (fetch_ensembl_sequence, fetch_region, fetch_gene_for_expression, load_demo_sequence, load_local_fasta, store_inline_sequence). Mutually exclusive with `sequence`. | |
| sequence_name | No | Label echoed back in the response (ignored when `sequence_ref` is used). | sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
store_inline_sequenceInspect
Store a human-pasted sequence and return a handle to re-use it.
For a sequence you've already pasted into the conversation, this
gives back a short handle so you can run several tasks on it
without re-pasting the bases in each predict_* call. Note that the
full sequence still passes through the LLM on THIS call — it does
not save context on its own. For large sequences, prefer
fetch_ensembl_sequence / fetch_gene_for_expression / load_local_fasta,
which acquire the bases server-side and never round-trip them.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Label for this sequence. | sequence |
| sequence | Yes | DNA bases to store and get a handle for. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!