Skip to main content
Glama

Veqen: AI cost monitoring and protection

Server Details

Veqen brings together work and coding agent costs per person and team, product inference costs per customer, agent spending, protection incidents, invoice checks, chargeback and the month-end close.

Ask your assistant to investigate recorded spending, compare model prices, review provider keys and incidents, record bills and credits, or manage budgets, alerts, teams and spending policies. Your account role and plan govern access. Provider-key shut-off and agent-card controls require the appropriate role and provider permissions. Destructive actions require confirmation, and organizations can require a second person to approve a shut-off. SDK budget blocking is not a guaranteed spending cap.

Work and coding agents are free for up to 3 people; product inference is free up to $1,000 in monthly AI spend. Connect your Veqen account for private organization data. The separate public model-price server needs no account. Estimates remain separate from provider invoices. Setup and permissions: https://veqen-app.com/docs/mcp

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

C2.9/5.0

Scored across 88 tools

Disambiguation2/5

Many tools fall into overlapping clusters that are hard to tell apart from the name alone: get_spend, coding_agent_spend, chargeback, person_month, agent_spend_view and get_customer_cost all return cost views differentiated only by prose. Similarly list_incidents / get_incident / incident_evidence / act_on_incident, month_end / month_end_actions / approve_month, and billing / get_account / organization overlap heavily. Descriptions are dense and helpful in the abstract, but at 88 tools the boundaries require deep reading rather than being self-evident.

Naming Consistency2/5

Conventions are mixed: verb_noun tools (get_spend, list_budgets, set_budget, delete_budget, connect_provider) sit alongside bare noun names (billing, seats, vendors, access, limits, chargeback, month_end, api_keys, agent_cards). Several tools are really action multiplexers under a noun (billing, organization, agent_cards, api_keys, saved_views) while similar operations elsewhere are standalone verbs, so there's no predictable pattern for an agent to rely on.

Tool Count1/5

88 tools is far beyond a well-scoped surface and roughly an order of magnitude past the 3-15 sweet spot. Even though the domain (cost monitoring, protection, close) is broad, the set clearly mixes per-resource CRUD, multi-action multiplexers, and one-off report views that could have been consolidated. At this count, tool selection becomes the dominant failure mode.

Completeness4/5

The surface covers the domain deeply: ingest (bills, credits, CSVs, provider connections), analyze (spend, forecasts, anomaly incidents, reconciliation), control (budgets, agent policies, key shut-off, approvals) and close (journal entries, chargebacks, claims, audits). Only minor gaps exist, such as no explicit tool for editing an existing incident note or a partial update path on some records (delete_record is generic, but some entities are create/set-only).

Publisher details

Operator
Keyveve, Inc. (Veqen) · Publisher source
Vendor relationship
First-party · Publisher source
Restrictions
Requires a Veqen account and OAuth consent or a full-access API key. Organization roles and plan limits govern access. Provider-key shut-off and connected-card controls require appropriate provider permissions; destructive actions require confirmation, and two-person approval may apply. Anonymous public pricing is available separately at https://veqen-app.com/mcp/prices. · Publisher source

Available Tools

88 tools
accessSupport access and connected appsCInspect

