Connect Server requires Quilt Platform version 1.68 or later.
Quilt Connect Server is an identity provider and gateway that enables external services to securely interact with your Quilt data and perform actions on behalf of your users. Connect Server:
One such service is the Platform MCP Server, which lets AI assistants interact with your Quilt data through natural language.
Connect Server is disabled by default. To enable it, set the
ConnectAllowedHosts CloudFormation parameter to a non-empty value.
| Parameter | Default | Description |
| ———————– | ————- | ————————————————— |
| ConnectAllowedHosts | (empty) | Comma-separated list of allowed OAuth redirect origins. Empty = disabled. See Entry formats below. |
| ConnectSecurityGroup | (empty) | Optional EC2 security group ID for Connect ALB IP allowlisting. Empty = allow all. |
| CertificateArnConnect | (empty) | Optional ACM certificate ARN for the Connect ALB. Empty = reuses the main stack TLS certificate, which must then cover the Connect host (see DNS Configuration). |
ConnectAllowedHosts Entry FormatsEach comma-separated entry can be one of:
| Format | Example | Matches |
| — | — | — |
| Hostname | claude.ai | https://claude.ai/* (HTTPS only) |
| Subdomain wildcard | .benchling.com | https://<any-subdomain>.benchling.com/* — any subdomain at any depth (e.g. app.benchling.com, app.us.benchling.com); does not match the apex https://benchling.com/* (HTTPS only; leading dot required) |
| Custom scheme | cursor:// | cursor://<any-host>/* (for desktop apps with a custom URI scheme) |
| Localhost | localhost | http://localhost:<any-port>/* and http://127.0.0.1:<any-port>/* (HTTP only; either loopback enables both) |
Canonical example covering the common web, desktop, and local MCP clients (loopback first, then suffix wildcards, then alphabetized hostnames and custom schemes):
localhost,.benchling.com,.cloud.databricks.com,chat.openai.com,chatgpt.com,claude.ai,claude.com,cursor://,gemini.google.com,vscode.dev,windsurf://
Entries are case-insensitive. Trailing dots on hostnames are ignored.
Network schemes (http://, https://, etc.) are not valid entries and are
silently ignored — use a bare hostname (or .-prefixed wildcard suffix) for
HTTPS clients and a custom scheme (cursor://) for desktop clients.
After deploying with Connect enabled, create a DNS record for your
Connect subdomain (typically <stack-name>-connect.<your-domain>).
If your hosted zone is in Route 53, we recommend an alias record:
| Route 53 Field | Value |
|---|---|
| Record type | A (alias) |
| Alias target | ConnectLoadBalancerDNSName CloudFormation output |
| Hosted zone ID | ConnectLoadBalancerCanonicalHostedZoneID output |
If your DNS is hosted elsewhere, create a CNAME record pointing to the
ConnectLoadBalancerDNSName CloudFormation output. See the
Installation CNAMEs section for the equivalent
catalog DNS records.
ALB scheme (internal vs. internet-facing). As of Quilt 1.71, the Connect ALB follows the same scheme as the main catalog load balancer. On an internet-facing stack the Connect endpoint is reachable from the public internet; on an internal stack it is internal — reachable only from within your VPC or over your VPN, like the catalog itself. On internal stacks, local or desktop MCP clients (Cursor, Claude Code, etc.) must therefore run on a network with access to the Connect host.
TLS certificate: by default (
CertificateArnConnectempty) the Connect ALB reuses the main stack certificate (CertificateArnELB), which must then cover the Connect host (theConnectHostoutput) — via an explicit Subject Alternative Name or a wildcard at the matching level (*matches a single label only). If it does not, setCertificateArnConnectto a certificate that does; otherwise DNS resolves but HTTPS fails with a certificate name mismatch.
The final Connect Server hostname is available in the ConnectHost
CloudFormation output.
Connect Server publishes OAuth authorization server metadata at
/.well-known/oauth-authorization-server and OpenID metadata at
/.well-known/openid-configuration. The issuer value is the Connect
Server origin with the explicit HTTPS default port
(https://<connect-host>:443), and all advertised endpoints
(/auth/token, /auth/register, /auth/revoke,
/auth/.well-known/jwks.json, and the cross-served
/connect/authorize) include the same explicit :443.
Compatibility note. Per RFC 3986,
https://hostandhttps://host:443identify the same origin and are equivalent. However, some strict OAuth clients — notably Databricks Apps — perform string-sensitive origin comparisons against the issuer and reject DCR when the issuer omits the default port. Quilt Connect emitshttps://<connect-host>:443to remain compatible with these clients; well-behaved clients that normalize per RFC 3986 are unaffected.
Connect Server registers exactly one OAuth resource identifier for the
Platform MCP server:
https://<connect-host>/mcp/platform
Connect normalizes inbound resource parameters by stripping a trailing
/mcp before the membership check, so clients that submit the full MCP
transport URL (https://<connect-host>/mcp/platform/mcp, as ChatGPT does)
are accepted alongside clients that derive the canonical resource from
RFC 9728 Protected Resource Metadata
(as Claude.ai and Cursor do). The token aud claim is always the
canonical /mcp/platform identifier regardless of input form.
To restrict which IP ranges can reach the Connect Server, create an EC2
security group with inbound rules on port 443 for your trusted CIDR ranges,
then pass the security group ID as ConnectSecurityGroup. If omitted, the
Connect ALB accepts traffic from any IP.