PlantOntology

PlantOntology

Enables querying a plant knowledge graph for companion planting, climate suitability, and landscape design recommendations via natural language.

Category
Visit Server

README

<div align="center"> <img src="docs/logo.png" alt="PlantOntology" width="280">

PlantOntology

The world's first open-source plant knowledge graph β€” built by landscape professionals, for everyone.

Live Demo License: MIT Neo4j Python MCP Species

plantontology-production.up.railway.app </div>

PlantOntology is an open-source knowledge graph that models plants, ecosystems, and landscape design relationships β€” making 19 years of professional landscape expertise available to everyone through AI.


🌍 Why PlantOntology?

Existing plant databases (iNaturalist, GBIF, Plants.com) store facts β€” scientific names, photos, basic traits.

PlantOntology stores relationships and intelligence:

μˆ˜μ’… ──[λ™λ°˜μ‹μž¬]──▢ μˆ˜μ’…          # Companion planting
μˆ˜μ’… ──[기피관계]──▢ μˆ˜μ’…          # Allelopathy / conflict
μˆ˜μ’… ──[기후적합]──▢ κΈ°ν›„μ‘΄        # Climate zone match
μˆ˜μ’… ──[μœ μ§€κ΄€λ¦¬]──▢ λ‚œμ΄λ„        # Maintenance complexity
μˆ˜μ’… ──[μƒνƒœμ—­ν• ]──▢ μ‘°λ₯˜/κ³€μΆ©     # Ecological function
μˆ˜μ’… ──[병해좩]───▢ λ°©μ œλ²•         # Pest/disease management
포μž₯ ──[심미쑰합]──▢ μˆ˜μ’…κ΅°        # Aesthetic combinations
ν† μ–‘ ──[μ ν•©μˆ˜μ’…]──▢ μˆ˜μ’…          # Soil-species match

This powers questions like:

  • "λŠν‹°λ‚˜λ¬΄ μ˜†μ— 뭘 μ‹¬μœΌλ©΄ μ’‹μ„κΉŒ?" β†’ companion planting recommendations
  • "μ„œμšΈ κΈ°ν›„μ—μ„œ μžμƒμ’…μœΌλ‘œ 곡원 μ‹μž¬ κ³„νš 짜쀘" β†’ AI-generated planting plans
  • "이 λ°°μΉ˜κ°€ μƒνƒœμ μœΌλ‘œ κ±΄κ°•ν•œκ°€?" β†’ ecosystem health scoring
  • "λ“œλΌμ΄κ°€λ“ μš© 내건성 μˆ˜μ’… 20μ’… μΆ”μ²œ" β†’ climate-adaptive selection

🎯 Who is this for?

User Use Case
🏑 Home gardeners "What should I plant next to my roses?"
πŸŒ‡ Urban planners Green infrastructure optimization
πŸ—οΈ Landscape architects Design automation & spec generation
🌍 Climate adaptation orgs Drought-resistant, carbon-sequestering planting
πŸ€– AI developers Training data for AEC/landscape AI models
πŸŽ“ Students Open educational resource for landscape programs

πŸ—‚οΈ Project Structure

PlantOntology/
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ species/           ← Plant species JSON (Korean + global)
β”‚   β”œβ”€β”€ relationships/     ← Companion, conflict, ecological edges
β”‚   β”œβ”€β”€ climate_zones/     ← Korean climate zones (쾨펜 λΆ„λ₯˜)
β”‚   └── regulations/       ← λ„μ‹œκ³΅μ›λ²•, 건좕법 μ‘°κ²½ κΈ°μ€€
β”œβ”€β”€ ontology/
β”‚   β”œβ”€β”€ schema.cypher      ← Neo4j node/relationship schema
β”‚   └── constraints.cypher ← Unique constraints & indexes
β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ main.py            ← FastAPI app
β”‚   └── routers/           ← /species, /recommend, /plan, /ecosystem
β”œβ”€β”€ sdk/
β”‚   └── plantontology/     ← Python SDK (pip install plantontology)
β”œβ”€β”€ mcp/
β”‚   └── server.py          ← MCP server for Claude Code integration
└── scripts/
    β”œβ”€β”€ seed_neo4j.py      ← Load initial dataset into Neo4j
    └── import_gbif.py     ← Import from GBIF open data

πŸš€ Quick Start

git clone https://github.com/alexai-mcp/PlantOntology
cd PlantOntology
pip install -e ".[dev]"

# Start Neo4j (Docker)
docker run -p 7474:7474 -p 7687:7687 neo4j:latest

# Seed initial dataset
python scripts/seed_neo4j.py

# Start API
uvicorn api.main:app --reload

Use as MCP Server (Claude Code)

{
  "mcpServers": {
    "plantontology": {
      "command": "python",
      "args": ["-m", "mcp.server"],
      "cwd": "/path/to/PlantOntology"
    }
  }
}

πŸ“š Documentation


🌱 Initial Dataset (Korean Native + Ornamental)

Phase 1: 500 species with full relationship data

  • ν•œκ΅­ μžμƒ μˆ˜μ’… 200μ’… (Korean native trees/shrubs)
  • μ‘°κ²½ ν™œμš© ꡐλͺ©/κ΄€λͺ© 200μ’… (Common landscape species)
  • 지피식물/μ΄ˆν™”λ₯˜ 100μ’… (Ground covers & perennials)

Each species includes:

  • ν•™λͺ… / κ΅­λͺ… / 영λͺ…
  • μƒμœ‘ νŠΉμ„± (수고, 수폭, 생μž₯속도)
  • κΈ°ν›„ 적합성 (ν•œκ΅­ κΈ°ν›„μ‘΄ 1–7)
  • ν† μ–‘ 적합성
  • μœ μ§€κ΄€λ¦¬ λ‚œμ΄λ„
  • λ™λ°˜μ‹μž¬ / κΈ°ν”Ό 관계
  • μƒνƒœ κΈ°λŠ₯ (νƒ„μ†Œν‘μˆ˜, μ‘°λ₯˜μœ μΈ, 밀원)
  • μ‘°κ²½ ν™œμš©μ²˜ (κ°€λ‘œμˆ˜, 곡원, 정원, μ˜₯상녹화)

πŸ—ΊοΈ Roadmap

Phase Milestone ETA
v0.1 ν•œκ΅­ μžμƒ μˆ˜μ’… 200μ’… + Neo4j μŠ€ν‚€λ§ˆ 2026-04
v0.2 FastAPI + μΆ”μ²œ μ—”μ§„ MVP 2026-05
v0.3 MCP μ„œλ²„ + Claude Code 톡합 2026-05
v0.4 κΈ€λ‘œλ²Œ μˆ˜μ’… ν™•μž₯ (μ•„μ‹œμ•„ 1,000μ’…) 2026-06
v1.0 κΈ°ν›„ 적응 μ‹μž¬ κ³„νš μžλ™ 생성 2026-Q3

🀝 Contributing

PlantOntology thrives on contributions from:

  • Landscape architects β€” domain knowledge, species data
  • Botanists β€” ecological relationships, taxonomy
  • AI engineers β€” Graph RAG, recommendation algorithms
  • Translators β€” Korean ↔ English ↔ Japanese species data
  • Gardeners β€” real-world companion planting observations

See CONTRIBUTING.md for guidelines.


πŸ“„ License

MIT β€” free to use, modify, and distribute.


Built with 19 years of landscape expertise + AI by AlexLee Powered by Neo4j Β· FastAPI Β· Claude Code MCP

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured