Server and endpoints
Connect to the public host https://wheatomics.sdau.edu.cn:
| Item | Value |
|---|---|
| Server name | wheatomics |
| Transport | SSE (Server-Sent Events) |
| SSE endpoint | GET /api/mcp/sse |
| Message endpoint | POST /api/mcp/messages |
WheatOmics 2.0 · AI & API
WheatOmics opens its wheat multi-omics data to AI agents and scripts: a built-in MCP server for tool-using LLM clients, plus a documented REST API for everything else.
A · Model Context Protocol
WheatOmics runs an MCP (Model Context Protocol) server over SSE (Server-Sent Events), so an MCP-capable AI client can connect remotely, discover the tools below and call them as native tools. The server exposes sequence retrieval and CAPS/dCAPS primer design; the REST API described in the next section covers the remaining data modules.
Connect to the public host https://wheatomics.sdau.edu.cn:
| Item | Value |
|---|---|
| Server name | wheatomics |
| Transport | SSE (Server-Sent Events) |
| SSE endpoint | GET /api/mcp/sse |
| Message endpoint | POST /api/mcp/messages |
Add the remote SSE server to your MCP client's JSON configuration. The mcpServers form shown here is what Cursor and many other clients use; some clients spell the key servers and accept the transport implicitly, so check your client's schema:
{
"mcpServers": {
"wheatomics": {
"type": "sse",
"url": "https://wheatomics.sdau.edu.cn/api/mcp/sse"
}
}
}
Claude Code can register the same server from a shell:
claude mcp add --transport sse wheatomics https://wheatomics.sdau.edu.cn/api/mcp/sse
Check connectivity — the stream opens with an SSE endpoint event that carries the message URL:
curl -N https://wheatomics.sdau.edu.cn/api/mcp/sse
Your client must support remote SSE MCP servers; local stdio-only clients cannot connect to this endpoint directly.
Four tools are registered on the server. Arguments are passed as the tool input object; errors come back as text so the model can adjust and retry.
| Tool | Required arguments | Optional arguments | Returns |
|---|---|---|---|
get_sequence_by_gene |
gene_id |
gene_db (default all_gene), protein_db (default all_protein) |
Gene and protein FASTA records for one gene ID. |
get_sequence_by_interval |
region (legacy format, e.g. chr1A:10-100), database (a genome database name) |
— | FASTA sequence for the requested genomic interval. |
batch_sequence |
database, ids (space-separated gene IDs) |
— | Direct-entry FASTA records for multiple gene IDs. |
design_caps_primers |
seq1, seq2 (equal length, one base differs) |
mismatch_max (0–3, default 1), top_n (default 10) |
Ranked CAPS/dCAPS designs with enzyme, primer sequences, mismatches, cut position and Tm. |
B · Representational State Transfer
Every data module is also reachable over plain HTTP under the base URL https://wheatomics.sdau.edu.cn/api. The interactive references are the quickest way to explore the endpoints: Swagger UI, the ReDoc reference, or the machine-readable OpenAPI 3.x schema.
Successful calls are wrapped consistently, with the payload under data:
{
"success": true,
"message": "ok",
"timestamp": "2026-10-29T02:15:00+00:00",
"data": { }
}
The timestamp is regenerated on every response. Validation errors (HTTP 422) and unexpected server errors (HTTP 500) return the same envelope with "success": false, an error summary and a detail field; endpoints can also answer with a plain HTTP error status and a detail message.
Application metadata:
curl https://wheatomics.sdau.edu.cn/api/about
It returns the API name, version, docs, api_prefix, server_time and client_ip.
One page of the curated known-gene list:
curl "https://wheatomics.sdau.edu.cn/api/genes/known/all?limit=2"
GET /api/genes/known/all accepts optional limit (1–5000) and offset (≥ 0); without limit it returns the full list.
These are the main module prefixes; the Swagger UI and ReDoc pages list every path and parameter in full.
| Module | Prefix | Module | Prefix |
|---|---|---|---|
| Known Genes | /api/genes/known | Co-expression | /api/coexpression |
| GeneHub | /api/genes/detail/{gene_id} | WheatPPI | /api/ppi |
| PfamSearch | /api/genes/functions/pfam | Comparative | /api/comparative |
| IntervalTool | /api/genes/functions/interval | Triticeae Papers | /api/papers |
| Sequences | /api/sequence | GO / KEGG | /api/go · /api/kegg |
| BLAST | /api/blast | VariantHub | /api/VariantHub |
| Expression | /api/expression | eQTL Atlas | /api/eqtl |
| OrthoFinder | /api/orthofinder | CAPS / dCAPS | /api/caps |
| JBrowse | /api/jbrowse | PrimerServer2 | /api/PrimerServer2 |
BLAST is asynchronous: POST /api/blast/search queues a job (form fields such as program, database and query), and GET /api/blast/status/{job_id} reports the status and download links. Send wait=false to get a job_id back immediately instead of waiting for the result.
Give an LLM the OpenAPI JSON — or connect the MCP server — and it can discover the available data endpoints and call them on its own. Responses are already machine-friendly JSON under the unified envelope, so no scraping or ad-hoc parsing is needed.
C · Access & support
All read endpoints are public and need no API key. Write endpoints — such as the curated known-gene write API at /api/genes/known/write — require an API key issued by the maintainers; the key is sent in the Authorization: Bearer or X-API-Key header.
Keys are scoped, rate-limited and audited, and are only issued for curation work. Email shengweima@icloud.com to request one or to report a problem.
Questions, bug reports and feature requests are welcome by email at shengweima@icloud.com.
See the contact page for the project team and the news page for updates about the platform and its data releases.
Cite WheatOmics through the platform citation on the homepage. This page was last updated on 2026-10-29 and describes the MCP server and REST API as deployed at that time.