Skip to main content

Your cloud bill can now answer questions in plain English

The hosted CloudYali MCP server gives Claude, ChatGPT, Cursor and any MCP client a read-only view of your cloud spend. Paste one URL and ask your bill anything.

Nishant Thorat

Nishant Thorat

Founder

12 min read
CloudYali MCP server: ask your cloud bill questions in plain English

Update, September 2026: the CloudYali MCP server is now hosted. There is nothing to install: add one URL to Claude, ChatGPT, Cursor or any remote MCP client and sign in.

If you work in FinOps, you have probably heard both of these phrases: FinOps for AI, and AI for FinOps. The first one is about what your Bedrock and OpenAI lines are doing to your bill, and it gets most of the attention. The second is about using AI to do FinOps work. It is discussed more loosely, and it is what this post is about.

The CloudYali MCP server is a hosted, read-only Model Context Protocol server that connects your CloudYali account to Claude, ChatGPT, Cursor, VS Code or any other MCP client. There is nothing to install: you add one URL and sign in. It has 35 actions covering cost and usage, budgets, savings recommendations, cost anomalies and asset inventory. You ask a question in plain English and get an answer from your live data. It cannot change anything.

This is what we mean by AI for FinOps. Here is why we built it.

Every FinOps tool works about the same way

Every FinOps tool today, ours included, works roughly the same way: you build reports, set filters and group the data. That works once you have learned the product: which grouping to use, where each filter applies, which view answers which question. Learning that takes time, and most people asking just want an answer. The native cloud tools have the same problem in a harder form, which is why cloud cost management tools fall short for most of the people asking.

Even after you learn the tool, each kind of data lives on its own screen, so investigating a cost change means moving between pages. Spend went up, so you open the cost report. To see which account, you switch views. To check for an open recommendation, you open another page. To check for an anomaly that week, you open another. You carry the context between tabs yourself.

The data is already stored together in the backend. Only the interface splits it up.

An AI assistant fits this problem well. It can query all of that data in one conversation, so you can ask one question after another without switching screens.

What CloudYali already had

CloudYali already holds the data those questions need:

  • detailed resource inventory, and cost and usage data across AWS, Azure and Google Cloud
  • identified savings, from wastage detection to idle resources to long-term commitment coverage
  • budgets and how they are tracking
  • anomalies, and what caused them

None of that is new. What was missing was a way to query all of it together.

So we made it available over MCP. You ask questions about your bill in plain English, and the assistant answers from that data.

What it looks like in practice

For example, you ask Claude:

Which five services cost us the most this month, and how does that compare to last month?
Asking which services cost the most, and the spend answer coming back by cloud with a follow-up already forming
Ask in plain English

The assistant answers with the figures from your CloudYali account, using your accounts and filters, instead of pointing you to a dashboard or report.

Then you can ask a follow-up:

Okay, the RDS jump. Which accounts, and do we have any open recommendations against them?

That question combines two kinds of data: cost and savings recommendations. By hand, it takes two pages, two exports and a spreadsheet. Here it is one question, and the assistant keeps the context from the previous answer.

Other questions it can answer in one step:

  • "How are we tracking against our budgets?"
  • "Any cost anomalies in the last seven days, and what caused them?"
  • "Find every resource tagged environment=prod that's still running, and tell me what the biggest one cost last month."
  • "How much would we save if we actioned every open recommendation?"

It currently has 35 read-only actions across five areas: cost reports and spend aggregation, budgets and their alert history, savings recommendations and their history, anomalies and their root causes, and resource inventory. Twelve of those are for inventory, because many FinOps questions are about which resources exist, where they run, how they are tagged and what they cost.

Building reports

One use has been more helpful than we expected: building custom reports, with charts, tables and summaries rather than single numbers.

Because the assistant receives the underlying rows (services, budgets, anomalies, open recommendations), it can format them into a report. That formatting is usually the slowest part of preparing a report by hand.

For example:

Pull August spend, budgets, anomalies and open savings, and build me a review I can send to the leadership team.

The result is a month-end review: the spend breakdown, six months of trend by cloud, budget status, open anomalies, and savings ranked by value.

A month-end review built from one request: the August total, the six-month trend, what changed and why
A month-end review from one request

Other reports you can ask for:

  • Budget status before a standup. "Show budget burn as of this morning, worst first, and flag anything over 90%."
  • An anomaly write-up. "Chart daily spend for this account around the 29th, mark the anomaly, and write two paragraphs on what changed." You get the chart and the explanation for the incident ticket.
  • Savings ranked by effort. "Group open recommendations by how hard they are, not how much they save." This shows which recommendations are quickest to act on.
  • Period comparisons. "Same query, this quarter against last, and only show me what moved more than 15%."
Tracing a spend jump: which budget, which service, is there already a recommendation open against it
Tracing a spend increase

Read-only access

The CloudYali MCP server is read-only and cannot change anything. Budgets, recommendations, tags and account settings are unaffected. Budgets are still created and edited in the CloudYali portal.

What it can read against what it can never change: cost, budgets, savings, anomalies and inventory on one side; budgets, tags, recommendation status and anything in your cloud on the other
What it can read, and what it cannot change

We considered adding write actions, such as snoozing a recommendation, and decided against it for now. An assistant that can change cost controls could do real damage with one wrong call. If we add write actions later, each will be a single, named action that you enable explicitly, and we will announce each one.

