Skip to main content
Connect the Costory FinOps MCP to Claude, Cursor, VS Code, or Dust and ask cost questions in chat instead of rebuilding queries in the billing console. Once your billing data is connected, the assistant calls structured MCP tools against normalized, allocated spend in your Costory workspace.

What is a FinOps MCP?

A FinOps MCP is a Model Context Protocol server that exposes cloud billing, allocation, and automation tools to AI assistants. Instead of pasting CUR exports into chat, the assistant calls tools like query, create_alert, and create_report against live data. Costory FinOps MCP adds workspace context on top of raw provider billing: , , dashboards, alerts, and saved views.

Add Costory MCP to your Cursor / Claude / Dust

Claude Desktop supports MCP connectors natively. No local server or Node.js required.
  1. Open Claude Desktop settings
  2. Go to Connectors
  3. Click Add custom connector
  4. Enter Costory as the name and https://app-api.costory.io/mcp as the URL
  5. Click Add, then Connect
  6. A browser window will open. Log in with your Costory account
  7. Start asking about your costs
Adding Costory as a custom connector in Claude Desktop
You can also add the server via the developer config file (Developer > Edit Config). This method requires Node.js:
On first connection, a browser window will open for you to log in with your Costory account. The mcp-remote fallback requires Node.js to be installed.

Example FinOps prompts

Explore costs

Ask questions in natural language and the assistant will query your cost data:
  • “How much is the platform team spending on compute this month?”
  • “Show me infrastructure costs for the recommendations API, broken down by service”
  • “What’s our total AI spend across Anthropic, OpenAI, and Bedrock?”
  • “How much are we spending on storage?”

Compare periods

Understand how costs have changed over time:
  • “What’s driving the cost increase on our data pipeline this week? Any related deploys or traffic changes?”
  • “Did the March 15th release affect our search service costs?”
  • “Compare this week’s spend to last week for the data squad”
  • “How have our compute costs changed compared to last month?”

Find information

Search across your entire Costory workspace:
  • “Find the saved view for the data team’s Kubernetes costs”
  • “What dashboards do we have for AI spend across providers?”
  • “Show me alert history related to BigQuery pipelines”

Get recommendations

The assistant can suggest what to look at:
  • “What dimension should I group by to explain the billing-api cost spike?”
  • “Based on deploy and metric history, what should I investigate next on the data pipeline increase?”

Take action

Go beyond analysis. Create views, alerts, events, and share reports:
  • “Save this query as a view called ‘Recommendations API Infra Cost’”
  • “Set up an alert if platform team compute costs go above $10,000 this month”
  • “Log an event: deployed billing-api v2 on March 15th”
  • “Send this cross-provider AI cost report to the #finops Slack channel”

FinOps MCP workflows

Each workflow below shows a natural-language prompt, the MCP tools the assistant calls, and the JSON payload shape. These examples are specific to Costory workspace context. For plugin install and additional reference examples, see the costory-plugin repository.
Prompt: “Did the March 15 billing-api deploy affect our API service costs? Compare the week before and after.”Tools: query with period comparison, then list_events to pull deploy markers in the same window.Result: A side-by-side cost breakdown by service plus a timeline of deploys that overlapped the spike.
query
list_events
Prompt: “How much is the platform team spending on compute in production this month?”Tools: query with a filterCel scope built from your dimensions.Result: Monthly compute spend for the platform team in production, grouped by cloud service.
query
Prompt: “What is our cloud cost per DAU this month vs last month?”Tools: list_metrics to resolve the metric ID, then query with a formula.Result: Unit cost trend with period-over-period comparison. See Unit Economics for the same analysis in Explorer.
query
Prompt: “Something spiked on our data pipeline this week. What dimension should I split by?”Tools: suggest_groupby, then query using the recommended dimension.Result: The assistant picks the most explanatory split (for example cos_k8s_namespace or cos_service_name) and drills down automatically.
Step 1: suggest_groupby
Step 2: query (using the suggested dimension)
Prompt: “Alert me if daily BigQuery costs exceed $2,000, but only if it would have fired at least once in the last 45 days.”Tools: preview_alert to backtest, then create_alert with the same condition. Resolve the Slack channel via list_available_destinations.Result: A validated alert with historical firing days and a link to edit it in Costory. Requires Slack integration.
preview_alert
create_alert (after preview passes)
Prompt: “Build a dashboard for the billing-api outage: daily cost by service, filtered to billing-api, last 30 days.”Tools: create_dashboard with a scoped context and one or more widgets.Result: A shareable dashboard URL your team can reuse after incidents or cost reviews.
create_dashboard
Prompt: “How should we split our spend by team? Once we’ve found a clean split, publish it as a Team dimension.”Tools: Explore first with suggest_groupby and query (which field best separates the cost) and search type dimensions (the real values behind each concept). Then commit: create_virtual_dimension_draft, preview_virtual_dimension_draft to check per-rule costs and leftover %, virtual_dimension_overlap_matrix to catch shadowing, and publish_virtual_dimension.Result: A published Team dimension across Explorer, dashboards, alerts, and reports after the refresh. The exploration loop is the point; drafting and publishing are the easy last steps. See Dimensions.
suggest_groupby (which field best explains the spend?)
create_virtual_dimension_draft (after the split is validated)
preview_virtual_dimension_draft
publish_virtual_dimension (after preview and overlap check pass)
Prompt: “Split our shared Cloud SQL bill across teams based on schema size from our usage metric.”Tools: list_metrics (no args) to pick the usage-metric datasource, list_metrics with datasourceId to learn its group-by dimensions, query (type metric) to inspect values, then create_virtual_dimension_draft / update_virtual_dimension_draft with a telemetry allocation, preview_virtual_dimension_draft, and publish_virtual_dimension.Result: A shared cost split proportionally by actual usage. See Shared Cost Allocation.
list_metrics (resolve the datasource’s group-by dimensions)
update_virtual_dimension_draft (telemetry allocation)

