Skip to main content

scigantic-mcp

CI PyPI PyPI - Python Version License

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: about 6,900 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.

Since 0.3.0 it also carries six surechembl_* tools for patent chemistry, backed by SureChEMBL (EMBL-EBI, 31M compounds extracted from 45M patents) through the scigantic-surechembl library: look a compound up by any identifier, list the patents that mention it, read a patent, list the compounds named in it, search patents with Solr syntax, and run structure searches. Also public, read-only, no key.

SureChEMBL replaced its REST API in November 2026. Since 0.3.2 these tools run on scigantic-surechembl 0.4, the port to the new API. Three things the new API no longer offers show up in the output: a patent's CPC codes, citations and legal events are not returned; surechembl_patent_chemistry lists the compounds named in a patent's text, not those that appear only in images or attachments; and full-text search and patent families cover US, EP, WO, JP and CN publications only. A chemical name is now resolved through PubChem, since SureChEMBL has no name lookup any more.

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 five extra tools: search, fetch, get_sample_notebook, lookup_paper and list_compute_tiers): add https://api.scigantic.com/mcp as a streamable HTTP server in your client (Cursor, VS Code, Windsurf and others), or run 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.

Patent chemistry (SureChEMBL)

Tool What it does
surechembl_compound(identifier) A compound by SureChEMBL id, ChEMBL id, pubchem:CID, drugbank:ID, InChIKey, SMILES or name: structure, properties, cross-references, patent count.
surechembl_patents_for_compound(identifier, limit?) The patents in which the compound was found, with the total.
surechembl_patent(doc_id, include_text?) A patent's bibliography, abstract, family, priority claims, count of compounds named in the text, and optionally its claims and description.
surechembl_patent_chemistry(doc_id, limit?) The compounds SureChEMBL's text-mining finds named in the patent.
surechembl_search_patents(query, limit?) Full-text patent search with Solr field syntax (ttl:, asg:, pdyear:, cpc:, ...) over US, EP, WO, JP and CN publications.
surechembl_structure_search(structure, mode?, limit?) Similarity, substructure, identical or connectivity search over 31M compounds.

Identifiers are preserved verbatim in the output (SureChEMBL's attribution terms ask that SCHEMBL ids and publication numbers be kept), and each result links to surechembl.org. SureChEMBL data is CC BY 4.0.

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.
patent_landscape(compound) Resolve a compound, count and list its patents, summarize assignees, years and CPC areas, read the key documents.

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.

Stability

This package is a thin client over the public Scigantic REST API. That API is not versioned and may change without notice — if a response shape moves, a pinned older release of this package can break. Pin a version you have tested, and open an issue if a tool starts returning something unexpected.

The MCP tool names and their arguments are treated as the stable surface, and will not change without a minor version bump.

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.
  • 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.

Metadata

Release files for scigantic-mcp 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scigantic-mcp 0.3.2
File Size Uploaded Provenance Actions
scigantic_mcp-0.3.2.tar.gz 25.6 kB Without provenance Details for scigantic_mcp-0.3.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for scigantic-mcp 0.3.2
File Interpreter ABI Platform Actions
scigantic_mcp-0.3.2-py3-none-any.whl Python 3 none any Details for scigantic_mcp-0.3.2-py3-none-any.whl

Total release size: 45.9 kB

Release files / scigantic_mcp-0.3.2.tar.gz

Download URL scigantic_mcp-0.3.2.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
922449d8c2b81b5d339ea4759fc1efba15e6d213984503e0d7c29162d5923e28
BLAKE2b-256 checksum
How to use checksums
046184044ed77ab80e56ef432b2b98e2cf54f750ccd2dc0022151f6f2612a6e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.18

Release files / scigantic_mcp-0.3.2-py3-none-any.whl

Download URL scigantic_mcp-0.3.2-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f178693d5fb6f3fc0a41c9357fb308a2761511fd71dce12f6ced006291fb3d7
BLAKE2b-256 checksum
How to use checksums
930b5ee9e6791ae3637b711dc92e3288e483070a89d471c2aafec43821c61216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.18

Security for scigantic-mcp 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page