beestat-mcp
Allows n8n to interact with the beestat API for ecobee thermostats, enabling automation of thermostat data retrieval and management via MCP Client node.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@beestat-mcpget thermostat data for thermostat 12345"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
beestat-mcp
Python MCP server that wraps the beestat API.
What this provides
A generic tool:
beestat_call(resource, method, arguments?, http_method?)Convenience tools for documented resources:
thermostat_read_idecobee_thermostat_read_idsensor_read_idecobee_sensor_read_idruntime_thermostat_readruntime_thermostat_summary_read_idruntime_sensor_readthermostat_syncsensor_syncruntime_sync
Related MCP server: Trello MCP Server
Setup
python -m venv .venv
source .venv/bin/activate
pip install -e .Set your beestat key:
export BEESTAT_API_KEY="your_api_key"Run server (default transport: streamable-http):
beestat-mcpOr force stdio:
beestat-mcp --transport stdioDocker
Build and run:
docker build -t beestat-mcp .
docker run --rm -p 8000:8000 \
-e BEESTAT_API_KEY="your_api_key" \
beestat-mcpOr with compose:
cat > .env << 'EOF'
BEESTAT_API_KEY=your_api_key
BEESTAT_MCP_PORT=8000
BEESTAT_MCP_STREAMABLE_HTTP_PATH=/mcp
EOF
docker compose up -d --buildn8n usage
Use n8n's MCP Client node with HTTP transport and point it at:
http://127.0.0.1:8000/mcpIf both n8n and this service run in Docker Compose, use:
http://beestat-mcp:8000/mcpIf n8n is in Docker and this server is on host, use host.docker.internal instead of 127.0.0.1.
Server config env vars:
BEESTAT_MCP_TRANSPORT(streamable-http,sse,stdio)BEESTAT_MCP_HOST(default0.0.0.0)BEESTAT_MCP_PORT(default8000)BEESTAT_MCP_STREAMABLE_HTTP_PATH(default/mcp)BEESTAT_MCP_MOUNT_PATH(default/)BEESTAT_MCP_SSE_PATH(default/sse)BEESTAT_MCP_MESSAGE_PATH(default/messages/)
Example MCP client config (Claude Desktop)
{
"mcpServers": {
"beestat": {
"command": "/home/lrw5016/projects/beestat-mcp/.venv/bin/beestat-mcp",
"env": {
"BEESTAT_API_KEY": "your_api_key"
}
}
}
}Notes
argumentsare forwarded directly to beestat as JSON.http_methodsupportsGET(default) andPOST.If beestat returns
success: false, the MCP tool now raises a clear error message.
Troubleshooting
If your agent hangs after lines like:
Calling MCP_Client with input: {"tool":"runtime_thermostat_read","arguments":{"thermostat_id":71384}}check these first:
Endpoint/network:
If n8n and beestat-mcp are in different compose projects,
127.0.0.1inside n8n is not your host.Use
http://host.docker.internal:8000/mcp(host service) or put both services on a shared Docker network and usehttp://beestat-mcp:8000/mcp.
Tool argument shape:
runtime_thermostat_readis not a good tool for "how long has heat run today".Use
runtime_thermostat_summary_read_idand aggregate summary fields for the target date.
Server logs:
docker compose logs -f beestat-mcpIf you see
beestat API error ..., that message now surfaces directly to the agent.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lukerweaver/beestat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server