Example conversations

You: “Why did our costs go up last week?”The assistant will:
  1. Call get_context to load dimensions and recent dashboards
  2. Run query with a week-over-week comparison
  3. Call list_events for deploys and provider events in the same period
  4. Highlight likely causes with a timeline of what changed first
  5. Call suggest_actions for follow-ups (drill deeper, set up an alert, share to Slack)
query
list_events
You: “What’s our total AI spend across Anthropic, OpenAI, and Bedrock this month? Break it down by team and model.”The assistant will:
  1. Query AI-related spend across Anthropic, OpenAI, and AWS Bedrock
  2. Combine results into one total with a provider-level breakdown
  3. Break down the same spend by team and model
  4. Offer to save the view or send the report to Slack
query
You: “Show me our top 5 services by cost this month, then send it to #cloud-costs on Slack”The assistant will:
  1. Query costs grouped by service for the current month
  2. Schedule a report via create_report
  3. Deliver a formatted chart to the Slack channel
create_report
You: “Create an alert if our daily compute costs go above $5,000”The assistant will:
  1. Run preview_alert to confirm the threshold would have fired recently
  2. Create a cost alert with create_alert
  3. Return a link to review and edit the alert in Costory
create_alert

Why Costory MCP?

Direct access to AWS CUR or a GCP MCP server gives you provider-native line items and dimensions. Costory MCP adds your Costory workspace context so you can ask higher-level cost questions and take action in the same flow.
  • Query spend by team, product, or feature because and are already modeled.
  • Ask one question across AWS, GCP, Azure, Datadog, Anthropic, OpenAI, and Cursor instead of wiring and maintaining separate MCP servers per provider.
  • Explain why costs moved by using with deploys, Datadog metrics, and provider events in the same investigation.
  • Continue from saved views, dashboards, team structures, alert history, and prior investigations so your assistant has persistent workspace context.
  • Connect with one URL and OAuth (no IAM credentials, Docker, or local server setup), and use it in Claude, Cursor, VS Code, or Claude Code.
  • Take action directly from chat by creating alerts, saving views, logging events, and sending Cost Reports.
  • Use pre-computed allocation rules and shared costs so each query starts from resolved context instead of rebuilding logic from raw CUR data.

MCP tools reference

For plugin install, FinOps skills, and the full tool catalog grouped by workflow, see the costory-plugin repository.

Discovery and context

Query and data

query query types

Dashboards

update_dashboard operations

Alerts

Virtual dimensions

Manage virtual dimensions end-to-end. Edits happen on a draft; publishing is explicit and triggers a BigQuery refresh. Rules are always read and written as CEL (first match wins), with an automatic catch-all leftover bucket.
Virtual dimension writes are authenticated as your user (excluded from the GCP service route). Renaming the leftover bucket and using live external-metric integrations as a reallocation source remain web-app-only.

Events

Reports and notifications

create_report widget types

Organization metadata

Documentation

Agent helpers

Tips

Be specific about time

“last 30 days”, “this quarter”, “March 2026”. The assistant understands natural date ranges.

Use your own names

Mention service names, team names, or project names. The assistant searches your workspace to find the right dimensions.

Ask follow-ups

After a query, drill deeper: “now filter that to just eu-west-1” or “break that down by SKU”.

Multi-org support

If you belong to multiple organizations, just mention which one: “show costs for acme-prod”.

FAQ

A FinOps MCP is a Model Context Protocol server that lets AI assistants query cloud billing data and run FinOps actions (alerts, reports, dashboards) through structured tool calls instead of raw CSV exports.
Provider billing MCPs return native line items for one cloud. Costory FinOps MCP returns normalized, allocated spend across AWS, GCP, Azure, and SaaS providers, with dimensions, event correlation, and automation tools in the same connection.
Costory FinOps MCP works with Claude Desktop, Claude Code, Cursor, VS Code (Copilot), and Dust. Connect with https://app-api.costory.io/mcp and authenticate via OAuth.
No. Costory FinOps MCP is a hosted remote server. Claude Desktop, Claude Code, Cursor, and VS Code connect over HTTP. A local mcp-remote bridge is available as a fallback if your client does not support HTTP transport natively.
Yes. The assistant can call create_alert, create_report, and list_available_destinations to set up cloud cost alerts and Cost Reports directly from chat.

Troubleshooting

If using Claude Desktop’s native connector, try disconnecting and reconnecting in Settings > Connectors. If using the mcp-remote fallback, make sure npx is available in your PATH.
Make sure you’re using the native HTTP transport (type: "http") rather than mcp-remote. Run /mcp in Claude Code, then select Authenticate to trigger the OAuth flow.
Your session may have expired. Restart the MCP server in your AI client to re-authenticate. In Claude Code, run /mcp and select Authenticate.
Specify which org you want in your message: “show costs for [your-org-slug]”.
Try shorter, simpler search terms, e.g. “kubernetes” instead of “kubernetes production dashboard”.

Get started

Connect billing data before using FinOps MCP

Explorer

Build the queries your assistant reuses in chat

Dimensions

Allocate spend by team, product, or environment

Events

Correlate deploys with cost charts

Unit Economics

Build cost per user, request, or transaction

Cost Reports

Schedule recurring cost snapshots to Slack, Teams, or email

Cloud cost alerts

Threshold and anomaly alerts with Slack notifications

Slack setup

Connect Slack so MCP can deliver reports and alerts

Plugin repository

Claude Code marketplace install and FinOps skills
Last modified on July 8, 2026