Smart Home MCP API

OAuth2 авторизация для MCP API

Для доступа к MCP REST API используйте обычный OAuth2 Authorization Code flow. Bearer token затем передаётся в Authorization: Bearer <access_token> при вызовах /api/v1/*.

  1. Перенаправьте пользователя на /oauth/authorize?client_id=...&redirect_uri=...&response_type=code&scope=....
  2. После подтверждения доступа обменяйте полученный code на токены через POST /oauth/token.
  3. Используйте access_token как bearer для вызовов MCP API.
  4. Когда access_token истечёт, обновите его через POST /oauth/token с grant_type=refresh_token.
  5. Для отзыва текущего набора токенов вызовите POST /api/oauth/revoke с текущим bearer token.
POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&redirect_uri=https://example.com/callback
&code=AUTHORIZATION_CODE
POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&refresh_token=REFRESH_TOKEN
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET

Доступные MCP scopes сейчас включают smarthome.profile.read, smarthome.structure.read, smarthome.scenes.manage, smarthome.schedules.manage и smarthome.mqtt.connect.

Не путайте OAuth2 bearer token для MCP REST API с GET /api/v1/token. Этот endpoint выдаёт короткоживущий JWT только для MQTT-подключения.