Connect an AI assistant
To connect an AI assistant to CloudYali, add the CloudYali MCP server's URL to the assistant, sign in to CloudYali and approve the connection. It takes about two minutes.
Overview
| Step | Action | Where |
|---|---|---|
| 1 | Add https://mcp.cloudyali.io/mcp as a remote MCP server | MCP client |
| 2 | Sign in with your CloudYali account | Browser |
| 3 | Select Agree & Allow Access | Browser |
| 4 | Enable CloudYali for the chat or agent session | MCP client |
Prerequisites
- A CloudYali account.
- An assistant that supports remote MCP servers. Some plans restrict custom connectors; see the notes on each tab.
- Server URL:
https://mcp.cloudyali.io/mcp
Connect your MCP client
Select your client.
- Claude
- ChatGPT
- Claude Code
- Codex CLI
- Cursor
- VS Code
- Windsurf
- Gemini CLI
- Other
Applies to: claude.ai, Claude Desktop, Claude mobile apps.
- Go to Settings → Connectors.
- Select Add custom connector.
- Enter:
- Name:
CloudYali - Remote MCP server URL:
https://mcp.cloudyali.io/mcp
- Name:
- Select Add.
- Select Connect on the CloudYali connector.
- Complete sign-in and approval.
- In a chat, open the tools menu and enable CloudYali.
Connectors added on claude.ai are also available in Claude Desktop and the Claude mobile apps.
An organization owner adds the connector under Admin settings → Connectors. Each member then selects Connect and signs in with their own CloudYali account.
Applies to: chatgpt.com, ChatGPT desktop apps. Custom MCP connectors require developer mode.
- Go to Settings → Apps & Connectors → Advanced settings and enable Developer mode.
- In Apps & Connectors, select Create.
- Enter:
- Name:
CloudYali - MCP server URL:
https://mcp.cloudyali.io/mcp - Authentication: OAuth
- Name:
- Confirm that you trust the application and select Create.
- Complete sign-in and approval.
- In a new chat, open the + menu, select Developer mode, and enable CloudYali.
A workspace admin may need to enable developer mode or custom connectors before members can add CloudYali.
-
Add the server:
claude mcp add --transport http cloudyali https://mcp.cloudyali.io/mcpTo share the server with a project team, add
--scope project. This writes the entry to.mcp.jsonin the repository. -
Start Claude Code and run
/mcp. -
Select cloudyali, then select Authenticate.
-
Complete sign-in and approval in the browser.
-
Run
/mcpagain. The server status isconnected.
-
Add the server to
~/.codex/config.toml(%USERPROFILE%\.codex\config.tomlon Windows):[mcp_servers.cloudyali]url = "https://mcp.cloudyali.io/mcp" -
Sign in:
codex mcp login cloudyali -
Complete sign-in and approval in the browser.
-
Open Cursor Settings → MCP → Add new MCP server, or edit the configuration file directly:
Scope File All projects ~/.cursor/mcp.jsonOne project .cursor/mcp.jsonin the project root{"mcpServers": {"cloudyali": {"url": "https://mcp.cloudyali.io/mcp"}}} -
In Cursor Settings → MCP, select Connect (or Needs login) next to
cloudyali. -
Complete sign-in and approval in the browser.
-
Use the chat in Agent mode.
Applies to: VS Code with GitHub Copilot Chat.
-
Add the server to
.vscode/mcp.json. The top-level key isservers, notmcpServers:{"servers": {"cloudyali": {"type": "http","url": "https://mcp.cloudyali.io/mcp"}}} -
Select Start above the server entry in
mcp.json. -
Complete sign-in and approval in the browser.
-
Use Copilot Chat in Agent mode.
-
Add the server to
~/.codeium/windsurf/mcp_config.json:{"mcpServers": {"cloudyali": {"serverUrl": "https://mcp.cloudyali.io/mcp"}}} -
Refresh the MCP server list in Cascade.
-
Complete sign-in and approval in the browser.
-
Add the server to
~/.gemini/settings.json:{"mcpServers": {"cloudyali": {"httpUrl": "https://mcp.cloudyali.io/mcp"}}} -
Start Gemini CLI and run:
/mcp auth cloudyali -
Complete sign-in and approval in the browser.
Remote MCP clients. For clients that support remote (Streamable HTTP) MCP servers with OAuth, configure the URL https://mcp.cloudyali.io/mcp and follow the client's sign-in prompt.
stdio-only clients. For clients that support only local stdio servers, use the mcp-remote bridge. Requires Node.js.
{
"mcpServers": {
"cloudyali": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.cloudyali.io/mcp"]
}
}
}
mcp-remote opens the browser for sign-in and approval on first use.
Sign-in and approval
All clients use the same browser flow.
-
The assistant opens a CloudYali page in your browser.
-
Sign in to CloudYali, with multi-factor authentication if you use it. If you are already signed in to the console, this step is skipped.
-
Check the approval screen:
Element What it shows Requesting client The assistant's website, such as claude.ai. An assistant that registers itself instead shows Registered client and an IDPermissions Read cloud cost and inventory data, and, if the assistant asks to stay connected, Stay connected for this session, up to 45 minutes Return address Where the browser goes after you approve Signed-in user The CloudYali user whose permissions the connection gets -
Select Agree & Allow Access, or Cancel to refuse. After you approve, the browser returns to the assistant.

