Harshith.
Back to work

Run 03Open Source · Jun 2026

MedDataMCP

MCP · federated dataset discovery

sources
6
interface
MCP

Python · MCP · FastMCP · Pydantic · httpx · pytest

Problem

Sleep-staging and biosignal work constantly starts the same way: find a public corpus with the right modality pair, license, and access tier. PhysioNet, NSRR, Zenodo, HuggingFace, OpenNeuro, and Kaggle each have their own search, schema, and failure modes. An LLM client should not have to know any of that.

What it is

MedDataMCP is a unified MCP server for federated medical and biosignal dataset discovery. One query fans out across those six sources and returns ranked, normalized results.

Design

  • Connector-based registry. Adding a new repository is one connector file plus one registry line.
  • find_paired_datasets for modality-pair discovery (for example PSG + IMU), which is the actual query sleep-staging work needs.
  • A normalized DatasetRecord schema: id, source, title, modalities, license, access tier.
  • In-memory TTL cache, per-source error isolation, and boundary-aware modality keyword inference so one flaky source does not take down the rest.
  • pytest coverage for connectors, registry fan-out, and modality detection.

The useful part is not the search UI. It is that an agent can ask a research question in one tool call and get a record it can actually act on.