Aurora-MCP
Enables querying relationships between plant species, small molecules, and mitochondrial Complex I inhibitors by bridging natural-product, biodiversity, and PubMed datasets. Allows LLMs to perform structured searches and reasoning over biological data to identify potential plant-derived mitochondrial inhibitors.
README
title: Aurora-MCP emoji: 🌿 colorFrom: green colorTo: indigo sdk: docker pinned: false
🌿 Aurora-MCP
Model Context Protocol (MCP) server providing access to datasets of natural and synthetic small molecules, with a focus on identifying potential mitochondrial Complex I inhibitors that may occur in plant species.
🔍 Overview
Aurora-MCP is a Model Context Protocol (MCP) server and data integration layer that connects natural-product, biodiversity, and mitochondrial-inhibitor datasets. It enables LLMs and users to query relationships between plant species, small molecules, and mitochondrial Complex I inhibition—bridging COCONUT, Laji.fi, GBIF, and AI-derived PubMed data through structured joins and metadata schemas.
Aurora-MCP is a lightweight MCP server + Hugging Face Space designed to bridge two complementary knowledge sources:
- 🌿 Aurora — natural-product and plant biodiversity data, mapping compounds to genera and species found in Nordic ecosystems.
- 🧬 Aurora-Mito-ETL — curated PubMed-derived corpus of small-molecule inhibitors of mitochondrial Complex I (NADH dehydrogenase).
Together they form a conversational dataset where ChatGPT (or any MCP-compatible LLM) can reason over structured biological data, ask questions, and perform targeted searches on small compounds, plants, and mechanistic links between them.
🧠 Concept
Goal: allow scientific dialogue with an LLM grounded in domain data, for example:
“Show me plant-derived compounds that inhibit mitochondrial Complex I.”
“Find PubMed evidence for arctigenin as a Complex I inhibitor.”
“List Nordic plants whose metabolites overlap with known ETC inhibitors.”
Aurora-MCP turns your static text/TSV data into an interactive semantic backend, exposing programmatic tools for searching, linking, and reasoning.
a FastAPI‑based MCP endpoint (/mcp) that ChatGPT (or any MCP‑aware client)
can connect to. It also provides /healthz for status checks and simple debug HTTP routes
for local testing.
🚀 Quick start (local)
# 1. Create a clean environment
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 2. Run the MCP HTTP server
uvicorn mcp_server.server:app --host 0.0.0.0 --port 7860
# 3. Check health
curl -s http://127.0.0.1:7860/healthz | jq
# 4. Optional: test the debug routes
curl -s 'http://127.0.0.1:7860/debug/list_files?path=data' | jq
You should see something like:
{
"ok": true,
"mcp": "mounted at /mcp",
"tools": ["list_files","read_text"]
}
🧠 Using with ChatGPT (MCP)
- Deploy this repository to a Hugging Face Space (Docker SDK).
- Wait until the Space is running and
/healthzreturns 200 OK:
https://huggingface.co/spaces/<you>/<space>/healthz - In ChatGPT → Settings → Connectors / MCP → Add Server
- Server URL:
https://huggingface.co/spaces/<you>/<space>/mcp
- Server URL:
- Open a new chat and try for example:
list_files(path="data")read_text(path="README.md")- (Aurora domain tools can be added similarly.)
🐳 Docker (for Hugging Face Spaces)
FROM python:3.12-slim
WORKDIR /app
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1
RUN apt-get update && apt-get install -y --no-install-recommends build-essential curl ca-certificates && rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . .
EXPOSE 7860
ENV PORT=7860
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=5 CMD curl -fsS http://127.0.0.1:${PORT}/healthz || exit 1
CMD ["uvicorn","mcp_server.server:app","--host","0.0.0.0","--port","7860"]
🧩 Architecture overview
| Component | Description |
|---|---|
| FastAPI app | Hosts the /mcp streaming endpoint and /healthz check |
| FastMCP | MCP server layer that exposes Python functions as MCP tools |
| Tools | Simple functions (list_files, read_text, etc.) that can be called by MCP clients |
| Aurora domain | (Future) plant‑compound and inhibitor analytics from your Aurora ETL data |
📂 Project layout
aurora-mcp/
├── mcp_server/
│ ├── server.py # FastAPI + FastMCP entrypoint
│ ├── tools/
│ │ └── files.py # Example tools (list_files, read_text)
│ └── __init__.py
├── data/ # Local data (ignored by git)
├── requirements.txt
├── Dockerfile
├── huggingface.yaml
└── README.md
✅ Health & debug routes
| Endpoint | Purpose |
|---|---|
/healthz |
lightweight JSON health check |
/debug/list_files |
list directory contents (no MCP) |
/debug/read_text |
read a file as plain text |
⚙️ Requirements
fastapi>=0.119
uvicorn>=0.37
mcp>=0.17.0
pydantic>=2.11.9
pandas>=2.3.3
Install with:
pip install -r requirements.txt
🧱 Hugging Face Space metadata
# huggingface.yaml
title: Aurora-MCP
sdk: docker
emoji: 🌿
colorFrom: green
colorTo: indigo
pinned: false
🔍 Troubleshooting
| Symptom | Cause / Fix |
|---|---|
GET /mcp → 307/500 |
Normal; only MCP clients can connect |
Task group is not initialized |
Fixed by FastMCP startup hook |
ModuleNotFoundError: mcp.server.fastapi |
Install correct SDK: pip install mcp fastapi uvicorn |
healthz returns nothing |
Curl 127.0.0.1 not 0.0.0.0 |
Author: Daniel Nicorici · University of Helsinki
License: GNU GPL v3
URL: https://github.com/ndaniel/aurora-mcp
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.