NCBI GEO

NCBI Gene Expression Omnibus access — search series/samples/platforms, download expression matrices, and parse annotations — available as a SciAgent Claude Skill or the MCPmed geo-mcp MCP server.

   
Type Claude Skill · MCP server
Supplier jaechang-hits / SciAgent (skill) · MCPmed (MCP)
Availability GA
Pricing Free / OSS — skill MIT; geo-mcp BSD-3-Clause
Capabilities Read/Write — skill runs Python locally (Bash); MCP exposes GEO search/download tools over stdio or HTTP
Verified works · 2026-07-20
Security cleared · 2026-07-20 — SciAgent skill CC BY 4.0, geo-mcp PyPI 0.1.2 BSD-3-Clause under MCPmed, public NCBI queries, no OSV advisories

How to install

Option A — MCPmed GEO MCP server (geo-mcp)

First-class MCP server (BSD-3-Clause) over the NCBI E-utilities GEO endpoints.

  • Install:
    pip install geo-mcp
    
  • Claude Code — register the stdio server:
    which geo-mcp   # note the absolute path printed
    claude mcp add geo-mcp /path/to/geo-mcp
    

    (replace /path/to/geo-mcp with the absolute path that which geo-mcp printed — e.g. /Users/you/.local/bin/geo-mcp.) NCBI requires an email; set GEOMCP_EMAIL (and optionally GEOMCP_API_KEY for higher rate limits) in the environment, or run geo-mcp --init once to write a config file.

  • Claude Desktop — in claude_desktop_config.json:
    {
      "mcpServers": {
        "geo-mcp": {
          "command": "/path/to/geo-mcp",
          "env": { "GEOMCP_EMAIL": "you@example.org" }
        }
      }
    }
    

    Fully quit and relaunch Claude Desktop after editing. This is a long-lived stdio server launched by Claude itself — do not run geo-mcp separately (running it once in a terminal only verifies it boots; Ctrl-C after).

MCP tools: search_geo, search_geo_profiles, search_geo_datasets, search_geo_series, search_geo_samples, search_geo_platforms, download_geo_data.

Option B — SciAgent NCBI GEO skill

SciAgent-Skills is not an npm package — skills are plain markdown read directly by the agent (no npx/npm).

  • Claude Code — clone and load as a plugin:
    git clone https://github.com/jaechang-hits/SciAgent-Skills
    

    Then inside Claude Code run /plugin install sciagent-skills (verify it appears under /plugin → Installed). Clone into your project directory so Claude Code picks the skills up via CLAUDE.md.

  • Manual / other agents — point the agent at the skill file directly:
    cp -r SciAgent-Skills/skills/genomics-bioinformatics/databases/geo-database ~/.claude/skills/
    

    The skill declares its own Python dependencies in its SKILL.md; install them when prompted on first use.

What it does

NCBI GEO access via GEOparse and E-utilities. Search by keyword/organism/platform, download GSE series matrices, parse GPL annotations, extract GSM metadata, load expression matrices into pandas. For single-cell use cellxgene-census; for multi-DB access use gget-genomic-databases.

Primary use cases: NCBI GEO access via GEOparse and E-utilities.

Notes

Claude Science: This resource is offered inside Anthropic’s Claude Science via the Omics Archives featured connector. Its inclusion there is an independent signal of quality and trustworthiness for life-science research.

Distributed as a SKILL.md (plus code examples) in the SciAgent-Skills collection — Claude executes it locally via Bash/Python rather than as an MCP server. Upstream license: MIT. The skill directory upstream is skills/genomics-bioinformatics/databases/geo-database.

Sources


Installed this tool?

Share feedback — install path, OS, errors, workarounds. The form opens with this tool pre-selected and a link back to this page.