Skip to main content
Glama
norman2112

bhyve-mcp

by norman2112

bhyve-mcp

An MCP server for Orbit B-Hyve smart irrigation systems. Query device status, zones, and watering history — or start/stop watering, set rain delays, and manage programs — from Claude Code, Cursor, or any MCP-compatible client.

Why This Exists

I built this to control my sprinkler system from the same AI tools I use for everything else. Instead of opening the B-Hyve app to check zone status or adjust a rain delay, I can do it from a Claude conversation or a Cursor terminal.

It's also a good example of an MCP server that bridges REST (reads) and WebSocket (writes) APIs under a single interface — a different integration pattern than my other MCP servers which are pure REST or REST+SOAP.

Related MCP server: cursor-mcp-server

Features

  • Read tools: list devices, device status, zones, programs, watering history

  • Write tools: start/stop watering, rain delay, device mode, program updates, smart watering toggle

  • Resources: bhyve://devices and bhyve://device/{device_id}/zones

  • Transport: stdio (local MCP)

Requirements

  • Python 3.10+

  • uv (recommended) or pip

  • Orbit B-Hyve account

Setup

  1. Clone this repo and install dependencies:

cd bhyve-mcp
uv sync
  1. Copy credentials:

cp .env.example .env
# Edit .env with your BHYVE_EMAIL and BHYVE_PASSWORD

Cursor / Claude Code configuration

Add to ~/.cursor/mcp.json or your project's .mcp.json:

{
  "mcpServers": {
    "bhyve": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/bhyve-mcp",
        "python",
        "-m",
        "bhyve_mcp.server"
      ],
      "env": {
        "BHYVE_EMAIL": "your-email@example.com",
        "BHYVE_PASSWORD": "your-password"
      }
    }
  }
}

Replace /path/to/bhyve-mcp with the absolute path to this directory.

Development

# Run tests
uv run pytest

# Interactive MCP testing
uv run mcp dev src/bhyve_mcp/server.py

Architecture

  • FastMCP (mcp Python SDK) — MCP tool/resource server over stdio

  • Vendored pybhyve — B-Hyve REST + WebSocket client (from sebr/bhyve-home-assistant)

  • Session wrapper — lazy auth, token refresh on 401/403, structured errors

Write operations (start watering, rain delay, etc.) use the B-Hyve WebSocket API. Read operations use REST polling.

Safety

  • start_watering defaults to a 30-minute max unless allow_extended_runtime=true

  • Rain delay capped at 168 hours (7 days)

  • Watering duration capped at 120 minutes

License

MIT

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An MCP server wrapping the Cursor CLI agent, enabling Claude Code and other MCP clients to delegate tasks to Cursor's AI agent for file writing, bash commands, and codebase queries.
    Last updated
  • F
    license
    -
    quality
    C
    maintenance
    MCP server for Hunter Hydrawise irrigation controllers, exposing the Hydrawise REST API as tools for AI agents to manage watering schedules and controller settings.
    Last updated

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

View all MCP Connectors

Latest Blog Posts

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/norman2112/bhyve-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server