Samsung SmartThings Integration
Manage SmartThings locations, rooms, devices, commands, scenes, and rules
The Samsung SmartThings integration provides access to manage SmartThings locations, rooms, devices, commands, scenes, and rules through the Integrate MCP server.
Installation
The Samsung SmartThings integration is included with the SDK:
import { smartthingsIntegration } from "integrate-sdk/server";Setup
1. Create a Samsung SmartThings OAuth App
- Create an OAuth application for Samsung SmartThings
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Samsung SmartThings integration to your server configuration. The integration automatically reads SMARTTHINGS_CLIENT_ID and SMARTTHINGS_CLIENT_SECRET from your environment variables:
import { createMCPServer, smartthingsIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
smartthingsIntegration({
scopes: ["r:locations:*", "x:locations:*", "r:devices:*", "x:devices:*", "r:scenes:*", "x:scenes:*", "r:rules:*", "x:rules:*"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
smartthingsIntegration({
clientId: process.env.CUSTOM_SMARTTHINGS_ID,
clientSecret: process.env.CUSTOM_SMARTTHINGS_SECRET,
scopes: ["r:locations:*", "x:locations:*", "r:devices:*", "x:devices:*", "r:scenes:*", "x:scenes:*", "r:rules:*", "x:rules:*"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("smartthings");
const result = await client.smartthings.listLocations({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, smartthingsIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [smartthingsIntegration()],
});Configuration Options
Prop
Type
Default Scopes
These defaults are applied unless you override scopes in the integration config:
r:locations:*x:locations:*r:devices:*x:devices:*r:scenes:*x:scenes:*r:rules:*x:rules:*
Tools
smartthings_list_locations
List locations
No parameters.
smartthings_get_location
Get location
Prop
Type
smartthings_list_rooms
List rooms
Prop
Type
smartthings_get_room
Get room
Prop
Type
smartthings_list_devices
List devices
Prop
Type
smartthings_get_device
Get device
Prop
Type
smartthings_get_device_status
Get device status
Prop
Type
smartthings_execute_device_command
Execute device command
Prop
Type
smartthings_list_scenes
List scenes
Prop
Type
smartthings_execute_scene
Execute scene
Prop
Type
smartthings_list_rules
List rules
Prop
Type
smartthings_get_rule
Get rule
Prop
Type
smartthings_create_rule
Create rule
Prop
Type
smartthings_update_rule
Update rule
Prop
Type
smartthings_delete_rule
Delete rule
Prop
Type
Notes
- Category: Lifestyle
- Authentication mode: OAuth