Skip to main content
Glama

List workspaces

well_list_workspaces
Read-only

List the workspaces this connection is authorized to access.

Use this FIRST when a single token may cover more than one workspace. Each entry has:

  • workspace_id: pass this as the workspace_id argument on other tools to target one workspace.

  • workspace_name: human-readable name (null if it can't be resolved).

  • is_primary: true for the token's default workspace (used when you omit workspace_id on a write).

  • identity: the company behind the workspace (registered name, trade name, registry number, country, website, currency, fiscal year start), so two similarly-named workspaces can be told apart. Every field is null when the workspace has no accounting settings yet. Tax identifiers are deliberately not included.

  • has_bank_transactions: whether a connector the workspace BANKS with has delivered any transaction to it, meaning a bank, a neobank, or a treasury or spend platform whose product is an account. An accounting platform and a payment processor deliver transactions too and do NOT count here. Neither does a transaction whose source connector is unknown, whose install has since been disconnected, or whose catalog entry has been retired. Only true shows that a bank has fed this workspace: false means no such transaction was found and null means the signal could not be read, so an absent value is never a zero and neither value licenses skipping a bank-connection step. Read this before any month read when the flow needs to know whether the workspace banks with anything at all.

The result also carries session — what the user's card clicks have already recorded this session: pinned_workspace_id (null when not switched), workspace_queue (the workspaces to work through next, empty when none), selected_periods (the months picked on the period card, empty when none), and selected_counterparties (the counterparties picked on the missing-invoices card, with the workspace their company ids belong to; null when none was picked). Call this any time you need to resync with clicks you may have missed.

When the token authorizes a single workspace you can omit workspace_id everywhere; when it authorizes several, read tools fan out across all of them unless you pass a workspace_id, and write tools require one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspace_idNoTarget workspace. Optional: this tool describes the token itself rather than one workspace's data, so omitting it returns the same answer.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
sessionNoWhat this session's card clicks recorded so far; null/empty fields when nothing was clicked yet.
successYes
workspacesYes

TDQS

A4.7/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, and the description adds substantial behavioral detail beyond that: the optional-workspace_id behavior, null semantics for identity and bank-transaction fields, deliberate omission of tax identifiers, and the meaning of has_bank_transactions as a signal rather than a definitive zero. It also discloses the session resync capabilities, leaving little hidden behavior.

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

Conciseness5/5

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

Though long, the description earns its length: it is front-loaded with the core purpose, then uses bullets for entry fields and paragraphs for nuanced semantics like bank-transaction detection and session resync. Every sentence carries actionable information, and the structure makes the complex content navigable rather than sprawling.

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?

The description is fully complete for a tool of this complexity. It covers the authorization context, the meaning of every returned entry field, the workspace_id selection behavior, bank-signal caveats, and session-staleness resync. Even with an output schema present, this description goes beyond what is needed and leaves no obvious agent question unanswered.

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

Parameters3/5

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

Schema coverage is 100%: the input schema already fully describes the only parameter, including that it is optional and that omitting it returns the same answer. The description reinforces this by explaining the workspace_id argument's role on other tools, but it does not meaningfully add new parameter-level semantics beyond what the schema already provides.

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 description opens with a clear verb-resource statement: 'List the workspaces this connection is authorized to access.' It specifies the resource, the authorization scope, and immediately positions the tool as the first step when a token may span multiple workspaces, distinguishing it from workspace-scoped operations like well_switch_workspace or well_get_own_company.

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 explicit when-to-use instructions: 'Use this FIRST when a single token may cover more than one workspace,' and 'Call this any time you need to resync with clicks you may have missed.' It also explains when workspace_id can be omitted versus when it must be provided, giving actionable context for read and write tools across the API.

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.

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: CRUD for companies, people, and invoices; financial analytics (cash, cost, runway, holdings); connector management and invocation; schema discovery; querying; reconciliation; and contact channel management. No two tools could be confused for the same action.

Naming Consistency5/5

All tools follow the `well_verb_noun` pattern with consistent verb choices (create, get, list, update, delete, add, remove, run, resolve, query, invoke). The naming is predictable and makes the tool's purpose immediately clear.

Tool Count4/5

With 26 tools, the set is slightly above the ideal 3-15 range, but every tool earns its place given the breadth of the domain (CRM, invoicing, financial analytics, reconciliation, connector management). The count is well-scoped and not excessive.

Completeness4/5

The tool surface covers core CRUD, financial KPIs, reconciliation, and connector management. Minor gaps exist (e.g., no direct tool to update contact channels or manage accounts), but the query and schema tools allow agents to work around them, and the primary workflows are fully supported.

Resources