Skip to main content

MCP server

gi-mcp exposes the six Genomic Intelligence tasks — promoter, splice, enhancer, chromatin, expression, annotation — to LLM hosts that speak the Model Context Protocol: Claude Desktop, Claude Code, Cursor, or your own agent. You drive DNA analysis in natural language ("fetch TP53 and scan it for promoters") and the model calls the right tools.

It runs locally as a thin protocol translator: it owns no inference and stores no key, forwarding each request to the /v1 API under your partner key. Same contract as getting-started.md, reachable from an LLM instead of curl.

1. Get a key

The MCP server is bring-your-own-key. Email contact@genomicintelligence.ai for a gi_… partner key; your caps come with it (see reference/limits.md for the numbers). The same key works for both the REST API and the MCP server.

2. Install & connect

gi-mcp runs with uvuvx fetches and runs it with no manual install. Install uv with curl -LsSf https://astral.sh/uv/install.sh | sh.

In every client the pattern is the same: run uvx gi-mcp with GI_API_KEY in the environment.

Claude Desktop — edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then fully quit and reopen:

{
"mcpServers": {
"genomic-intelligence": {
"command": "uvx",
"args": ["gi-mcp"],
"env": { "GI_API_KEY": "gi_..." }
}
}
}

Claude Code (CLI):

claude mcp add genomic-intelligence --env GI_API_KEY=gi_... -- uvx gi-mcp

Cursor / Windsurf / Zed use the same JSON shape as Claude Desktop in their own MCP config files. Your own agent: point any MCP-capable client at the stdio command uvx gi-mcp with GI_API_KEY set.

Pin a specific release for reproducibility with uvx gi-mcp@<version>; pick up new releases with uvx --refresh gi-mcp.

Verify: your client should list the genomic-intelligence server. Ask "List the available promoter models" — it runs the catalog tool and returns the registry. Calls count against your key's caps; the server stores no key and owns no inference.

3. Try it

Paste these into a freshly-connected client to check the live connection end-to-end — one per task plus the composite workflow, ordered from simplest (no inference) to full fetch→predict chains.

#TaskPrompt
0warm-up"What Genomic Intelligence models are available for the expression task?"
1promoter"Fetch a 100 kb window around human TP53 from Ensembl and scan it for promoter regions — show me the strongest hits."
2expression"Predict HBB expression in K562 cells."
3splice"Fetch the human HBB gene sequence and predict its splice sites."
4enhancer"Fetch the Drosophila ftz gene and predict enhancer regions."
5annotation"Find the genes in chr8:127,680,000–127,800,000."
6composite"Find the genes in chr8:127,680,000–127,800,000 and predict each one's expression in K562."

The enhancer model is trained on Drosophila, so example 4 uses a fly gene (ftz); the other tasks are human.

No key yet? Ask "List the bundled demo sequences, then load the K562 expression one and predict its expression" — the server ships one curated sequence per task, so every prompt above runs without an Ensembl fetch or any quota.

4. How it works

The handle pattern. Genomic sequences are big (expression wants 9,198 bp; promoter accepts up to 500 kbp). Round-tripping those through the LLM twice would blow the context window, so acquisition and prediction are split:

  1. An acquisition tool fetches/loads a sequence, stores it server-side, and returns a short handle (seq_ab12cd34) plus light metadata — never the bases.
  2. A prediction tool takes that handle; the server resolves the bases internally.

Small sequences can still be passed inline. Either way, the bases stay out of the model's context.

What's exposed — the tools group into acquisition (fetch from Ensembl, by coordinates, by local file, inline, or bundled demos), prediction (the six tasks, sync or async-with-progress), a composite annotation→expression workflow, plus read-only resources (model catalog, task docs, your recent jobs) and slash-command prompts (gi-promoter-screen, gi-expression-screen). For the exact, current surface, ask your client "what tools do you have?" once connected — MCP self-describes, so the list is always accurate for the version you're running.

5. The underlying API

The MCP server is a convenience layer over the /v1 REST contract. If you'd rather integrate directly, or want to understand error codes, limits, and response shapes:

6. Try without installing (optional)

A hosted endpoint runs at https://mcp.genomicintelligence.ai/mcp (Streamable-HTTP) for evaluation from an MCP client that supports remote servers. Run the server locally with your own key for sustained use, as above.

Contact

contact@genomicintelligence.ai — key issuance, raised caps, bug reports, anything else.