Skip to content

benhodgson87/fireboard-mcp

Repository files navigation

Fireboard MCP

MCP server for the Fireboard BBQ temperature monitoring API. Exposes tools for querying devices, live probe temperatures, Drive fan controller status and control, and historical cook sessions from any MCP-compatible AI assistant.

Live endpoint: https://fireboard-mcp.up.railway.app/mcp

Authentication

This server uses OAuth 2.0 with PKCE and Dynamic Client Registration — the standard required by MCP clients such as ChatGPT and Claude.

Fireboard's own API has no OAuth support; it only issues tokens via a username/password exchange. This server wraps that exchange behind a proper OAuth 2.0 flow: when you connect your AI assistant it opens a login page hosted by the MCP server, you enter your Fireboard credentials, and the server exchanges them with the Fireboard API for an access token. Your credentials are forwarded directly and are never stored — only the resulting API token is held in memory to authenticate tool calls on your behalf.

Note: The token is stored in memory only. If the server restarts (e.g. after a deploy), you will need to re-authenticate.

Connecting your AI assistant

Visit https://fireboard-mcp.up.railway.app for setup instructions for ChatGPT, Claude, Claude Code, and Gemini.

The MCP endpoint is: https://fireboard-mcp.up.railway.app/mcp

Tools

Rate limit: 17 calls per 5-minute window. See Fireboard API docs.

Tool What it does API calls
list_devices All Fireboard devices on the account Cached (2 min TTL); 1 call on cache miss
get_realtime_temps Current probe readings for all devices or a named device Cached (2 min TTL); 1 call on cache miss
get_drive_status Real-time Fireboard Drive fan %, setpoint, and control mode 1
set_drive_setpoint Set target temperature and/or control channel (auto mode) 1–2
set_drive_speed Set fan to a fixed speed (manual mode) 1
set_drive_off Turn the Drive fan off 1
list_sessions Recent cook sessions 1
get_session_detail Session metadata and cook notes 1
get_session_chart Full temperature time-series 1
get_all_session_data Metadata, notes, and time-series in one call 2

Running locally

npm install
npm run dev

Server starts at http://localhost:3000. MCP endpoint: http://localhost:3000/mcp.

Environment variables

Variable Required Default Description
PUBLIC_DOMAIN In production localhost:3000 Hostname (no protocol) used to build OAuth redirect URLs and the MCP endpoint. Must be set correctly in production — wrong value breaks OAuth.
PORT No 3000 Port the HTTP server listens on.
NODE_ENV No Set to production to enable JSON structured logging.
FIREBOARD_API_BASE No https://fireboard.io/api/v1 Override the Fireboard API base URL (useful for testing).
FIREBOARD_CACHE_TTL_MS No 120000 Device list cache TTL in milliseconds.

About

Unofficial MCP server for the Fireboard BBQ temperature monitoring API

Topics

Resources

License

Stars

Watchers

Forks

Contributors