MCP Server
Connect AI agents and assistants to Seamless OS through the Model Context Protocol (MCP) server
Seamless OS ships a remote Model Context Protocol server, so AI agents and assistants — ChatGPT, Cursor, VS Code Copilot, or your own agent — can read and manage customers, subscriptions, licenses, and product catalogs on your platform using natural language.
The server is deployed per brand alongside your API, and every tool runs with the permissions of the signed-in user: an agent can only see and change what the person who authorized it can. The server is in preview — tools, resources, and their schemas may change while it matures.
Endpoint
| Transport | URL | Notes |
|---|---|---|
| Streamable HTTP | https://mcp.example.com/mcp |
Recommended for all current MCP clients. |
| SSE (legacy) | https://mcp.example.com/sse |
For clients that have not yet migrated to Streamable HTTP. |
Replace mcp.example.com with the MCP domain for your deployment — it lives next to your API domain.
Authentication
The server implements the standard MCP authorization flow: OAuth 2.0 with dynamic client registration and metadata discovery (/.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource).
In practice that means there is nothing to configure: paste the server URL into an MCP client, and it registers itself and opens a browser window where you sign in with your regular Seamless OS account. The client receives a token scoped to your user, and every tool call is authorized as you.
Connect a client
claude mcp add --transport http seamless-os https://mcp.example.com/mcpClaude Code discovers the OAuth configuration and prompts you to sign in on first use.
In ChatGPT, turn on developer mode (Settings → Connectors → Advanced → Developer mode, available on paid plans), then go to Settings → Connectors → Create and enter:
https://mcp.example.com/mcpChatGPT opens the sign-in flow when you create the connector; enable it in a conversation to use the tools.
Add the server to .cursor/mcp.json:
{
"mcpServers": {
"seamless-os": {
"url": "https://mcp.example.com/mcp"
}
}
}Cursor handles OAuth registration and sign-in automatically.
Add the server to .vscode/mcp.json:
{
"servers": {
"seamless-os": {
"type": "http",
"url": "https://mcp.example.com/mcp"
}
}
}VS Code handles OAuth registration and sign-in automatically.
Tools
The data tools are thin wrappers around the API, so their responses match the schemas in the API reference.
| Tool | What it does |
|---|---|
list_customers |
List customers on the platform. Requires administrative privileges. |
get_customers_by_id |
Fetch one or more customers by ID, scoped to what the signed-in user can access. |
list_subscriptions |
List a customer’s subscriptions with embedded product offering and price, filterable by type and status. |
get_subscription_product_offerings_options |
List the product offerings a subscription can be changed to, including price and when each change would take effect. |
update_subscription_product_offerings |
Change a subscription’s product offering — for example to a plan with more data or minutes. |
get_subscription_topup_offerings |
List the add-on (top-up) offerings available for a subscription, such as extra data packages. |
list_licenses |
List a customer’s licenses with embedded product offering and price. |
get_product_catalog |
Get a customer’s personalized product catalog: available offerings, groups, and prices. |
get_current_user |
Get the signed-in user behind the session. |
get_app_config |
Get platform basics: country, currency, brand name, portal URL, and enabled features. |
get_available_enums_by_name |
List valid enum values for an entity, useful before filtering or updating. |
get_domain_help |
Explain the platform’s entities and how they relate — the fastest way for an agent to learn the domain model. |
Resources
Besides tools, the server publishes MCP resources agents can read directly:
- Entity descriptions — prose explanations of each entity (
customer,subscription,license,product_catalog,user,app_config) and how they fit together.get_domain_helpreturns the same content as a tool call. json://products/catalogs/{customer_id}— a customer’s product catalog as a resource.json://config/enums/{entity_name}— valid enum values per entity.