action support (Veqen support's requests to view the dashboard), approve, deny or revoke (grant_id; owners), apps (AI assistants the person connected with OAuth) or disconnect (family_id).

Inputs: action, grant_id, family_id. Returns: object

act_on_incidentAct on an incidentA
Destructive
Inspect

One action on an incident from list_incidents: shut_off (its key, as shut_off_key; confirmed as there; for an agent spend incident, freezes its card), resolve, expected ('this was us', quiets the key's rules for a week), rotated (the key was replaced everywhere, proof for a refund claim) or claim (start a refund claim, for amount_usd or the incident's amount). Confirm first.

Inputs: action (required), incident_id (required), confirmed, amount_usd. Returns: object

add_billAdd a monthly billAInspect

Records a provider's monthly invoice total (period YYYY-MM), for providers whose billing Veqen can't read. Month-end books it. Needs an owner, admin or finance member.

Inputs: amount (required), period (required), provider (required), note, +1 more. Returns: object

add_creditsAdd provider creditsAInspect

Records credits from an AI provider. kind is prepaid (paid for, an asset) or promotional (free). Dates are YYYY-MM-DD. Needs an owner, admin or finance member.

Inputs: provider (required), amount_usd (required), granted_on (required), kind, +2 more. Returns: object

add_tool_invoiceAdd a tool's invoiceCInspect

A coding tool's invoice for a month, as lines: {kind: seats|usage|credit|other, amount_usd, quantity (seats billed)}. Credits are given as positive amounts. Checked at once.

Inputs: tool (required), lines (required), period (required). Returns: object

agent_actionAn agent actionAInspect

action get (Veqen's answer as it stands, the approval and the matched transaction) or cancel (the agent didn't go through with it: it stops counting toward the month and a pending approval closes).

Inputs: action_id (required), action. Returns: object

agent_approvalsAgent approvalsAInspect

action list (state pending, approved, denied or expired) or approve and deny (approval_id, with a note): a person's answer to an agent that asked to spend past its mandate. Confirm with the user before answering.

Inputs: note, state, action, offset, +1 more. Returns: object

agent_cardsAgent cardsA
Destructive
Inspect

action list (every card, whose agent it is, status, limit, freezes waiting), assign (card_id to agent; '-' for a person's card; '' to read it from the card), freeze or unfreeze (card_id; incident_id to record it there; needs freeze access; with two-person shut-off on, a freeze waits for a second person), confirm (freeze_id, the second person) or limit (card_id, limit_usd a month, set at the platform). Confirm with the user before changing a card.

Inputs: agent, action, card_id, freeze_id, +2 more. Returns: object

agent_spend_viewAgent spendC
Read-onlyIdempotent
Inspect

view overview (every agent's spend this month, how much an action explained, incidents and approvals waiting, the platforms connected), agent (one agent: mandate, cards, latest transactions, actions and approvals), transactions (agent and match filters), actions (agent and state filters) or report (period YYYY-MM: the month's agent spend controls report for the close and the auditor).

Inputs: view, agent, match, state, +2 more. Returns: object

api_keysAPI keysAInspect

action list, create (name, expires_days 30, 90 or 365, allowed_ips: a send-only key for an app), rotate (key_id; the old key works a day) or revoke (key_id). Full-access keys aren't made or rotated here, so an assistant can't keep access after it's disconnected. A new key is in key, shown once: tell the user to store it as a secret, never in code.

Inputs: name, access, action, key_id, +2 more. Returns: object

approve_chargebackApprove a chargebackAInspect

Freezes a finished month's chargeback (YYYY-MM); the close books its work and coding agents. Confirm first.

Inputs: month (required). Returns: object

approve_monthApprove a monthAInspect

Approves and freezes a month's journal entries (period YYYY-MM). Confirm with the user first. Needs an owner, admin or finance member.

Inputs: period (required). Returns: object

billingBillingAInspect

action status (plans, subscription, this period's spend, the next renewal), checkout (work_agents and/or product_inference, yearly: a Stripe link for the person paying to open, since card details only go to Stripe), portal (Stripe's page for the card, invoices and cancelling), set_interval (interval month or year), drop (product work_agents or product_inference), redeem_offer (partner_code on a running subscription; checkout takes partner_code too), jvzoo (purchases bought with your email) or activate_jvzoo (receipt). Needs an owner or admin. Confirm before changing a subscription.

Inputs: action, yearly, product, receipt, +4 more. Returns: object

card_platformsCard and banking platformsBInspect

action list (the platforms Veqen reads for agents: Stripe Issuing, Ramp, Brex, Mercury, what each needs, and which are connected), connect (platform, fields: a read-only credential, checked by listing cards), disconnect, freeze_access (platform, fields: the separate credential that may freeze cards and set limits) or remove_freeze_access.

Inputs: action, fields, platform. Returns: object

change_memberChange a memberA
DestructiveIdempotent
Inspect

action role (member_id from list_members, role), remove (member_id) or cancel_invitation (invitation_id). Owners alone add or remove owners. Confirm first.

Inputs: action (required), role, member_id, invitation_id. Returns: object

change_protection_settingsChange protection settingsAInspect

action set_access (provider and key: a credential allowed to change key status there; it's never shown again), remove_access (provider), set_policy (rule and policy: alert, preview or disable; only dormant and owner_gone can shut keys off) or set_options (two_person_shutoff, share_patterns). Needs an owner, admin or security member. Confirm first.

Inputs: action (required), key, rule, policy, +3 more. Returns: object

chargebackA month's chargebackC
Read-onlyIdempotent
Inspect

A finished month's work and coding agent cost by cost center, team, person and tool, matched to each tool's invoice, with its journal entries. Work and coding agents Enterprise.

Inputs: month (required). Returns: object

check_agent_spendAsk before an agent spendsAInspect

Call before an AI agent spends money. Answers allow, approval (a person decides; call again with the same action_id, or agent_action, to see their answer) or deny, from the agent's mandate, with the reasons and what it has left this month. The action is recorded either way and matched to the card or account transaction when it appears.

Inputs: agent (required), amount (required), run, card, +6 more. Returns: object

coding_agent_spendWork and coding agent cost per personB
Read-onlyIdempotent
Inspect

Each person's work and coding agent cost for a month (YYYY-MM, this month by default), tool by tool at the company's contracts, optionally for one team. People see what they'd see in the dashboard.

Inputs: team, month, offset. Returns: object

coding_toolsCoding toolsB
Read-onlyIdempotent
Inspect

Each coding tool for a month (YYYY-MM): connected or not, its cost at the company's contracts, its plan, and its invoice checked against what Veqen expects.

Inputs: month. Returns: object

compare_modelsCompare models on costB
Read-onlyIdempotent
Inspect

Cost of the same call on several models, per call and per month: tokens for text, embedding and realtime models, units (images, seconds, characters, queries or pages) for the rest.

Inputs: models (required), units, variant, input_tokens, +3 more. Returns: object

confirm_shut_offConfirm a shut-offB
Destructive
Inspect

The second person's confirmation of a waiting shut-off (an id from waiting_shut_offs). Confirm first.

Inputs: action_id (required). Returns: object

connect_providerConnect a provider or toolAInspect

Connects a provider's billing or a coding tool's usage with the fields list_connections names (an admin key, usually); provider stripe with a key field connects revenue. Brings in 30 days to check, up to a minute. Confirm first: it stores a credential.

Inputs: fields (required), provider (required). Returns: object

credits_expiringCredits expiringB
Read-onlyIdempotent
Inspect

Provider credits with a balance that expire within the given number of days.

Inputs: within_days. Returns: object

delete_budgetDelete a budgetA
DestructiveIdempotent
Inspect

Deletes a budget by its id from list_budgets. Needs an owner or admin.

Inputs: budget_id (required). Returns: object

delete_recordDelete a recordA
DestructiveIdempotent
Inspect

Deletes a bill, credit grant, price, saved view, vendor agreement or savings baseline by its id from the matching list. Confirm first.

Inputs: kind (required), record_id (required). Returns: object

disconnect_providerDisconnect a provider or toolB
DestructiveIdempotent
Inspect

Disconnects it and deletes the billing Veqen brought in from it. Confirm first.

Inputs: provider (required). Returns: object

estimate_switchEstimate a model switchC
Read-onlyIdempotent
Inspect

Re-prices the organization's real token volumes on another model (standard rates).

Inputs: to_model (required), from_model (required), days, feature. Returns: object

explain_changeExplain a change in spendA
Read-onlyIdempotent
Inspect

Compares two periods and names the models, features and customers that moved most. The baseline defaults to the same number of days just before.

Inputs: end (required), start (required), baseline_end, baseline_start. Returns: object

forecast_spendForecast spendA
Read-onlyIdempotent
Inspect

Month-end and quarter-end spend forecasts with an 80% range (spend so far plus each remaining day at its weekday's recent average), for the organization or one customer, feature or project.

Inputs: feature, project, customer. Returns: object

free_auditThe free auditAInspect

action get (the latest audit: running, or its report), run (reads 30 days from every connection; ready within the hour), share or unshare (run_id: a link anyone signed in to the organization can open for 30 days).

Inputs: action, run_id. Returns: object

freeze_baselineFreeze a savings baselineAInspect

Freezes how the organization paid the providers and seat tools in covers during base_start to base_end (YYYY-MM-DD), before new terms start on changed_on, so each later month shows what the new rate saved apart from usage changes. Do it before the new terms start. It can't be edited afterwards, only deleted. Confirm first.

Inputs: baseline (required). Returns: object

get_accountAccountB
Read-onlyIdempotent
Inspect

The connected organization, its plans (work and coding agents and the product-inference band) and this billing period's usage.

Inputs: no named parameters. Returns: object

get_alertsAlertsB
Read-onlyIdempotent
Inspect

Where alerts go (email, Slack, webhook) and the latest alerts sent.

Inputs: no named parameters. Returns: object

get_customer_costGet a customer's costA
Read-onlyIdempotent
Inspect

What one customer cost: total, by feature and by model, and margin when Stripe revenue is connected.

Inputs: customer (required), end, start. Returns: object

get_incidentGet an incidentA
Read-onlyIdempotent
Inspect

One incident by its id from list_incidents: its timeline, each hour it covers with the reasons, and its claims.

Inputs: incident_id (required). Returns: object

get_marginGet margin by customerA
Read-onlyIdempotent
Inspect

Revenue from Stripe against AI cost per customer, least profitable first.

Inputs: end, limit, start. Returns: object

get_model_priceGet a model's priceA
Read-onlyIdempotent
Inspect

Rates for one model of any kind. Token rates are USD per million tokens: input (in), output (out), cache read (cr), cache write (cw, cw1h) and audio (ain, aout), with batch, priority and long-context tiers. Models billed per image, second, character, query or page have a unit rate (unit), and may have size, quality or resolution variants (v:...).

Inputs: model (required), provider. Returns: object

get_runOne agent runA
Read-onlyIdempotent
Inspect

One agent run, conversation or job, by its run id (get_runs lists the costliest): its total, how long it took, and each AI request in order (up to 200) with its model, tokens and cost.

Inputs: run (required). Returns: object

get_runsGet run costsB
Read-onlyIdempotent
Inspect

Agent runs, conversations or jobs (calls tagged with the same run id, or one OpenTelemetry trace) that ended in a date range: how many, their total, average, median and p90 cost, and the most expensive.

Inputs: end, limit, start, feature, +1 more. Returns: object

get_savingsWays to spend lessA
Read-onlyIdempotent
Inspect

Ways to spend less, from the last 30 days: prompt caching, the batch API, the same open model on a cheaper host, and cheaper models from the same provider, each with an estimated saving a month. Test a cheaper model's answers before switching.

Inputs: no named parameters. Returns: object

get_spendGet spendA
Read-onlyIdempotent
Inspect

AI spend for a date range: totals, an optional breakdown by one dimension, filters on the others, and this month's run rate and forecast.

Inputs: end, user, limit, model, +7 more. Returns: object

get_spikeOne spikeA
Read-onlyIdempotent
Inspect

One spending spike, by the id list_anomalies gives: what it cost against a usual day, and the models, features, customers and users that moved most against the same weekday a week before.

Inputs: spike_id (required). Returns: object

import_csvImport a CSVAInspect

kind tool_usage (a coding tool's usage export; tool), teams (an HR export: email, team, cost center, valid from), people (tool, name or id, email), bills (a cloud billing export summed by month; provider, and match to keep only rows whose description has it) or rate_card (your prices). Pass the file's text as csv.

Inputs: csv (required), kind (required), tool, match, +1 more. Returns: object

incident_evidenceAn incident's evidenceC
Read-onlyIdempotent
Inspect

What a provider's refund process asks for: the key and its changes, then hour by hour (or day by day for an overcharge) what the provider billed against what the company's own code made, as columns and rows.

Inputs: incident_id (required). Returns: object

invite_memberInvite someoneAInspect

Emails an invitation to join the organization with a role (admin, member, finance or viewer). Confirm the address with the user first. Needs an owner or admin.

Inputs: email (required), role. Returns: object

limit_requestAsk for, or answer, a higher limitAInspect

action ask (for the signed-in person: amount_usd a month and a note), approve (request_id at amount_usd a month, which becomes the person's limit in every tool) or deny (request_id).

Inputs: action (required), note, amount_usd, request_id. Returns: object

limitsLimits and requests for moreB
Read-onlyIdempotent
Inspect

Engineers' and teams' monthly work and coding agent limits the person may see, and the requests for a higher limit they answer or made. Set a limit with set_budget, scope engineer or team.

Inputs: no named parameters. Returns: object

list_anomaliesList spend spikesB
Read-onlyIdempotent
Inspect

Spend spikes in the last days: a day when the organization, or one customer, user, feature, project or model, cost at least twice the median of the same weekday over the four weeks before.

Inputs: days. Returns: object

list_billsList billsB
Read-onlyIdempotent
Inspect

Monthly provider bills entered or imported, next to what Veqen recorded for the same month.

Inputs: no named parameters. Returns: object

list_budgetsList budgetsA
Read-onlyIdempotent
Inspect

Every budget, what's been spent against it this period, and who's closest to the limit.

Inputs: no named parameters. Returns: object

list_claimsList refund claimsB
Read-onlyIdempotent
Inspect

Refund claims on incidents, newest first, with what was claimed and credited.

Inputs: offset. Returns: object

list_connectionsConnectionsA
Read-onlyIdempotent
Inspect

Each AI provider and coding tool whose billing or usage Veqen can read, the fields it needs and how to get them, and whether it's connected and working.

Inputs: no named parameters. Returns: object

list_creditsList provider creditsA
Read-onlyIdempotent
Inspect

Credits held with AI providers: how much is used, what's left, and when each expires.

Inputs: no named parameters. Returns: object

list_incidentsList incidentsA
Read-onlyIdempotent
Inspect

Incidents in one state (open by default): spend nobody on the team made, runaway or possibly stolen keys, and overcharges, with the key, amount and the reasons each was flagged. act_on_incident shuts the key off or settles it.

Inputs: state, offset. Returns: object

list_membersList membersA
Read-onlyIdempotent
Inspect

Everyone in the organization with their role, and pending invitations (for owners and admins).

Inputs: no named parameters. Returns: object

list_modelsList modelsB
Read-onlyIdempotent
Inspect

Current models in the price book, cheapest first, for one provider or one kind: text, embedding, realtime, image, video, speech, transcription, rerank or ocr.

Inputs: kind, limit, provider, include_retiring. Returns: object

list_provider_keysList provider keysB
Read-onlyIdempotent
Inspect

Every key Veqen sees at the organization's AI providers, with its owner, status and the flags that make it risky (unused for 30 days, its owner left, open to any API). Needs an owner, admin, finance or security member.

Inputs: offset. Returns: object

list_your_pricesList your pricesA
Read-onlyIdempotent
Inspect

Discounts and prices the organization set, used instead of published prices.

Inputs: no named parameters. Returns: object

match_personSay who a tool's name isCInspect

Matches a name or id a coding tool reports (from teams_and_people, show matching) to a person's email.

Inputs: tool (required), email (required), external_id (required). Returns: object

month_endMonth-end entriesA
Read-onlyIdempotent
Inspect

A month's journal entries for AI costs (period YYYY-MM): approved and frozen, or what they'd be if approved now, and whether every connected provider has reported. Needs an owner, admin or finance member.

Inputs: period (required). Returns: object

month_end_actionsMonth-end actionsAInspect

action policy (how costs are booked; send policy, in the shape it comes back, to change parts of it), reopen or true_up (period YYYY-MM: post a correction to the invoice). Needs an owner, admin or finance member.

Inputs: action (required), period, policy. Returns: object

organizationThe organizationCInspect

action get (name, plans, your role, the Get started checklist), rename (name), set_track (track: coding, audit or sdk), audit_log (who changed what; paid plans), leave (you leave; your full keys stop working), delete_code (emails the owner a code) or delete (owners: confirm set to the exact name, and the challenge and the code the owner reads you from that email; can't be undone). Confirm before leave or delete.

Inputs: code, name, track, action, +2 more. Returns: object

person_monthOne person's monthC
Read-onlyIdempotent
Inspect

One person's work and coding agent month (an email, or tool:id for someone not matched yet): each tool at the contract, day by day, their limit and their requests for more.

Inputs: person (required), month. Returns: object

plan_costsPlan costs at your pricesB
Read-onlyIdempotent
Inspect

Like simulate_workload, but at the organization's own prices: its discounts and the prices it set.

Inputs: lines (required), months, growth_pct. Returns: object

price_from_billPrice a provider from its billAInspect

Sets a price per million tokens for that provider's models from a whole month's bill (bill_id from list_bills) and what they served.

Inputs: bill_id (required). Returns: object

protection_settingsProtection settingsB
Read-onlyIdempotent
Inspect

Which providers Veqen has shut-off access for, what each rule does when it fires, and the two-person shut-off and pooled-patterns options.

Inputs: no named parameters. Returns: object

reconciliation_statusReconciliation statusB
Read-onlyIdempotent
Inspect

Tracked spend against what OpenAI and Anthropic billed: capture rate, untracked spend and the models that differ most.

Inputs: days. Returns: object

record_agent_actionsRecord what agents didBInspect

Actions agents took with money, told after the fact (each {agent, amount, currency, payee, purpose, rail, kind, card, run, action_id, at}), up to 1,000. Matched to card and account transactions. Idempotent by action_id.

Inputs: actions (required). Returns: object

saved_viewsSaved viewsBInspect

action list, or save (name, group_by, start, end, filters, and schedule to email it) a breakdown for the signed-in person.

Inputs: end, name, start, action, +3 more. Returns: object

seatsUnused seatsB
Read-onlyIdempotent
Inspect

Coding-tool seats nobody used for 30 days, and seats people who left still hold, with what each costs a month.

Inputs: no named parameters. Returns: object

set_agent_policySet an agent's mandateAInspect

What an agent may spend without a person (agent '*': the default for agents without their own): per_action_usd (refused above), monthly_usd and approval_over_usd (a person approves above), merchants (payees it may pay on its own; empty: any), blocked (never), paused, auto_freeze (freeze its cards when an incident needs action; the protection role). Only the fields given change; a limit of 0 removes it. remove true deletes it. Confirm with the user first.

Inputs: agent (required), note, owner, paused, +7 more. Returns: object

set_agreementRecord an agreementAInspect

Records an AI vendor agreement, or replaces one's terms (agreement_id from vendors view agreements). Only the vendor and dates are needed; commitment, tiers, notice and overage are optional. Reminders go out before the notice date. Confirm first.

Inputs: terms (required), agreement_id. Returns: object

set_alertsWhere alerts goAInspect

channel slack, protection_slack (incidents and misuse go there instead) or webhook (a new signing secret comes back once), with url; an empty url turns it off. channel test sends a test alert everywhere.

Inputs: channel (required), url. Returns: object

set_budgetSet a budgetAInspect

Creates a budget on AI spend. scope is org, customer, feature, user or project; value '' gives every customer (or feature, user, project) its own limit. mode 'alert' notifies at 50/80/100%; 'block' also makes the SDKs refuse matching requests at the limit. scope engineer (value an email, '' or 'team:') or team sets a work and coding agent limit, which 'block' pushes into each tool that takes one. Needs an owner or admin.

Inputs: name (required), limit_usd (required), mode, scope, +2 more. Returns: object

set_contractSet a tool's contractCInspect

What the company pays a coding tool from a day (YYYY-MM-DD): plan, seat_usd, seats, unit_usd, discount_pct, included_usd. Costs are priced at it.

Inputs: tool (required), valid_from (required), plan, seats, +4 more. Returns: object

set_key_ownerSay whose a key isBInspect

Sets a provider key's owner (an email or a service's name) and the coding agent it's for ('' reads it from the key's name, '-' none).

Inputs: key_id (required), owner, coding_agent. Returns: object

set_priceSet a priceAInspect

Sets the organization's own price for a model (per million tokens, or per unit for image, video, audio and document models), or with model '*' and discount_pct, a discount on a provider. New AI requests use it. Needs an owner, admin or finance member.

Inputs: provider (required), note, unit, model, +5 more. Returns: object

set_privacyName people by emailCInspect

Whether Claude Code's telemetry names people by their email (true) or by account id, matched by hand (false).

Inputs: email_identity (required). Returns: object

set_teamPut someone in a teamBInspect

Puts a person (email) in a team and cost center from a day (YYYY-MM-DD); their earlier days keep their team.

Inputs: team (required), email (required), valid_from, cost_center. Returns: object

set_team_managerThe teams someone managesBInspect

Sets the teams a member (user_id from list_members) manages: they see those engineers' cost and hear about spikes.

Inputs: teams (required), user_id (required). Returns: object

shut_off_keyShut a provider key offA
Destructive
Inspect

Turns a provider key (an id from list_provider_keys) off at its provider, or back on (action restore). Needs shut-off access for that provider. Where the provider can only delete keys, it fails until confirmed is true: say so to the user, since that can't be undone. With two-person shut-off on, the result is 'waiting' for a second owner, admin or security member (confirm_shut_off). Confirm with the user first.

Inputs: key_id (required), action, confirmed. Returns: object

simulate_workloadSimulate a workloadA
Read-onlyIdempotent
Inspect

A month of calls across any mix of models, at list prices: each line's cost per call and per month, the total, a projection with monthly growth, where each line ranks among every current model of its kind, the same model on other hosts, and cheaper models from the same provider. Usage is per call.

Inputs: lines (required), months, growth_pct. Returns: object

single_sign_onSingle sign-onBInspect

action get, link (domains: your company's email domains), portal (intent sso, domain_verification or dsync: a WorkOS link for whoever administers the identity provider), refresh (read domain verification) or save (enforced, default_role, groups: directory group to role). Changes are for owners. Confirm before requiring SSO.

Inputs: action, groups, intent, domains, +2 more. Returns: object

teams_and_peopleTeams, people and contractsA
Read-onlyIdempotent
Inspect

show teams (who is in which team and cost center, and who manages which), matching (tool names not matched to an email, with likely emails), contracts (what the company pays each tool) or privacy (how people are named).

Inputs: show. Returns: object

update_claimUpdate a refund claimBInspect

Marks a claim submitted, credited (with credited_usd, which then counts in provider credits and the close) or denied.

Inputs: state (required), claim_id (required), note, credited_usd. Returns: object

vendorsVendorsA
Read-onlyIdempotent
Inspect

view rates (what each AI provider and seat tool really costs as a share of list price, whether the agreed rate is on the bill, and seats nobody used; start and end YYYY-MM-DD, the last 30 days by default; use before saying a vendor overcharged or whether a deal is good), agreements (every vendor agreement: notice dates, commitment pacing and tiers; state filters), agreement (one, by agreement_id, with spending day by day), baselines (proven savings: each frozen baseline's newest month) or savings (baseline_id and month YYYY-MM: what the new rate saved apart from usage changes, and whether the agreed rate is on the bill).

Inputs: end, view, month, start, +3 more. Returns: object

waiting_shut_offsShut-offs waitingA
Read-onlyIdempotent
Inspect

Shut-offs waiting for a second owner, admin or security member, with two-person shut-off on.

Inputs: no named parameters. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    • FinOps agent MCP: one allocated view of cloud, AI and data costs for your team. Starter $300/mo

      https://app-api.costory.io/mcp
    • Agent Cost Allocator MCP — multi-tenant LLM cost attribution for chargeback billing. Companion to

    • Costory is the FinOps agent your team builds on. Claude plus a single provider's MCP works for one person and one cloud. It breaks when you add more providers, more people, and more tools to maintain. - Multiple providers: AWS, GCP, Azure, LLM APIs and data clouds normalized and allocated to teams and features in one model, including allocation from telemetry (Kubernetes, Datadog, dbt). - Multiple users: one hosted setup with OAuth, per-user access and enterprise SSO, instead of local credentials and prompts per person. - Maintained for you: tools, skills and connectors kept up to date by Costory, so reorgs and new services don't break your agent. Your agent finds savings, explains every change in spend and issues recommendations that your coding agent can implement. It works in Claude, Cursor and any MCP client, plus Slack. Customers include Alan, Deezer, Delivery Hero, Voodoo and Pennylane. Pricing: Starter from $300/month, flat: unlimited users and data sources, and a fair use that 80% of customers never outgrow. Nothing is ever cut off, and agents connected through the MCP use no AI credits. 30-day free trial.

      https://app-api.costory.io/mcp
    • Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.

      https://api.ledgy.app/mcp

    Related MCP Servers

    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources