ICRISAT Data Hub MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ICRISAT Data Hub MCP Serversearch for yield trial data from 2025"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# ICRISAT Data Hub
A lightweight, federation-first data hub for ICRISAT teams, modelled on the CGIAR Climate Data Hub asset-mapping approach:
teams drop files ──► inbox (watched) ──► ingest pipeline ──► catalogue ──► MCP server ──► any LLM
(no skills needed) (auto: read, profile, (SQLite + assets.json)
register, flag gaps)Phase 1 supports CSV, Excel (.xlsx/.xls), and Word (.docx) files. External data is registered as YAML pointers (federation — the hub points to data where it lives rather than copying it).
For teams: how to share data (30 seconds, no skills needed)
Option A — drop folder. Copy your file into data/inbox/ (this can be a
shared network drive or a OneDrive-synced folder). That's it. The pipeline
picks it up automatically, catalogues it, and flags anything it couldn't
figure out for review.
Option B — web page. Run scripts\start_web.cmd once, open
http://localhost:8010, drag & drop, optionally fill 5 small fields.
Option C — with metadata. Drop a tiny sidecar next to your file:
yield_trials_2025.csv
yield_trials_2025.meta.yaml # title, team, owner, description, tags, ...or one metadata.yaml for a batch of files. Incomplete uploads get a
pre-filled *_metadata_review.yaml written next to the processed file —
complete it and drop it back in the inbox (or edit via the review CLI).
Related MCP server: mix_server
Setup
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtRunning the pieces
Component | Command | Purpose |
Inbox watcher |
| auto-ingest dropped files |
One-off scan |
| scheduled/manual ingest |
Web upload + catalogue |
| |
MCP server (stdio) |
| local LLM agents |
MCP server (HTTP) |
| http://localhost:8100/mcp for other machines |
Validate YAML pointers |
| check |
All python -m hub... commands run from the project root with
PYTHONPATH=src (the scripts set this for you).
Connecting an LLM (MCP)
Claude Desktop / opencode (stdio) — add to your MCP config:
{
"mcpServers": {
"icrisat-data-hub": {
"command": "C:\\Users\\HDesalegn\\ICRISAT\\icrisat-data-hub\\.venv\\Scripts\\python.exe",
"args": ["-m", "hub.mcp_server.server"],
"env": { "PYTHONPATH": "C:\\Users\\HDesalegn\\ICRISAT\\icrisat-data-hub\\src" }
}
}
}Other machines/LLMs (HTTP) — start with --http and point clients at
http://<host>:8100/mcp.
MCP tools
Tool | What it does |
| List catalogue, filter by status/team/type/tag |
| Keyword search over titles, descriptions, column names, document text |
| Full metadata + per-sheet schema (columns, dtypes, samples) |
| First N rows of a CSV/Excel asset |
| Read-only SQL (DuckDB) over a CSV/Excel asset |
| Extracted text of a Word asset |
| Federated external sources (YAML pointers) |
| Portfolio stats (counts by status/type/team/access) |
YAML source pointers (federation)
Each external dataset/API/database gets one small YAML in sources/ — see
sources/README.md and sources/examples/. The hub registers and exposes
these through the MCP server without copying the data.
GitHub Pages catalogue app
A static dashboard lives in docs/ and is served at
https://henokd11.github.io/icrisat-data-hub/. It reads docs/data/*.json —
regenerate and commit them after the catalogue changes:
set PYTHONPATH=src
.venv\Scripts\python -m hub.pages
git add docs/data && git commit -m "Refresh catalogue app data" && git pushLayout
config/hub.yaml hub-wide settings (paths, vocab, ports)
data/inbox/ drop zone (watched)
data/processed/ ingested files, organised by team/month
data/failed/ rejected files + .error.txt
data/catalog/ catalog.db (SQLite) + assets.json (exported catalogue)
sources/ YAML pointers to federated external data
src/hub/ pipeline, watcher, web app, MCP server
tests/ pytest suiteThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HenokD11/icrisat-data-hub'
If you have feedback or need assistance with the MCP directory API, please join our Discord server