Skip to main content
Glama
ksm-aiot-upnvj

Smart Hydroponic MCP Server

๐ŸŒฑ Smart Hydroponic MCP Server

Server Model Context Protocol (MCP) berbasis semantic context untuk sistem IoT Smart Hydroponic. Menghubungkan Large Language Models (LLM) dengan database time-series PostgreSQL + TimescaleDB secara aman, efisien, dan terstandardisasi.

Apa itu Model Context Protocol (MCP)?
MCP adalah standar terbuka (open standard) yang memungkinkan agen kecerdasan buatan (seperti Claude Desktop, Cursor, atau custom LLM agent) mengakses data real-time, context feeds, tools terparameterisasi, dan prompt workflow secara seragam tanpa membebani LLM dengan kueri SQL mentah.


โœจ Fitur Utama

  • ๐Ÿ“ฆ MCP Resource (hydroponic://state/latest): Menyajikan snapshot telemetri kondisi kebun terkini (pH, TDS, suhu rata-rata, kelembapan, flowrate, volume tandon, dan status aktuator) dalam format teks bersih untuk LLM.

  • ๐Ÿ“ˆ Downsampled Historical Trend (get_historical_trend): Menggunakan fungsi TimescaleDB time_bucket('1 hour', dataid) untuk menyajikan tren historis teragregasi (rata-rata, minimum, maksimum, sampel) tanpa menghabiskan context window LLM.

  • โšก Actuator Uptime Summary (get_actuator_summary): Menghitung keandalan sistem dan persentase aktif aktuator (pump_status, light_status, automation_status) selama rentang waktu evaluasi.

  • ๐Ÿฉบ Standardized Diagnostic Prompt (diagnose_environment): Workflow prompt cerdas yang memandu AI membandingkan kondisi riil terhadap standar agronomi hidroponik dan menyusun diagnosis komprehensif.

  • ๐Ÿ›ก๏ธ SQLAlchemy 2.0 Async Core & Safe Raw SQL: Koneksi dikelola dengan create_async_engine dan async_sessionmaker, sementara query dieksekusi dengan parameterized binding :param yang kebal terhadap SQL Injection.

  • ๐Ÿงช Automated Testing & CI/CD: Dilengkapi test suite pytest dan pipeline GitHub Actions otomatis untuk linting, testing, dan Docker build/push.


Related MCP server: MCP PostgreSQL

๐Ÿ“‹ Prasyarat

  • Python >= 3.14

  • Package Manager: uv

  • PostgreSQL dengan ekstensi TimescaleDB (mendukung partisi hypertable berbasis UUIDv7 / timestamp).


โš™๏ธ Konfigurasi Environment

Salin atau buat file .env di direktori utama:

HYDROPONIC_DB_HOST=127.0.0.1
HYDROPONIC_DB_PORT=5432
HYDROPONIC_DB_USER=admin_iot_db
HYDROPONIC_DB_PASSWORD=your_password
HYDROPONIC_DB_NAME=iot_hydroponik
HYDROPONIC_DB_SCHEMA=public
HYDROPONIC_TABLE_NAME=hydroponic_data

Atau menggunakan connection string tunggal:

DATABASE_URL=postgresql+asyncpg://admin_iot_db:your_password@127.0.0.1:5432/iot_hydroponik

๐Ÿš€ Menjalankan Server

Proyek ini menggunakan standardisasi package manager uv:

# Sinkronisasi dependensi dan jalankan server
uv run main.py

Server HTTP SSE FastMCP akan aktif pada http://0.0.0.0:8000.

Untuk menjalankan pengujian otomatis:

# Menjalankan unit & integration tests
uv run pytest -v

# Pengecekan linter & format kode
uv run ruff check .
uv run ruff format --check .

๐Ÿค– Integrasi dengan AI Client (Claude Desktop / Cursor)

Tambahkan konfigurasi berikut pada file pengaturan MCP klien Anda (misalnya claude_desktop_config.json):

{
  "mcpServers": {
    "smart-hydroponic": {
      "command": "uv",
      "args": [
        "run",
        "c:/path/to/smart-hydroponic-mcp/main.py"
      ],
      "env": {
        "HYDROPONIC_DB_HOST": "127.0.0.1",
        "HYDROPONIC_DB_PORT": "5432",
        "HYDROPONIC_DB_USER": "admin_iot_db",
        "HYDROPONIC_DB_PASSWORD": "your_password",
        "HYDROPONIC_DB_NAME": "iot_hydroponik"
      }
    }
  }
}

๐Ÿณ Docker Deployment

Server ini dapat dijalankan dalam kontainer Docker:

# Build Docker image secara lokal
docker build -t smart-hydroponic-mcp:latest .

# Menjalankan kontainer dengan file environment
docker run -d --name smart-hydroponic-mcp -p 8000:8000 --env-file .env smart-hydroponic-mcp:latest

Atau menggunakan Docker Compose:

docker compose up -d

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that gives AI agents direct read-only access to PostgreSQL databases, enabling natural language analytics through tools for schema exploration, querying, trend analysis, and data quality checks.
    11
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server for PostgreSQL that enables safe database introspection and querying via natural language.
    442 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A read-only PostgreSQL MCP server that translates natural language queries into SQL, enforcing database routing, table/column whitelists, and safety checks. It offers schema inspection and query tools with optional output as SQL or results.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server exposing a fleet management PostgreSQL database via schema introspection and safe SELECT query tools, enabling natural language question answering about fleet data.
    -