Skip to main content

Optional machine interfaces

The command-line workflow is EyeDataHub's primary interface. Python, JSON, JSON-LD, and Model Context Protocol (MCP) provide secondary views of the same metadata implementation. Agreement among them is a software-conformance check, not independent validation of source records.

Deterministic JSON​

eyehub search --modality oct --json
eyehub show airogs --json
eyehub cite airogs --type dataset --format json
eyehub preflight airogs --json

These operations are read-only. Dataset transfer begins only through an explicit non-dry-run eyehub download command.

Python​

from eyedatahub.datasets.registry import REGISTRY

dataset = REGISTRY.get_dataset("airogs")
print(dataset.info.access_friction)
print(dataset.info.source_terms)
print(dataset.info.terms_scope)

REGISTRY is retained as an internal compatibility name; the public product is a command-line access tool backed by a versioned catalog snapshot.

Read-only MCP server​

python -m eyedatahub.agent.mcp_server

Example client configuration:

{
"mcpServers": {
"eyedatahub": {
"command": "python",
"args": ["-m", "eyedatahub.agent.mcp_server"],
"cwd": "/path/to/EyeDataHub"
}
}
}

The MCP server supports metadata retrieval and reviewable planning. It cannot transfer data, accept source terms, approve a route, bypass access controls, choose or train a model, or determine legal, ethical, clinical, or scientific suitability. Any software client must preserve unknown values and show the official evidence and dated verification state.

Reproducible interface checks​

The test suite covers Python, command-line, and MCP interface conformance, along with manually specified expected-query fixtures. Run it with:

python -m pytest -q