Skip to main content
Glama

Seam MCP Server

by keithah

Seam MCP Server

A Model Context Protocol (MCP) server for controlling smart locks via the Seam API.

Features

This MCP server provides comprehensive tools for managing smart locks and access codes:

Lock Control

  • list_locks - List all smart locks connected to your Seam account

  • get_lock - Get detailed information about a specific lock

  • lock_door - Lock a specific door

  • unlock_door - Unlock a specific door

  • get_lock_status - Get the current lock status with battery level and online status

Access Code Management

  • create_access_code - Create an access code on a single lock with optional time limits

  • create_access_code_on_multiple_locks - Create the same code on multiple locks (with location filtering)

  • list_access_codes - List all access codes, optionally filtered by device

  • update_access_code - Update an existing access code

  • delete_access_code - Delete an access code

Prerequisites

  1. A Seam account - Sign up at https://console.seam.co/

  2. A Seam API key - Generate one from your Seam console

  3. At least one smart lock connected to your Seam account

Installation

Using with Smithery

  1. Install via Smithery:

npx @smithery/cli install seam-mcp
  1. Configure your Seam API key when prompted

Manual Installation (for development)

  1. Clone this repository:

git clone https://github.com/yourusername/seam-mcp.git cd seam-mcp
  1. Install dependencies:

npm install

The build will run automatically after installation.

Usage

With Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

If installed via npm:

{ "mcpServers": { "seam": { "command": "node", "args": ["/path/to/seam-mcp/.smithery/stdio/index.cjs"], "env": { "SEAM_API_KEY": "your-seam-api-key-here" } } } }

Or using npx (after publishing):

{ "mcpServers": { "seam": { "command": "npx", "args": ["-y", "seam-mcp"], "env": { "SEAM_API_KEY": "your-seam-api-key-here" } } } }

With Smithery

After installation via Smithery, configure your API key in the Smithery dashboard. The server will be automatically available to Claude and other MCP clients.

Development

Run the development server with live reload:

npm run dev

Build for production:

npm run build

Build for both stdio and HTTP transports:

npm run build:all

Example Usage

Once configured, you can ask Claude to:

Lock Control

  • "List all my smart locks"

  • "Unlock the front door"

  • "What's the status of my garage lock?"

  • "Lock the back door"

  • "Show me the battery level of all my locks"

Access Code Management

  • "Create an access code 1234 named 'Guest Code' on all my locks in Seattle"

  • "Create a temporary access code for my cleaner from January 1st to January 15th"

  • "List all access codes on my front door"

  • "Delete the access code named 'Old Guest Code'"

  • "Create access code 5678 named 'Airbnb Guest' that works from next Monday at 3pm to next Friday at 11am"

Configuration

The server requires a Seam API key. Get yours from the Seam Console.

When using with Smithery, the API key is securely stored and managed through the Smithery platform.

Supported Lock Brands

Seam supports 100+ smart lock brands including:

  • August

  • Yale

  • Schlage

  • Kwikset

  • Baldwin

  • Lockly

  • Tedee

  • And many more...

Check the Seam Device Catalog for the complete list.

API Reference

Lock Control Tools

list_locks()

Returns all locks in your Seam account with basic information including name, manufacturer, model, lock status, battery level, and online status.

get_lock(device_id)

Gets detailed information about a specific lock including capabilities, errors, warnings, and location.

lock_door(device_id)

Locks the specified door and returns the action attempt details.

unlock_door(device_id)

Unlocks the specified door and returns the action attempt details.

get_lock_status(device_id)

Gets the current lock/unlock status along with battery level and online status.

Access Code Management Tools

create_access_code(device_id, name, code?, starts_at?, ends_at?)

Creates an access code on a single lock. The code parameter is optional (random code generated if not provided). Time limits are optional - omit them for permanent codes.

Example:

{ device_id: "abc123", name: "Guest Code", code: "1234", starts_at: "2025-01-01T16:00:00Z", ends_at: "2025-01-15T12:00:00Z" }

create_access_code_on_multiple_locks(device_ids, name, code?, starts_at?, ends_at?, location_filter?)

Creates the same access code on multiple locks. Supports location-based filtering to target locks by location name.

Example with location filter:

{ device_ids: [], // Can be empty when using location_filter name: "Seattle Guest Code", code: "5678", location_filter: "Seattle" // Will find all locks with "Seattle" in their location or name }

list_access_codes(device_id?)

Lists all access codes. Optionally filter by device_id to see codes for a specific lock.

update_access_code(access_code_id, name?, code?, starts_at?, ends_at?)

Updates an existing access code. All parameters except access_code_id are optional.

delete_access_code(access_code_id)

Permanently deletes an access code from the lock.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues related to:

Links

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables control of smart locks through the Seam API, allowing users to lock/unlock doors, check status, and manage access codes across 100+ supported lock brands. Supports comprehensive access code management including temporary codes and multi-lock operations.

  1. Features
    1. Lock Control
    2. Access Code Management
  2. Prerequisites
    1. Installation
      1. Using with Smithery
      2. Manual Installation (for development)
    2. Usage
      1. With Claude Desktop
      2. With Smithery
    3. Development
      1. Example Usage
        1. Lock Control
        2. Access Code Management
      2. Configuration
        1. Supported Lock Brands
          1. API Reference
            1. Lock Control Tools
            2. Access Code Management Tools
          2. License
            1. Contributing
              1. Support
                1. Links

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/keithah/seam-mcp'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server