Skip to main content
Glama

Get billing status

well_get_billing_status
Read-only

Read the billing status of this workspace: the plan, its status (trialing, active, past_due, suspended, canceled or trial_ended), the trial-end date or the renewal date, a scheduled cancellation or plan change, the tokens left, and the link to the workspace's billing page in Well. Use it when the person asks which plan the workspace is on, whether the trial or the subscription still runs, when it renews or ends, how many tokens are left, or where to manage billing ("quel est mon forfait ?", "when does my trial end?", "how many tokens do we have left?").

Answer in plain text from summary and the fields. There is no card. Give billing_url exactly as returned and build no link of your own. Say a date, a count or a plan name only as the tool returned it.

This tool only reads. It changes no plan, takes no payment and cancels nothing. To change the plan, pay, cancel or change the card, the person uses the billing page.

Only a workspace owner or admin reads billing. For any other member the call returns outcome: "not_admin" and no plan, date or link: say that only an owner or an admin of the workspace sees billing, and that they can ask one of them. outcome: "billing_off": Well is free during the launch, the workspace has nothing to pay, and Well tells the person before any charge; say so, and give billing_url, where an owner or an admin tells the Well team they want to pay. outcome: "no_plan": the workspace has no plan or trial on record yet; give the billing link. outcome: "charged_to_company": this is the person's personal space and the company workspace they belong to pays for their work here, so it has no plan of its own; say so, give no plan, date, token count or link, and say that the company's owners and admins see its plan.

When the token authorizes one workspace, call this directly — no workspace call is needed first. When it authorizes several, this read will not guess which one you mean: pass workspace_id on the call.

Input Schema

NameRequiredDescriptionDefault
workspace_idNoTarget workspace. Omit when the token authorizes one workspace. Required when it authorizes several: this read reports one workspace's own figures and will not choose which.
conversation_idNoThe conversation id returned by the previous Well result, in its meta under well/conversation_id, in its structuredContent, or in its JSON text block. Pass it back on every call in the same conversation, including a call a card makes, so the chosen workspace and the earlier answers still apply. It decides the conversation on its own: nothing the host states about the session replaces it. Omit it only on the first call of a conversation.
workspace_scopeNoRestrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.

Output Schema

NameRequiredDescriptionDefault
planNoThe plan's name, or null when the workspace has none.
errorNo
statusNotrialing, active, past_due (a payment failed), canceled, or trial_ended.
ends_atNoThe date (YYYY-MM-DD) a running plan stops, when a cancellation is scheduled and the plan does not renew.
outcomeNoread: the plan and its dates follow. not_admin: the caller is not an owner or an admin, so nothing else is returned. billing_off: Well is free during the launch, so there is nothing to pay yet. no_plan: the workspace has no plan or trial on record yet. charged_to_company: a personal space whose work the person's company workspace pays for, so nothing else is returned.
successYes
summaryNoThe plain-text answer, in English. Say it in the person's language; change no figure, date or link.
plan_keyNo
next_planNoThe plan the workspace moves to at `next_plan_at`, when a change is scheduled.
renews_atNoThe next renewal date (YYYY-MM-DD) of an active plan that renews.
billing_urlNoThe workspace's billing page in Well. Give it exactly as returned. Absent for a caller who is not an owner or an admin.
tokens_leftNoThe tokens left in the workspace's pool, plan and top-ups together, or null when Well does not know it now.
next_plan_atNo
workspace_idNo
trial_ends_atNoThe date (UTC, YYYY-MM-DD) the free trial ends, when there is one. The trial still runs while `status` is trialing.
conversation_idNoThe conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation.
newly_connectedNoTools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: "<name> is connected.". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.
resolved_workspaceNoThe workspace that answered, when the caller named none and the token authorizes several.
conversation_id_noteNoPresent only when the server opened a fresh lane, stating that no choice recorded earlier was read.
conversation_id_sourceNoWhere the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / outcome / description
      Previous value: -"read: the plan and its dates follow. not_admin: the caller is not an owner or an admin, so nothing else is returned. billing_off: Well is free during the launch, so there is nothing to pay yet. no_plan: the workspace has no plan or trial on record yet."New value: +"read: the plan and its dates follow. not_admin: the caller is not an owner or an admin, so nothing else is returned. billing_off: Well is free during the launch, so there is nothing to pay yet. no_plan: the workspace has no plan or trial on record yet. charged_to_company: a personal space whose work the person's company workspace pays for, so nothing else is returned."
    • changedOutput schema / properties / outcome / enum
      Previous value: -[
      -  "read",
      -  "not_admin",
      -  "billing_off",
      -  "no_plan"
      -]New value: +[
      +  "read",
      +  "not_admin",
      +  "billing_off",
      +  "no_plan",
      +  "charged_to_company"
      +]
  2. Changed14 schema fields changed
    • removedOutput schema / properties / ends_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / ends_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / next_plan / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / next_plan / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / next_plan_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / next_plan_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / plan / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / plan / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / renews_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / renews_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / resolved_workspace / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / resolved_workspace / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / trial_ends_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / trial_ends_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / plan_key / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "starter",
      -      "pro"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "starter",
      +      "pro",
      +      "scale"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "trialing",
      -  "active",
      -  "past_due",
      -  "canceled",
      -  "trial_ended"
      -]New value: +[
      +  "trialing",
      +  "active",
      +  "past_due",
      +  "canceled",
      +  "suspended",
      +  "trial_ended"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / properties / outcome / description
      Previous value: -"read: the plan and its dates follow. not_admin: the caller is not an owner or an admin, so nothing else is returned. billing_off: billing is not active, there is no plan to pay. no_plan: the workspace has no plan or trial on record yet."New value: +"read: the plan and its dates follow. not_admin: the caller is not an owner or an admin, so nothing else is returned. billing_off: Well is free during the launch, so there is nothing to pay yet. no_plan: the workspace has no plan or trial on record yet."
  6. Changed1 schema field changed
    • changedOutput schema / properties / newly_connected / description
      Previous value: -"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. Start the reply with one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."New value: +"Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later."
  7. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description goes far beyond by naming every outcome branch: not_admin (only owners/admins see billing), billing_off (free during launch, no charge without notice), no_plan, and charged_to_company (personal space paid by the company workspace). It also discloses output-handling rules — answer from `summary`, there is no card, do not construct your own link — which an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded: the resource plus its returned fields come first, then triggers, then answer format, then outcome handling. It is long and has minor redundancy — the read-only statement partially repeats the destructiveHint=false annotation — but each outcome paragraph carries distinct operational instructions rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with an output schema, full annotation coverage and three schema-described parameters, the description closes the remaining gaps: authorization gating, all four non-happy-path outcomes, and exact answer-presentation rules. An agent has everything needed to call it and to phrase the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all three parameters, giving a baseline of 3. The description adds the routing rule that when the token authorizes one workspace this can be called directly with no prior workspace call, which affects call sequencing beyond what the schema states. It says nothing extra about conversation_id or workspace_scope, which is acceptable given the schema carries them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource and then enumerates exactly what is returned: plan, plan status values, trial-end or renewal date, scheduled cancellation or plan change, tokens left, and billing_url. That level of specificity lets an agent separate it from siblings like well_list_subscription_rows, well_get_workspace_preferences or well_show_workspace_picker without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete trigger questions (which plan, is the trial running, when does it renew, how many tokens, where to manage billing) including real paraphrases in French and English. It also states the boundary explicitly: for changing the plan, paying, cancelling or changing the card, the person uses the billing page, not this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources