IntegrateIntegrate
Integrations

Sonos Integration

Manage Sonos list households, list groups, get playback status, control playback, get group volume

The Sonos integration provides access to manage Sonos list households, list groups, get playback status, control playback, get group volume through the Integrate MCP server.

Installation

The Sonos integration is included with the SDK:

import { sonosIntegration } from "integrate-sdk/server";

Setup

1. Create a Sonos OAuth App

  1. Create an OAuth application for Sonos
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Sonos integration to your server configuration. The integration automatically reads SONOS_CLIENT_ID and SONOS_CLIENT_SECRET from your environment variables:

import { createMCPServer, sonosIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    sonosIntegration({
      scopes: ["playback-control-all"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

sonosIntegration({
  clientId: process.env.CUSTOM_SONOS_ID,
  clientSecret: process.env.CUSTOM_SONOS_SECRET,
      scopes: ["playback-control-all"], // 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("sonos");
const result = await client.sonos.listHouseholds({});

console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, sonosIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [sonosIntegration()],
});

Configuration Options

Prop

Type

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • playback-control-all

Tools

sonos_list_households

List households

No parameters.

sonos_list_groups

List groups

Prop

Type

sonos_get_playback_status

Get playback status

Prop

Type

sonos_control_playback

Control playback

Prop

Type

sonos_get_group_volume

Get group volume

Prop

Type

sonos_set_group_volume

Set group volume

Prop

Type

Notes

  • Category: Lifestyle
  • Authentication mode: OAuth

On this page