1. Conduid
  2. Social
  3. SmartThings MCP
MCP server · Social

SmartThings MCP

MCP server for the SmartThings API

Unclaimed last commit 10 months ago social
34Low

Scored 11 days ago · breakdown

About SmartThings MCP

SmartThings MCP is an MCP server published by langowarny in the Social category: mCP server for the SmartThings API.

The repository has 4 stars and 3 forks, with the last commit 10 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/langowarny/smartthings-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (22)

create_room`location_id`, `name`

Parameters not published.

create_schedule`installed_app_id`, `name`, `cron`

Parameters not published.

create_subscription`installed_app_id`, `device_id`, ...

Parameters not published.

delete_room`location_id`, `room_id`

Parameters not published.

delete_schedule`installed_app_id`, `schedule_id`

Parameters not published.

delete_subscription`installed_app_id`, `subscription_id`

Parameters not published.

execute_scene`scene_id`

Parameters not published.

get_capability`capability_id`, `version`

Parameters not published.

get_device`device_id`

Parameters not published.

get_device_history`device_id`

Parameters not published.

Show all 22 tools
get_device_status`device_id`

Parameters not published.

get_hub_health`hub_id`

Parameters not published.

list_device_capabilities`device_id`

Parameters not published.

list_devices`location_id?`

Parameters not published.

list_hubs–

Parameters not published.

list_locations–

Parameters not published.

list_rooms`location_id`

Parameters not published.

list_rules–

Parameters not published.

list_scenes–

Parameters not published.

list_schedules`installed_app_id`

Parameters not published.

list_subscriptions`installed_app_id`

Parameters not published.

send_device_command`device_id`, `component`, `capability`, `command`, `arguments?[]`

Parameters not published.

Ask AI

✦

Ask AI about SmartThings MCP

Powered by Claude · Grounded in docs

I know everything about SmartThings MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Lango SmartThings MCP Server

smithery badge

A Model Context Protocol (MCP) server that exposes Samsung SmartThings Public API as LLM-friendly tools, resources and real-time events.

Features

  • Lazy Loading: Tools are discoverable without authentication - only validates API keys when tools are invoked
  • Wraps common SmartThings operations as MCP Tools
    • Devices: list_devices, get_device, get_device_status, list_device_capabilities, send_device_command
    • Locations & Rooms: list_locations, list_rooms, create_room, delete_room
    • Scenes & Rules: list_scenes, execute_scene, list_rules
    • Hubs: list_hubs, get_hub_health
    • Subscriptions: list_subscriptions, create_subscription, delete_subscription
    • Schedules: list_schedules, create_schedule, delete_schedule
    • History: get_device_history
    • Capabilities: get_capability
  • Exposes device / status / location data as MCP Resources with read-through cache
  • Supports all official MCP-Go transports
    • Stdio (CLI / local), StreamableHTTP, Server-Sent Events (SSE)
  • Periodic poller publishes live device status to SSE clients
  • Zero external dependencies apart from mcp-go and zap logger

Requirements

  • Go ≥ 1.23
  • A valid SmartThings PAT (Personal Access Token)

Getting a Personal Access Token (PAT)

  1. Go to SmartThings Personal Access Tokens.
  2. Log in with your Samsung Account.
  3. Click Generate new token.
  4. Enter a name for your token and select the authorized scopes (e.g., devices, locations, scenes, rules, schedules).
  5. Click Generate token.
  6. Copy and save the token immediately (it won't be shown again).

Environment Variables

Name Default Description
smartThingsToken, SMARTTHINGS_TOKEN – Bearer token for SmartThings API. Required for SmartThings operations, but server will start without it for tool discovery
stBaseUrl, ST_BASE_URL https://api.smartthings.com Override for testing / mock servers
MCP_LOG_LEVEL info debug

Installation

Installing via Smithery

To install smartthings-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @langowarny/smartthings-mcp --client claude

Manual Installation

git clone https://github.com/langowarny/smartthings-mcp.git
cd smartthings-mcp
go mod download

Running

Stdio

SMARTTHINGS_TOKEN=123ab456-xxx... go run ./cmd/server -transport stdio

StreamableHTTP

SMARTTHINGS_TOKEN=123ab456-xxx... \
  go run ./cmd/server -transport stream -host 0.0.0.0 -port 8081

Test request:

curl -X POST http://localhost:8081/mcp/tools/call \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_devices"}}'

SSE

SMARTTHINGS_TOKEN=123ab456-xxx... \
  go run ./cmd/server -transport sse -host 0.0.0.0 -port 8081

# Open event stream
echo -e 'GET /mcp/sse HTTP/1.1\nHost: localhost:8081\n\n' | nc localhost 8081

The server emits smartthings/device_status notifications every 30 seconds.

Tool Catalogue

Tool Params Description
list_devices location_id? List user devices
get_device device_id Device metadata
get_device_status device_id Live status
list_device_capabilities device_id Supported capabilities
send_device_command device_id, component, capability, command, arguments?[] Issue command
list_locations – List locations
list_rooms location_id List rooms in a location
create_room location_id, name Create a new room
delete_room location_id, room_id Delete a room
list_scenes – List all scenes
execute_scene scene_id Trigger scene
list_rules – List automation rules
list_hubs – List hubs
get_hub_health hub_id Get hub health status
list_subscriptions installed_app_id List subscriptions
create_subscription installed_app_id, device_id, ... Subscribe to device events
delete_subscription installed_app_id, subscription_id Delete subscription
list_schedules installed_app_id List schedules
create_schedule installed_app_id, name, cron Create cron schedule
delete_schedule installed_app_id, schedule_id Delete schedule
get_device_history device_id Get recent device events
get_capability capability_id, version Get capability definition

Resource Patterns

URI Template Description MIME
st://devices/{device_id} Device metadata application/json
st://devices/{device_id}/status Live status application/json
st://locations/{location_id} Location metadata application/json

Development

go vet ./...
go test ./...
go run ./cmd/server -transport stream

Logs are emitted via Uber Zap; adjust MCP_LOG_LEVEL for verbosity.

License

MIT © 2025 Lango Warny

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About SmartThings MCP

How do I install SmartThings MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is SmartThings MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is SmartThings MCP still maintained?

The last commit was 10 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.