Loading database (≈10 MB, one-time)…
Most-studied genes top 15 by # papers · click a gene to open it
Species share of records
Functional category
Inferred gene role
Evidence strength
Mechanistic role
Transport substrate
Search & filter
Results
Species knowledge graph
How is edge confidence graded?
Each edge is supported by one or more pieces of evidence — a relation extracted from a single paper by a single model (Opus or Sonnet). At extraction, every piece of evidence is rated high, medium, or low according to how directly that paper supports the relation.
An edge's confidence is the highest level among its supporting evidence: high if any evidence is high; otherwise medium if any is medium; otherwise low. Across the graph: ~6,800 high, ~8,300 medium, 1 low.
Edges where the two models disagreed were settled by a separate arbitration step. Use the Confidence filter above to keep only high (or high+medium) edges; click any edge to read each paper's quoted evidence and its own rating.
Scroll to zoom · drag to pan · click a gene for its record · click an edge for the paper evidence · hover for names.
Download the data
All of SaltNet's underlying data is openly available in the GitHub repository. Use the links below to download individual files, or get the whole dataset at once.
git clone.Query SaltNet from an AI agent (MCP)
SaltNet ships a local Model Context Protocol server so an AI agent (Claude Desktop, Claude Code, Cline, …) can query the database directly — fully offline, no backend or API key. Three tools:
| Tool | What it returns |
|---|---|
search_genes | Find genes by free text and/or facets (species, functional category, transport substrate, role). |
get_gene | One gene's full record: annotations, supporting PMIDs, per-paper experimental evidence, TCDB annotation, UniProt/NCBI sequence links. |
get_gene_network | The gene's knowledge-graph neighbourhood: connected genes/pathways, edge relations, and the supporting paper evidence (PMID + quoted experiment). |
1 · Install
git clone https://github.com/YunchuanWang/saltnet.git cd saltnet/mcp_server python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1 pip install -r requirements.txt
2 · Register with your agent
Use absolute paths, and point the command at the venv Python.
Claude Code:
claude mcp add saltnet -- /ABS/PATH/saltnet/mcp_server/.venv/bin/python /ABS/PATH/saltnet/mcp_server/saltnet_mcp.py
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"saltnet": {
"command": "/ABS/PATH/saltnet/mcp_server/.venv/bin/python",
"args": ["/ABS/PATH/saltnet/mcp_server/saltnet_mcp.py"]
}
}
}
3 · Ask
- “Use SaltNet to find Na⁺ transporters involved in salinity response in wheat.”
- “What does SaltNet say about SOS1 in Arabidopsis — evidence and which papers?”
- “Show SOS1's regulatory network and the experiment behind each edge.”
Build your own resource
SaltNet was built from the literature by a multi-agent LLM pipeline. That pipeline is packaged as a second MCP toolbox — the build server — so you can construct your own evidence-traceable knowledge graph + database for any topic, with your own keywords and your own choice of models. Eight stages take you from a keyword to a finished resource: search → filter → extract → arbitrate → audit → consolidate → build → check.
Pipeline flowchart — stage → program → requirement
make target and an MCP tool
make search · MCP search_abstractsmake filter · MCP filter_corpusmake extract · MCP extract(model_a, model_b, confirm)confirm=False returns a cost estimate first.
06_cli_extract_v5.py · 13_extract_fulltext.py · 19_kg_extract.py · loop_*.shmake arbitrate · MCP arbitrate(confirm)make audit · MCP audit()make consolidate · (folded into MCP build_kg_db)make build · MCP build_kg_db('build')make check · MCP check()What each stage needs
| Software | Why | Needed by |
|---|---|---|
| Python ≥3.10 + data stack | embedding / clustering / graph / MCP | all stages |
| NCBI EDirect | PubMed search + download | Search |
| GNU make | orchestration | all (command-line mode) |
| Claude Code CLI (logged in, with quota) | runs the LLM stages (they cost money) | Extract, Arbitrate, Audit only |
| Network access | PubMed / PMC / Unpaywall | Search + full-text download |
Install
conda env create -f environment.yml && conda activate saltnet # Python + EDirect in one go # or: pip install -r requirements.txt # then install EDirect separately # Claude Code CLI (only for the LLM stages): https://claude.com/claude-code
Run it — command line (your keywords)
make search QUERY='("cold stress"[TIAB]) AND plants[MeSH]' MINDATE=2000
make filter
make extract # LLM · dual-model
make arbitrate # LLM
make audit # LLM
make consolidate # merge → master data
make build # db + KG + tables + figures
make check
Or drive the same stages conversationally via the MCP
server below — heavy LLM stages run as background jobs (get_job /
list_jobs) with a cost guardrail.
Register the build server (MCP, stdio)
{
"mcpServers": {
"saltnet-pipeline": {
"command": "/home/<you>/miniconda3/envs/salt_nlp/bin/python",
"args": [".../pipeline/mcp_pipeline/pipeline_mcp.py"]
}
}
}
Point command at the Python from the conda env above and
args at your clone's pipeline/mcp_pipeline/pipeline_mcp.py (absolute paths).
💬 Suggestions & feedback
Missing a gene, a correction, or an idea? Send it below. Submissions are reviewed before appearing on the public board; your email (optional) stays private.