# Seam

```json
{
  "name": "Seam",
  "slug": "seam",
  "url": "https://composio.dev/toolkits/seam",
  "markdown_url": "https://composio.dev/toolkits/seam.md",
  "logo_url": "https://logos.composio.dev/api/seam",
  "categories": [
    "workflow automation"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-20T15:34:00.474Z"
}
```

![Seam logo](https://logos.composio.dev/api/seam)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Seam MCP or direct API to list devices, unlock doors, create access codes, read sensor state, and adjust thermostats through natural language.

## Summary

Seam is a connected device API for smart locks, access systems, thermostats, sensors, and other workspace devices.
It gives developers one clean interface to manage building access and device state across many hardware brands.

## Categories

- workflow automation

## Toolkit Details

- Tools: 10

## Images

- Logo: https://logos.composio.dev/api/seam

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Seam.
  - Setup:
    - Configure Api Key credentials for Seam.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Unlock front door for guest arrival
- Create temporary access code for cleaners
- Check thermostat and sensor status

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SEAM_ADD_ACCESS_METHODS_TO_GRANT` | Add Access Methods to Grant | Request additional PIN, card, mobile-key, or cloud-key methods for an existing access grant. |
| `SEAM_CREATE_ACCESS_GRANT` | Create Access Grant | Grant an existing or new user identity access to spaces, devices, or access-control entrances, requesting PIN, card, mobile-key, or cloud-key methods. |
| `SEAM_DELETE_ACCESS_GRANT` | Delete Access Grant | Permanently revoke and delete an access grant by UUID, removing the access it manages. |
| `SEAM_GET_ACCESS_GRANT` | Get Access Grant | Get one access grant by its Seam UUID or unique workspace key. |
| `SEAM_LIST_ACCESS_GRANTS` | List Access Grants | List access grants in the workspace, optionally filtered by space, device, entrance, user identity, reservation, customer, key, or IDs; returns one cursor-controlled page. |
| `SEAM_LIST_ACTION_ATTEMPTS` | List Action Attempts | Inspect asynchronous Seam operation status, errors, and results in bulk by action-attempt IDs or by device, returning one cursor-controlled page. |
| `SEAM_LIST_CONNECTED_ACCOUNTS` | List Connected Accounts | List and search provider accounts connected to the workspace, optionally filtering by space, customer, user, or metadata; returns one cursor-controlled page. |
| `SEAM_LIST_DEVICES` | List Devices | List and search devices in the workspace, optionally filtering by account, space, IDs, type, manufacturer, customer, creation time, or metadata; returns one cursor-controlled page. |
| `SEAM_LIST_SPACES` | List Spaces | List and search spaces in the workspace by name, key, or customer, returning one cursor-controlled page of grantable locations. |
| `SEAM_UPDATE_ACCESS_GRANT` | Update Access Grant | Update an access grant's name or validity window by UUID or unique workspace key. Provide at least one of name, starts_at, or ends_at. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Seam Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Seam actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List all smart locks in my Seam workspace'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List all smart locks in my Seam workspace'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Seam
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Seam tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List all smart locks in my Seam workspace')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'List all smart locks in my Seam workspace'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Seam Integration

- Supports both Seam MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable smart lock, access code, thermostat, and sensor actions
- Rich coverage for reading, writing, and querying connected devices in your Seam workspace

### 2. Managed Auth

- Seam uses API key authentication, so you bring your own Seam API key
- Composio keeps credentials out of agent prompts, logs, and application code
- Central place to manage, scope, and revoke Seam access across users and environments

### 3. Agent Optimized Design

- Tools are tuned for real agent workflows like listing locks, checking device status, and creating temporary access codes
- Clear execution logs so you can see which Seam action ran, when it ran, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Seam tools
- Scoped, least privilege access to locks, access systems, thermostats, and sensors
- Full audit trail of agent actions to support review, operations, and compliance

## Use Seam with any AI Agent Framework

Choose a framework you want to connect Seam with:

None listed.

## Related Toolkits

- [0CodeKit](https://composio.dev/toolkits/0codekit) - 0CodeKit is a utility API platform for AI, document, image, and data workflows. Use it to convert, validate, generate, store, and automate data without custom backend code.
- [Airtop](https://composio.dev/toolkits/airtop) - Airtop is a cloud browser platform for AI-powered web automation. Use it to navigate sites, extract data, and run reusable browser workflows.
- [Apify MCP](https://composio.dev/toolkits/apify_mcp) - Apify MCP is the official MCP server for Apify's web scraping and browser automation platform. Use it to run actors, collect structured web data, and automate crawling workflows.
- [Apilio](https://composio.dev/toolkits/apilio) - Apilio is a home automation platform that lets you connect and control smart devices from different brands. It helps you build flexible automations with complex conditions, schedules, and integrations.
- [Basin](https://composio.dev/toolkits/basin) - Basin is a no-code form backend for quickly setting up reliable contact forms. It lets you collect and manage form submissions without writing any server-side code.
- [Bika.ai](https://composio.dev/toolkits/bika) - Bika.ai is an AI automation database platform for managing spaces, teams, records, automations, and outgoing webhooks. It helps teams organize structured data and automate database-driven workflows in one place.
- [Botster](https://composio.dev/toolkits/botster) - Botster is a web automation service for running configurable data collection bots. Use it to collect structured web data without building and maintaining scrapers yourself.
- [Bouncer](https://composio.dev/toolkits/bouncer) - Bouncer is an email validation platform that verifies the authenticity of email addresses in real-time and batch. It helps boost deliverability and reduce bounce rates for your communications.
- [BrowserAct](https://composio.dev/toolkits/browseract) - BrowserAct is a hosted browser-automation service for running web workflows. Use it to execute repeatable browser tasks with templates, proxies, and APIs.
- [Celigo](https://composio.dev/toolkits/celigo) - Celigo is an integration platform as a service for connecting apps, data, and business workflows. It helps teams automate cross-system processes without building every integration from scratch.
- [CheckFlow](https://composio.dev/toolkits/checkflow) - CheckFlow is a workflow and checklist platform for repeatable processes, tasks, templates, teams, data sets, and automation. Use it to standardize operations, track process execution, and keep teams aligned.
- [Conveyor](https://composio.dev/toolkits/conveyor) - Conveyor is a platform that automates security reviews with a Trust Center and AI-driven questionnaire automation. It streamlines compliance and vendor security processes for faster, hassle-free reviews.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Crowdin](https://composio.dev/toolkits/crowdin) - Crowdin is a localization management platform that streamlines translation workflows and collaboration. It helps teams centralize multilingual content, boost productivity, and automate translation processes.
- [Databox](https://composio.dev/toolkits/databox) - Databox is a business analytics platform that connects your data from any tool and device. It helps you track KPIs, build dashboards, and discover actionable insights.
- [Detrack](https://composio.dev/toolkits/detrack) - Detrack is a delivery management platform for real-time tracking and proof of delivery. It helps businesses automate notifications and keep customers updated every step of the way.
- [Digital Humani](https://composio.dev/toolkits/digital_humani) - Digital Humani is a reforestation API for browsing planting projects, submitting tree requests, and tracking planted trees. It helps teams connect climate action directly to products, campaigns, and customer experiences.
- [Dnsfilter](https://composio.dev/toolkits/dnsfilter) - Dnsfilter is a cloud-based DNS security and content filtering solution. It helps organizations block online threats and manage safe internet access with ease.
- [EnforcedFlow](https://composio.dev/toolkits/enforcedflow) - EnforcedFlow is a work routing platform for advanced round-robin groups, agent criteria, availability, and email assignments. It helps teams distribute work fairly and quickly using configurable assignment rules.
- [Faraday](https://composio.dev/toolkits/faraday) - Faraday lets you embed AI in workflows across your stack for smarter automation. It boosts your favorite tools with actionable intelligence and seamless integration.

## Frequently Asked Questions

### Do I need my own developer credentials to use Seam with Composio?

Yes, Seam requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
