Connect your AI assistant to your live SaaS management data
Select your AI assistant below. Each tab walks you through getting your API key and completing the OAuth connection.
claude mcp add --transport http cloudeagle https://mcp.cloudeagle.ai/mcp
acme from acme.cloudeagle.ai) — then you'll land on the CloudEagle sign-in page. Enter your CloudEagle username and password, or click your company's SSO button (Google, Okta, Microsoft, etc.). Claude Code stores your session — you will not be asked again until the session expires.
/mcp in Claude Code and confirm cloudeagle shows as connected. Then try: "List my CloudEagle applications."
claude mcp add --transport http cloudeagle https://mcp.cloudeagle.ai/mcp — the browser sign-in page will open again.
{
"mcpServers": {
"cloudeagle": {
"type": "http",
"url": "https://mcp.cloudeagle.ai/mcp"
}
}
}
Fully quit and reopen Claude Desktop.
acme from acme.cloudeagle.ai) — then the CloudEagle sign-in page appears. Enter your CloudEagle username and password, or click your company's SSO button (Google, Okta, Microsoft, etc.). Your session is stored automatically.
.cursor/mcp.json in your home directory (or project root):
{
"mcpServers": {
"cloudeagle": {
"url": "https://mcp.cloudeagle.ai/mcp"
}
}
}
Restart Cursor.
acme from acme.cloudeagle.ai) — then the CloudEagle sign-in page appears. Enter your CloudEagle username and password, or click your company's SSO button (Google, Okta, Microsoft, etc.). Your session is stored automatically.
acme from acme.cloudeagle.ai) — then the CloudEagle sign-in page appears. Enter your CloudEagle username and password, or click your company's SSO button (Google, Okta, Microsoft, etc.). Your session is stored automatically.
Automated agents (Claude API, LangChain, LangGraph, custom scripts) cannot open a browser for OAuth. Instead, pass a CloudEagle API key directly as a Bearer token — no OAuth dance required.
Authorization: Bearer in the MCP client headers. Replace {tenant} with your CloudEagle tenant slug.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-4-5",
max_tokens=4096,
tools=[{"type": "mcp", "server_label": "cloudeagle",
"server_url": "https://mcp.cloudeagle.ai/{tenant}",
"headers": {"Authorization": "Bearer YOUR_API_KEY"}}],
messages=[{"role": "user", "content": "List my SaaS applications."}],
betas=["mcp-client-2025-04-04"],
)
from mcp.client.streamable_http import streamablehttp_client
async with streamablehttp_client(
"https://mcp.cloudeagle.ai/{tenant}",
headers={"Authorization": "Bearer YOUR_API_KEY"}
) as (read, write, _):
# tools are discovered automatically
...
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://mcp.cloudeagle.ai/{tenant}"),
{ requestInit: { headers: { "Authorization": "Bearer YOUR_API_KEY" } } }
);
# ~/.claude/mcp.json
{
"mcpServers": {
"cloudeagle": {
"type": "http",
"url": "https://mcp.cloudeagle.ai/{tenant}",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Authorization header:
from mcp.client.streamable_http import streamablehttp_client
async with streamablehttp_client(
"https://mcp.cloudeagle.ai/mcp",
headers={"Authorization": "Bearer YOUR_API_KEY"}
) as (read, write, _):
# tools are discovered automatically
...
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://mcp.cloudeagle.ai/mcp"),
{ requestInit: { headers: { "Authorization": "Bearer YOUR_API_KEY" } } }
);
YOUR_API_KEY with the key copied in step 1. Keys expire after 90 days — update this value when you generate a new one.
https://mcp.cloudeagle.ai/mcp/mcp to reconnect; re-run claude mcp add --transport http cloudeagle https://mcp.cloudeagle.ai/mcp if neededmcp.cloudeagle.aiclaude mcp add --transport http cloudeagle https://mcp.cloudeagle.ai/mcp to reset the connectionacme from acme.cloudeagle.ai/ or \ — if your submission is rejected for this reason, re-enter just the subdomainclaude mcp add --transport http cloudeagle https://mcp.cloudeagle.ai/mcpMCP_API_KEY_AUTH=true is set on the serverMCP_API_KEY_AUTH=true — this feature is off by defaultAuthorization: Bearer YOUR_API_KEY (not X-API-Key or another format)/{tenant} path