Skip to main content

MCP server for the Scigantic catalog of public scientific data archives, with LLM-ready schema cards

Project description

scigantic-mcp

A Model Context Protocol server that exposes the Scigantic catalog of public scientific data archives to any MCP client.

It is built to drop into Kiro for Life Sciences alongside its domain database servers. Where each Kiro server wraps one domain's APIs (genomics, proteomics, structural, …), Scigantic is the cross-domain launchpad: 5,000+ curated public archives spanning every domain, each with an LLM-ready schema card (file format, columns, sample rows/headers, inlined READMEs/data dictionaries, and a copy-paste starter cell) so an agent can understand a dataset's structure before downloading anything.

It is discovery-only and zero-config — every tool calls public, read-only Scigantic endpoints, so there is no API key to set up.

Requires Python 3.10+ and MCP SDK 2.x.

Prefer the hosted server if your client speaks HTTP. Scigantic also runs a remote MCP server at https://api.scigantic.com/mcp (no auth, nothing to install, and it carries two extra tools): claude mcp add --transport http scigantic https://api.scigantic.com/mcp. This package exists for clients that launch stdio servers, such as Kiro.

Tools

Tool What it does
search_archives(query, category?, limit?) Natural-language search across the whole catalog.
get_archive(id) Full metadata for one archive.
get_schema_card(id) The compact schema card — the fastest way to learn a dataset's structure.
get_data_access(id, language?) How to load the dataset in your own environment: storage location + copy-paste code snippets.
list_archive_files(id, limit?) A sample of the files/objects in the archive.

Prompts (guided workflows)

These surface as slash commands in Claude Code (/mcp__scigantic__<name>):

Prompt What it does
explore_dataset(topic) Search → inspect schema cards → recommend the best dataset → offer load code.
start_analysis(archive_id, goal?) Pull schema card + data-access snippet for an archive and outline an analysis plan.

Install & register in Kiro

Add an entry under mcpServers in ~/.kiro/settings/mcp.json.

Option A — uvx (zero-install, recommended):

{
  "mcpServers": {
    "scigantic": {
      "command": "uvx",
      "args": ["scigantic-mcp"]
    }
  }
}

Option B — install into a venv (matches the Kiro servers' own mcp.json form):

python3 -m venv .venv && . .venv/bin/activate
pip install scigantic-mcp                 # or: pip install /path/to/scigantic-mcp
{
  "mcpServers": {
    "scigantic": {
      "command": "/path/to/.venv/bin/scigantic-mcp",
      "env": {
        "SCIGANTIC_API_URL": "https://api.scigantic.com"
      }
    }
  }
}

Works the same in Claude Desktop / Claude Code (claude mcp add scigantic -- uvx scigantic-mcp) or any MCP client that launches stdio servers.

Configuration

Env var Default Purpose
SCIGANTIC_API_URL https://api.scigantic.com API base (set to https://staging-api.scigantic.com for staging).
SCIGANTIC_API_ORIGIN https://scigantic.com Origin header → selects the public (default) catalog tenant.

Develop & test

The tool/client layer has no mcp dependency, so those tests run on any Python with httpx and need no network (mocked transport):

python3 tests/test_tools.py     # or: pytest

tests/test_server_import.py covers the wiring layer — that the server module imports, and that the registered tools and prompts are the expected set. It needs the mcp SDK installed (Python ≥ 3.10) and is skipped otherwise:

pip install -e '.[test]' && pytest

Keep it that way: the tool tests skip server.py on purpose, so an SDK breaking change is invisible to them. All 12 passed while the server could not import at all under SDK 2.x, which is what test_server_import.py now guards against.

Roadmap

  • Richer discovery for agents — structured tool outputs and MCP resources (attach an archive + its schema card as durable context).
  • Upstream inclusion as life-sciences-scigantic in aws-samples/sample-kiro-power-life-sciences (see docs/kiro-upstream-pr.md).
  • Hosted compute is intentionally not exposed here. Scigantic's notebooks are interactive (a JupyterLab URL a human opens); handing an external agent that URL is a dead end. The agent-to-agent path is get_data_access — the caller runs the analysis in its own environment. Letting Scigantic execute code for an agent (run against an ephemeral kernel with the dataset mounted, return outputs) is a separate capability the platform would need to build first.

License

MIT-0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scigantic_mcp-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scigantic_mcp-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file scigantic_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: scigantic_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for scigantic_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f80dd0a373761da53e070fad4b73de93092d6a01a2ac0f63a8295753a617c9f6
MD5 91c4ef50f34ef32de6257fe6aad1f763
BLAKE2b-256 4d2db1e1cdbe6ed3af85dcb9350ef2d41ce4d1511c0ddf843c1c21fd85ac2e1f

See more details on using hashes here.

File details

Details for the file scigantic_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scigantic_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for scigantic_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61a8e2be08cd3779d20598052fd243efbff20750595527596e308a8ef388ed5c
MD5 a262e9dcf0a30f0640c53d1a28d2ffa1
BLAKE2b-256 116d011ed68d48cb9a7175b2a5e56745f21f786fb42221f66f8ef8b1faf946a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page