Sign-in uses your normal CloudYali login, including MFA and SSO. Before the connection is made, an approval screen shows which app is requesting access (for example claude.ai or chatgpt.com), what it can read (your cost and inventory data), and which CloudYali user you are signed in as. After you approve, the assistant gets an access token valid for up to 45 minutes. When it expires, you approve again.

No password is shared, no refresh token is issued, and nothing is stored on your computer.

The assistant has the same access as your CloudYali user and no more. If you cannot see a linked account in the console, the assistant cannot see it either.

Connecting the CloudYali MCP server

There is nothing to install. The server is hosted by CloudYali, so you do not need to clone a repository, install Node or run anything on your computer. You add one URL to your assistant:

https://mcp.cloudyali.io/mcp

In Claude (claude.ai, Desktop or mobile), go to Settings → Connectors → Add custom connector and paste it in. In ChatGPT, add it as a custom connector in developer mode. In Claude Code it is one line:

claude mcp add --transport http cloudyali https://mcp.cloudyali.io/mcp

Cursor, VS Code, Windsurf, Codex CLI and Gemini CLI take the same URL in their MCP config. The setup guide has the steps for each. The first time you connect, a browser window opens where you sign in to CloudYali and approve access.

This is phase one

Read-only access over MCP is the first step. We shipped it first because it does not require you to trust an assistant with anything it could break.

Even this first version has shown us more of what the platform can do than our UI work did. The assistant answers questions we never built a screen for, because the data was already there.

When we launched, a hosted server was next on the roadmap. It is now live: browser-based assistants such as claude.ai and ChatGPT connect directly, and terminal clients use the same URL.

What comes next, roughly in order:

  1. More of the platform. Tag governance and cost views are the two most-asked-for gaps.
  2. FinOps agents. Assistants that monitor your spend and suggest actions, rather than only answering questions. We will cover this in a separate post.

Try it and tell us where it falls short, such as a wrong number, a confusing answer or a question it could not handle. Email support@cloudyali.io.

See the MCP server page for screenshots and more examples.

Frequently Asked Questions

The CloudYali MCP server is a hosted, read-only Model Context Protocol server at https://mcp.cloudyali.io/mcp that connects your CloudYali account to an AI assistant. There is nothing to install. It exposes 35 actions across five areas: cost and usage reporting, budgets and their alert history, savings recommendations, cost anomalies and their root causes, and multi-cloud asset inventory. You ask a question in plain English and the assistant answers from your live CloudYali data instead of sending you to a dashboard.

Any assistant that supports remote MCP servers with OAuth. That covers Claude (claude.ai, Claude Desktop and mobile), Claude Code, ChatGPT (custom connector in developer mode), Codex CLI, Cursor, VS Code with GitHub Copilot, Windsurf and Gemini CLI. You add the URL https://mcp.cloudyali.io/mcp and sign in. Clients that only support local stdio servers can connect through the mcp-remote bridge.

No. Every one of the 35 actions is read-only. It cannot create or edit budgets, cannot change the status of a savings recommendation, cannot edit tags, cannot touch your account settings, and cannot make any call at all against AWS, Azure or Google Cloud. Creating and editing budgets still happens in the CloudYali portal, by a human. If write actions ever arrive they will be narrow, individually named and explicitly opted into.

Cloud cost and usage across AWS, Azure and Google Cloud, broken down by service, account, region, tag or time period. Budget status and burn rate. Open savings recommendations, including idle resources, wastage and long-term commitment coverage. Cost anomalies and their causes. And your resource inventory, which accounts for twelve of the 35 actions, because many FinOps questions are about which resources exist, where they run, how they are tagged and what they cost.

It returns the underlying rows, so the assistant can format them as a report rather than a single figure. For example: a month-end spend review, budget status before a standup, an anomaly write-up with a daily spend chart and explanation, or a quarter-over-quarter comparison filtered to changes above a threshold. Reports that would otherwise take exports and spreadsheet formatting come back from one request.

The server is hosted by CloudYali and reads your data through the same API as the CloudYali console. The results it returns are handed to whichever assistant you connected, so they are covered by that assistant vendor's own data handling terms (OpenAI for ChatGPT, Anthropic for Claude), the same as anything else you paste into it. The approval screen reminds you of this before you connect. CloudYali adds no new sharing of its own.

There is nothing to install. Add https://mcp.cloudyali.io/mcp to your assistant: in Claude, Settings → Connectors → Add custom connector; in ChatGPT, a custom connector in developer mode; in Claude Code, claude mcp add --transport http cloudyali https://mcp.cloudyali.io/mcp. Then sign in to CloudYali in the browser and approve. The setup guide in the CloudYali docs has the exact steps for every supported client.

Yes. The server is hosted, so browser-based assistants connect directly. Add it as a custom connector in claude.ai, or in ChatGPT with developer mode enabled. On Team, Business and Enterprise plans an admin may need to allow custom connectors first.

The same permissions your CloudYali login already has, and no more. Sign-in uses your normal CloudYali browser flow, including MFA and SSO. The approval screen shows which app is asking, what it can read, and which CloudYali user you are signed in as. On approval the assistant gets a single read-only access token valid for up to 45 minutes; no password or refresh token is issued and nothing is stored on your machine. If you cannot see a linked cloud account in the CloudYali console, the assistant cannot see it either.

#MCP#FinOps#AI#Cloud Cost Management

Ready to optimize your cloud costs?cloud costs

Start your free trial today and see how CloudYali can help you save.