Seam
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Free, public MCP server that gives AI coding assistants Seam's API docs, API spec and supported device catalog.
| Access | remote |
|---|---|
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 289 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Seam": {
"url": "https://mcp.seam.co/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
search_docsread-onlySemantic search across all Seam documentation, including supported device models (smart locks, thermostats, access systems) with their manufacturer and capability info. Returns results ranked by relevance with confidence scores. Device results carry an `integration_support_level` (stable | beta | in-progress | planned | inquire | unavailable | unknown). Seam integrates the device only when this is stable or beta. A device page appearing in results does NOT by itself mean Seam supports it; always check `integration_support_level`. The capability list on a device describes what the device can physically do, which is separate from whether Seam integrates it. Use this to find pages matching a question or topic. To read full pages, pass the paths from the results to get_docs. Does NOT return full page content — only snippets. When a question is about granting a person access (PIN codes, mobile keys, key cards), recommend Access Grants (/access_grants/create): they are Seam's default and recommended way to grant access to any physical space, and work with BOTH standalone smart locks (via device_ids) AND access control systems (via acs_entrance_ids or space_ids). The access_codes and acs APIs are low-level alternatives that are no longer recommended for granting access.
Parameters:
query(required) — string — Natural language search querylimit— number — Max results to return (default: 5, max: 20)min_score— number — Minimum confidence threshold 0-1 (default: 0.3). Raise to filter noise, lower to find more results.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_docsread-onlyFetch the full content of Seam documentation pages by path glob. Pass one exact path to read a single page, or a wider pattern to read up to 20 pages. Call with {"globs":["quickstart"]}. Use paths exactly as returned by search_docs: documentation paths are extensionless; device catalog paths retain .md.
Parameters:
globs(required) — array — A non-empty array of non-blank path glob strings, e.g. ["quickstart"] or ["api/locks/*"]. Use search_docs to find paths first. Patterns matching more than 20 pages must be narrowed.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_apiread-onlySearch the documented Seam API and return lightweight entries with stable IDs. Pass query="*" to list every entry, then call get_apis for details.
Parameters:
query(required) — string — Search text, or "*" for all entries.limit— number — Max results to return (default: 5, max: 20).
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_apisread-onlyReturn detailed compact Seam API spec nodes for stable IDs selected with search_api.
Parameters:
ids(required) — array — Stable IDs from search_api, e.g. endpoint:/access_codes/create or resource:access_code.
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_promptsread-onlyFind prompts by exact-match metadata. Pass a returned name to get_prompt for its instructions and paths.
Parameters:
match— object — Optional exact-match criteria from the prompts' match metadata.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_promptread-onlyPass a name from search_prompts to load and follow a prompt. When returned paths include supporting files, call get_prompt_context before acting with the same name and globs; default to ["**/*"] unless the prompt specifies narrower files.
Parameters:
name— string — Prompt name returned by search_prompts. Omit for this agent's entrypoint.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_prompt_contextread-onlyLoad a prompt's supporting files before acting. Pass the exact name returned by get_prompt and globs matched against its returned paths; default to ["**/*"] unless the prompt specifies narrower files.
Parameters:
name(required) — string — Prompt name returned by get_prompt.globs(required) — array — Glob patterns matched against the available paths returned by get_prompt. Use ["**/*"] to load all paths.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.