mcpField
S
smartrent-mcp

smartrent-mcp

Local
github.com/Evin009Other0Updated 1d ago

About smartrent-mcp

smartrent-mcp is an MCP server for controlling SmartRent-connected home devices through Claude. It offers status checks and controls for locks, switches and thermostats, with local stdio and remote SSE modes.

Key features

  1. 01Read status of home devices
  2. 02Switch lights on and off
  3. 03Lock or unlock doors
  4. 04Set thermostat temperature and mode
  5. 05Run locally or in remote SSE mode

Use cases

  1. 01Checking the status of SmartRent devices
  2. 02Turning lights on or off by name
  3. 03Changing the thermostat or locking a door

MCP support

The server exposes device status and control tools to MCP clients. It runs over stdio for local Claude Desktop use or can be self-hosted in SSE mode for remote connections.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"evin009-smartrent": {
"command": "uvx",
"args": [
"smartrent-mcp"
],
"env": {
"SMARTRENT_EMAIL": "<SMARTRENT_EMAIL>",
"SMARTRENT_PASSWORD": "<SMARTRENT_PASSWORD>"
}
}
}
}
Run commanduvx smartrent-mcp
Environment variables to set
SMARTRENT_EMAILYour SmartRent account email
SMARTRENT_PASSWORDSecretYour SmartRent account password

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypismartrent-mcp0.1.2

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

SmartRent MCP

SmartRent MCP server

PyPI version Python versions License: MIT

An MCP (Model Context Protocol) server that lets Claude control your SmartRent smart home devices — locks, thermostat, light switches, and sensors — through natural conversation.

You: "Turn off the kitchen lights and lock the front door"
Claude: "Kitchen turned off. Front Door - Lock is now locked."

Table of Contents


Requirements

  • A SmartRent account with devices already set up in the SmartRent app (this only works if your building/home uses SmartRent hardware — front door locks, thermostats, switches, or sensors)
  • Python 3.10+
  • Either uv or pip — you likely already have one of these

Installation

Option A — using uv (recommended, no separate install step)

If you don't have uv yet, install it once:

# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

That's it — uvx will download and run the package automatically the first time Claude needs it. No manual install command required.

Option B — using plain pip

pip install smartrent-mcp

Setup — Claude Desktop

1. Open your Claude Desktop config file
  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
2. Add the server entry

If you installed via uv (Option A):

{
  "mcpServers": {
    "smartrent-mcp": {
      "command": "uvx",
      "args": ["smartrent-mcp"],
      "env": {
        "SMARTRENT_EMAIL": "your_smartrent_email",
        "SMARTRENT_PASSWORD": "your_smartrent_password"
      }
    }
  }
}

If you installed via pip (Option B):

{
  "mcpServers": {
    "smartrent-mcp": {
      "command": "smartrent-mcp",
      "env": {
        "SMARTRENT_EMAIL": "your_smartrent_email",
        "SMARTRENT_PASSWORD": "your_smartrent_password"
      }
    }
  }
}

If you already have other servers under "mcpServers", just add "smartrent-mcp" as another entry — don't replace the existing ones.

3. Restart Claude Desktop

Fully quit the app (Cmd+Q on Mac, or right-click the tray icon and Quit on Windows) and reopen it. Closing the window alone is not enough.

4. Try it

Ask Claude:

  • "What's the status of my home?"
  • "Turn on the kitchen lights"
  • "Lock the front door"
  • "Set temperature to 72 cool mode"

Setup — Claude Web

Claude Web only connects to remote MCP servers over a URL — it cannot run local commands like uvx. To use this server with Claude Web, you need to self-host a remote instance. See Self-Hosting below, then add your deployed URL in Claude Web → Settings → MCP Servers.


Available Tools

ToolDescriptionParameters
pingTest that the server is alivenone
get_device_statusRead the status of all devices — locks, thermostat, switches, sensorsnone
switch_controlTurn a light switch on or offname (e.g. "kitchen"), action ("on" / "off")
lock_doorLock or unlock the front dooraction ("lock" / "unlock")
set_temperatureSet thermostat temperature, mode, and unittemperature (int), mode ("cool" / "heat" / "auto" / "off", default "cool"), unit ("F" / "C", default "F")

Device matching is partial and case-insensitive — "dining" will match a switch named "Dining Room".


Self-Hosting (Remote / SSE mode)

By default this package runs in stdio mode for local use with Claude Desktop. To run it as a remote, always-on server (for Claude Web or shared use), set the TRANSPORT environment variable:

TRANSPORT=sse [email protected] SMARTRENT_PASSWORD=yourpassword smartrent-mcp

This starts an HTTP/SSE server (default port 8000, override with PORT). Deploy it anywhere that runs Python — Railway, Render, Fly.io, etc. — with these environment variables set:

VariableRequiredDescription
SMARTRENT_EMAILYesYour SmartRent account email
SMARTRENT_PASSWORDYesYour SmartRent account password
TRANSPORTNostdio (default) or sse
PORTNoPort to listen on in sse mode (default 8000)

Once deployed, connect to it at https://your-deployment-url/sse.


Troubleshooting

"Invalid Host header" or connection refused on a remote deployment The server disables DNS rebinding protection by default to support remote access. If you've changed this, make sure TransportSecuritySettings(enable_dns_rebinding_protection=False) is set in server.py.

Claude Desktop doesn't show any tools Make sure you fully quit and restarted the app (not just closed the window). Check the MCP logs:

  • Mac: ~/Library/Logs/Claude/mcp-server-smartrent-mcp.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-smartrent-mcp.log

"Username or password was wrong" Verify your SmartRent credentials work by logging into the SmartRent mobile app with the same email/password.

"No switch/lock/thermostat found on this account" Your SmartRent account needs the corresponding device type already set up in the SmartRent app.


Security

Your SmartRent credentials are passed as environment variables directly to the server process and are never sent anywhere except SmartRent's own login API. They are not logged or stored by this package.

If you're self-hosting in sse mode, anyone with your server's URL can control your home — there is currently no authentication layer on remote mode. Keep your deployment URL private, or restrict network access to it.


Built With

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.