mcpField
S
smartrent-mcp

smartrent-mcp

ローカル
github.com/Evin009その他01 日前に更新

smartrent-mcp について

smartrent-mcpは、ClaudeからSmartRent対応の家庭用デバイスを操作するMCPサーバーです。ロック、スイッチ、サーモスタットの状態確認と制御に対応し、ローカルのstdioとリモートのSSEモードを利用できます。

主な機能

  1. 01家庭用デバイスの状態確認
  2. 02照明スイッチのオン・オフ
  3. 03ドアの施錠・解錠
  4. 04サーモスタットの温度とモード設定
  5. 05ローカル実行またはリモートSSEモード

活用シーン

  1. 01SmartRentデバイスの状態確認
  2. 02名前を指定した照明のオン・オフ
  3. 03サーモスタットの調整やドアの施錠

MCP 対応

MCPクライアントにデバイスの状態確認・制御ツールを提供します。Claude Desktopのローカル利用ではstdioで動作し、リモート接続向けにSSEモードでセルフホストできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"evin009-smartrent": {
"command": "uvx",
"args": [
"smartrent-mcp"
],
"env": {
"SMARTRENT_EMAIL": "<SMARTRENT_EMAIL>",
"SMARTRENT_PASSWORD": "<SMARTRENT_PASSWORD>"
}
}
}
}
起動コマンドuvx smartrent-mcp
設定が必要な環境変数
SMARTRENT_EMAILYour SmartRent account email
SMARTRENT_PASSWORDシークレットYour SmartRent account password

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypismartrent-mcp0.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SmartRent MCP

SmartRent MCP server

PyPI version Python versions License: MIT

Claude が自然な会話を通じて SmartRent のスマートホームデバイス(ロック、サーモスタット、照明スイッチ、センサー)を操作できるようにする MCP(Model Context Protocol)サーバーです。

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

目次


要件

  • SmartRent アプリでデバイスのセットアップが完了している SmartRent アカウント(建物や自宅で SmartRent のハードウェア(玄関ドアのロック、サーモスタット、スイッチ、センサー)を使用している場合にのみ動作します)
  • Python 3.10+
  • uv または pip のいずれか。おそらく、すでにどちらかをお持ちです

インストール

オプション A — uv を使用(推奨、別途インストール不要)

まだ uv がない場合は、一度インストールしてください。

# 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"

これで完了です。Claude が初めてこのパッケージを必要としたときに、uvx が自動でダウンロードして実行します。手動で install コマンドを実行する必要はありません。

オプション B — 通常の pip を使用

pip install smartrent-mcp

セットアップ — Claude Desktop

1. Claude Desktop の設定ファイルを開く
  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
2. サーバーエントリーを追加する

uv でインストールした場合(オプション A):

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

pip でインストールした場合(オプション B):

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

"mcpServers" にすでにほかのサーバーがある場合は、既存のエントリーを置き換えずに、別のエントリーとして "smartrent-mcp" を追加してください。

3. Claude Desktop を再起動する

アプリを完全に終了して(Mac では Cmd+Q、Windows ではシステムトレイのアイコンを右クリックして「終了」を選択)、再度開いてください。ウィンドウを閉じるだけでは不十分です。

4. 試してみる

Claude に次のように尋ねてください。

  • 「自宅の状態はどうなっていますか?」
  • 「キッチンの照明をつけて」
  • 「玄関のドアをロックして」
  • 「温度を72度、冷房モードに設定して」

セットアップ — Claude Web

Claude Web は URL 経由でリモート MCP サーバーにのみ接続でき、uvx のようなローカルコマンドは実行できません。Claude Web でこのサーバーを使うには、リモートインスタンスをセルフホストする必要があります。下記のセルフホスティングを参照し、デプロイした URL を Claude Web → Settings → MCP Servers に追加してください。


利用可能なツール

ツール説明パラメーター
pingサーバーが稼働していることを確認しますなし
get_device_statusロック、サーモスタット、スイッチ、センサーなど、すべてのデバイスの状態を読み取りますなし
switch_control照明スイッチをオンまたはオフにしますname(例:"kitchen")、action("on"/"off")
lock_door玄関のドアをロックまたはロック解除しますaction("lock"/"unlock")
set_temperatureサーモスタットの温度、モード、単位を設定しますtemperature(整数)、mode("cool"/"heat"/"auto"/"off"、デフォルトは "cool")、unit("F"/"C"、デフォルトは "F")

デバイス名は部分一致で、大文字と小文字は区別されません。たとえば、"dining" は "Dining Room" という名前のスイッチに一致します。


セルフホスティング(リモート/SSE モード)

このパッケージはデフォルトで、Claude Desktop でのローカル利用向けに stdio モードで実行されます。リモートで常時稼働するサーバー(Claude Web または共有利用向け)として実行するには、TRANSPORT 環境変数を設定します。

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

これにより HTTP/SSE サーバーが起動します(デフォルトのポートは 8000 で、PORT で変更できます)。以下の環境変数を設定し、Railway、Render、Fly.io など、Python を実行できる場所にデプロイしてください。

変数必須説明
SMARTRENT_EMAILはいSmartRent アカウントのメールアドレス
SMARTRENT_PASSWORDはいSmartRent アカウントのパスワード
TRANSPORTいいえstdio(デフォルト)または sse
PORTいいえsse モードで待ち受けるポート(デフォルトは 8000)

デプロイしたら、https://your-deployment-url/sse に接続してください。


トラブルシューティング

リモートデプロイ時に「Invalid Host header」と表示される、または接続が拒否される リモートアクセスをサポートするため、サーバーではデフォルトで DNS リバインディング保護が無効になっています。設定を変更した場合は、TransportSecuritySettings(enable_dns_rebinding_protection=False) が server.py に設定されていることを確認してください。

Claude Desktop にツールが表示されない アプリを完全に終了してから再起動したことを確認してください(ウィンドウを閉じただけでは不十分です)。MCP のログを確認してください。

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

「Username or password was wrong」と表示される 同じメールアドレスとパスワードで SmartRent モバイルアプリにログインし、SmartRent の認証情報が正しいことを確認してください。

「No switch/lock/thermostat found on this account」と表示される SmartRent アカウントで、該当するデバイスタイプをあらかじめ SmartRent アプリに設定しておく必要があります。


セキュリティ

SmartRent の認証情報は環境変数としてサーバープロセスに直接渡され、SmartRent 独自のログイン API 以外に送信されることはありません。このパッケージによってログに記録されたり、保存されたりすることもありません。

sse モードでセルフホスティングする場合、サーバーの URL を知っている人は誰でも自宅を操作できます。リモートモードには現在、認証レイヤーがありません。デプロイ URL を非公開にするか、ネットワークアクセスを制限してください。


使用技術

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。