Prerequisites
- An MCP server that speaks Streamable HTTP or Server-Sent Events (SSE), reachable from the internet. To limit who can reach it, allowlist CloudThinker’s egress IPs. These docs don’t publish CloudThinker’s egress IP list: ask your CloudThinker contact, or contact us.
- The server’s endpoint URL, for example
https://mcp.example.com/mcp. - A credential for your server, if it requires one. Issue one only for CloudThinker (see Required permissions).
- Permission to edit connections in your workspace.
Authorization header with a token your server checks. The MCP form has no OAuth sign-in, so a server that only accepts OAuth can’t be connected.Setup
Open the MCP form
Fill in Basic Information
- Connection Name: a name your team will recognize, such as
Internal metrics. - Description: optional, up to 500 characters.
- Prefix: a short handle for this server, such as
metrics. Tools appear asmetrics__tool_name, and you’ll see the prefix in approval requests and Rules. - Transport Type: Streamable HTTP or Server-Sent Events, whichever your server speaks.
Add headers
Authorization and Bearer <your-token>. CloudThinker sends these headers on every request. Header keys must be unique.Fill in Connection Configuration
- URL: the server endpoint, such as
https://mcp.example.com/mcp. See Server URL rules. - Timeout (seconds): how long to wait for the server to respond. Default 30, allowed 0.1 to 300. Keep 30 unless your tools run long queries, then raise it.
- SSE Read Timeout (seconds): how long to wait on the event stream. Default 300, allowed 1 to 600.
Create
Connection details
Server URL rules
Add HTTPS with a reverse proxy
If your server only speaks HTTP, put a reverse proxy in front of it. With Caddy:Point DNS at the server
A record, such as mcp.example.com, that points to the server’s public IP.Configure Caddy
Caddyfile, replacing the port with the one your MCP server listens on:Start Caddy
https://mcp.example.com loads in a browser with a valid certificate. Enter https://mcp.example.com/mcp as the URL.Required permissions
Your server decides what the connection can do. CloudThinker only holds the header values you give it.Agent capabilities
After you connect, CloudThinker loads the server’s tool list. Each tool is available to agents asprefix__tool_name, where the prefix is the one you set on the connection. A server with prefix weather that exposes get_forecast gives agents a tool called weather__get_forecast.
Agents can only call tools your server serves. MCP connections have no Allow writes switch, so choose Manual and a person then approves every write tool call. Taking a tool off the server is the other control that always holds, and it is the only way to stop a read: reads always run without asking.
Once CloudThinker turns on Rule enforcement for your workspace, a Deny Rule can refuse one write tool outright while the rest keep asking.
How reads and writes are decided
CloudThinker sorts each tool into a read or a write when it loads the tool list:_ and -, so list_tickets and get-status are reads, while listTickets (one word) and close_ticket are writes. Reads run without asking. Writes go through your Rules and Approval mode.
CloudThinker reloads the tool list, and sorts every tool again, when you click Edit and save a change to the URL, headers, or transport. Changing only the name or description doesn’t reload it.
Verify the connection
Start a chat and type# to pick the connection, then ask:
prefix__tool_name names and returns output from one read tool, with no approval request.
Example prompts
Replace#Internal metrics with your connection’s name.
Troubleshooting
This connection did not respond in time. Try connecting again.
This connection did not respond in time. Try connecting again.
This server does not use HTTPS on this port.
This server does not use HTTPS on this port.
https://, but the server speaks plain HTTP on that port. Change the URL to http://, or add HTTPS.This server's TLS certificate is not trusted: it is self-signed, expired, or issued for another name.
This server's TLS certificate is not trusted: it is self-signed, expired, or issued for another name.
This server refused the connection.
This server refused the connection.
URL points to a private or metadata IP address / URL resolves to a private or metadata IP address
URL points to a private or metadata IP address / URL resolves to a private or metadata IP address
localhost. Use a public host name or IP address.Could not resolve hostname
Could not resolve hostname
The provider rejected these credentials. Update them, then connect again.
The provider rejected these credentials. Update them, then connect again.
Bearer versus a custom header).The provider endpoint was not found. Check the connection settings.
The provider endpoint was not found. Check the connection settings.
/mcp or /sse. Check your server’s docs for the exact path.Connected, but tools are missing
Connected, but tools are missing
SSE connection drops
SSE connection drops
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Use HTTPS. Over
http://, headers, including your token, and tool results travel as plain text. - Mark tool hints. Set
readOnlyHintanddestructiveHintso CloudThinker treats each tool the way you intend. - Rotate header credentials. Replace the token on your server, then edit the connection and update the header value.