To approve as a different CloudYali user, select Switch accounts before approving.
If the client receives the result on a local address such as 127.0.0.1, the approval screen adds a warning. It reads: "Only approve if you started this connection in a trusted local application. A localhost address does not prove which application it is." Desktop and terminal clients commonly use local addresses. Approve only if you started the connection from a trusted application.
Verify the connection
Send a test prompt:
"Using CloudYali, what did we spend last month?"
A successful response contains a cost figure and the date range used.
Reconnect after expiry
A connection lasts up to 45 minutes from approval. The assistant can renew its access within that time, but not beyond it. After that, the assistant asks you to sign in again (some show "Sign-in expired. Reconnect to CloudYali.") and you approve a new connection. If you are still signed in to the console, you do not need your password again.
- Claude
- ChatGPT
- Claude Code
- Codex CLI
- Cursor
- VS Code
- Windsurf
- Gemini CLI
- Other
Settings → Connectors → CloudYali → Connect, then approve.
Settings → Apps & Connectors → CloudYali → Connect, then approve.
Run /mcp, select cloudyali, select Authenticate, then approve.
Run codex mcp login cloudyali, then approve.
Cursor Settings → MCP → cloudyali → Connect (or Needs login), then approve.
Select Restart above the server entry in .vscode/mcp.json, then approve.
Refresh the MCP server list in Cascade, then approve.
Run /mcp auth cloudyali, then approve.
Use the client's reconnect or re-authenticate action. For mcp-remote, restart the client.
Troubleshooting
| Symptom | Cause | Resolution |
|---|---|---|
| "This request has expired. Start again from your MCP client." | The approval page expired, or was reopened with the browser Back button. | Start the connection again from the client. |
| "Couldn't reach CloudYali MCP. Retry, or start again from your MCP client." | The approval page could not load the request from the MCP server. | Select Retry. If the error persists, start again from the client. |
| "MCP connections can't be made while impersonating a customer." | The session is a CloudYali staff impersonation session. | End impersonation and sign in as yourself. |
Authentication error during a conversation, or a message to run a login tool | The 45-minute connection expired, or the console sign-in behind it ended, for example because the user was removed. The hosted server has no login tool. | Reconnect. |
| "Tenant request limit reached. Retry shortly.", or a message that the request was rate-limited by CloudYali | Your organization's connections sent requests too fast: more than about one a second, or a burst of more than 10. | Wait a minute, then ask again. Ask for one broad answer instead of many narrow ones. |
| "Forbidden origin" | A browser-based assistant other than claude.ai, chatgpt.com, www.cursor.com or vscode.dev tried to connect. | Use one of those, or a desktop or command-line assistant. |
| "Could not connect to CloudYali" with "S256 PKCE and finops:read scope are required" | The assistant asked for permissions CloudYali does not offer, or skipped the PKCE sign-in protection. | Update the assistant, or use the mcp-remote bridge on the Other tab. |
| "This sign-in can't be completed here. Start again from your MCP client." | You approved in a different browser or profile from the one the assistant opened, in a second tab, or after the 10-minute request ended. | Start again from the assistant and approve in the browser window it opens. |
| "Couldn't load your CloudYali account. Try again shortly." | CloudYali could not read your organization during approval. | Wait a minute, then start again from the assistant. |
| The assistant does not use CloudYali | The connector is not enabled for the chat, or the client is not in agent/tool mode. | Enable CloudYali in the chat tools menu (ChatGPT: + → Developer mode; Cursor and VS Code: Agent mode), or start the prompt with "Using CloudYali, …". |
| Create or Add custom connector is not available | The plan or workspace does not allow custom connectors. | Contact your workspace admin, or use another supported client. |
| Figures differ from the console | The assistant used a different grouping, date range or cost type. | Ask the assistant which filters it applied and compare with the console. |
Disconnect
Remove the CloudYali connector or server entry from the assistant. A connection already approved can keep working until its 45 minutes are up.