Skip to main content
Glama
TherapyPortal MCP Server

TherapyPortal MCP Server

by chrischall

therapyportal_list_balances

Read-only

Show what each client owes the therapy practice, including balance due and autopay status, without changing or paying anything.

Instructions

Show what is owed to the therapy practice in TherapyPortal: the balance due for each client, and whether autopay is on. Changes nothing — this server cannot make a payment.

Input Schema

NameRequiredDescriptionDefault
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands; "raw" returns the upstream payload unprojected. compact projects each record to the fields a caller acts on; "full" keeps every field this server understands; "raw" returns the portal payload untouched.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds meaningful context beyond them by stating 'Changes nothing — this server cannot make a payment,' which preempts an agent from attempting a payment action. It does not cover result volume or pagination, keeping it short of a 5.

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?

Two short sentences, zero filler, and the core scope is front-loaded before the negative capability statement.

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

Completeness4/5

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

For a read-only listing tool with no output schema, the description tells the agent what comes back (per-client balance and autopay flag) and confirms no side effects. It omits anything about result size or whether all clients are always returned, a minor gap given the tool's simplicity.

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 description coverage is 100% and the single 'view' enum is fully documented in the schema itself, so the schema carries the burden. The description adds nothing about the view parameter – baseline 3 applies.

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?

States a specific verb ('Show what is owed') and resource ('the balance due for each client, and whether autopay is on'), which is enough to distinguish it from siblings like list_receipts and list_clients 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 Guidelines3/5

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

Usage is implied by the scope statement (balances owed, autopay status) and the note that it cannot make a payment, but it never names an alternative such as list_receipts for payment history or list_clients for roster data, so the agent must infer the boundary.

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