Skip to main content
Glama
shukiv

blesta-mcp

by shukiv

Get client transactions

get_client_transactions
Read-onlyIdempotent

Retrieve payment transactions for a client or all clients, filtered by status, type, date, amount, and applied status. Shows amount, currency, gateway, reference, and applied invoices.

Instructions

Payment history for a client (or all clients): amount, currency, type (cc/ach/other), status, gateway, reference and which invoices each payment was applied to. Wraps Transactions.getList / getListCount. Filters: payment_type, reference_id, date and amount ranges, applied_status (fully_applied, partially_applied, not_applied).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNoapproved
end_dateNoISO 8601 with timezone
client_idNoOmit to list across all clients
end_amountNo
start_dateNoISO 8601 with timezone
payment_typeNocc, ach, or a transaction type name such as 'check'
reference_idNo
start_amountNo
applied_statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare a safe read-only, idempotent operation, so the description's burden is lower. It adds useful behavior by noting it wraps getList/getListCount and by listing filters, but it does not clarify pagination behavior, status defaults, or how open-world results are bounded.

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?

The description is a tight, front-loaded listing of returned fields, the underlying wrapper, and filters. Every clause adds information and there is no redundancy with title or schema.

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 list tool with no required parameters, the combination of returned fields, wrapper method, and filter list is enough to call it correctly. Lacks explicit pagination/output format detail, but annotations and self-explanatory params keep the gap minor.

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?

With only 40% schema coverage, the description partly compensates by naming the filter parameters, including the applied_status enum values. However, it stops at names and does not explain semantics for page, status, or amount/date ranges beyond what sparse schema comments say.

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?

Description clearly identifies the resource ('payment history for a client or all clients') and the operation (wrapping Transactions.getList/getListCount), and enumerates the data returned (amount, currency, type, status, gateway, reference, invoice application). This differentiates it from singular get_transaction and other client history tools.

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?

The description implies when to use it by defining scope ('for a client (or all clients)') and enumerating filters, but it never explicitly states when to prefer this tool over siblings such as get_transaction or get_invoice_payments. Selection guidance is left to inference.

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