mcp-statement-of-account
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statement_buildA | Build one client's statement for a period: opening, invoices, payments with deposits applied broken out, credit notes and closing, formatted and in minor units. Free: 5 a month; a rebuild is free. |
| statement_agingA | Age open invoices into 0-30, 31-60, 61-90 and over 90 days past DUE date at a date, per client and currency, with the invoices themselves. Free. statements_report rolls up the whole book instead. |
| statement_textA | Turn one client's statement into a plain-text letter for an email: movements in date order, opening and closing balances, deposit held, a sign-off. It counts toward the 5 a month; statement_pdf writes the A4 page. |
| statement_pdfA | Call this tool to write one client's A4 statement of account and return the path. Titled STATEMENT OF ACCOUNT, movements in date order, BALANCE OUTSTANDING at the foot, and no VAT re-added. Pro. |
| dunning_textA | Write a payment chaser at level 1 friendly, 2 firm or 3 final demand: every OVERDUE invoice with its age, the total and your bank details. Refused if nothing is overdue. No interest is stated. Level 3 is Pro. |
| statements_reportA | Receivables across every client at a date: totals and aging per currency, clients ranked by how much is OVERDUE, and the oldest overdue invoice. Pro. statement_aging is the free per-client view. |
| license_statusA | Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key. |
| license_activateA | Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| chase_overdue | Age the receivables, decide who to chase and at what level, then write the letters. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| sources | The three sibling stores this server reads, whether each could be read, and how many rows each holds. |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: license activation/status, dunning text, per-client aging, whole-book reporting, and statement building/PDF/text outputs. The descriptions explicitly cross-reference differences, such as statement_aging vs statements_report and statement_text vs statement_pdf, so there is no real ambiguity.
Names are consistently snake_case and mostly use the statement_ prefix, but the verb/noun pattern is mixed: license_activate and statement_build are noun+verb, while license_status, statement_pdf, statement_text, and statements_report are noun+noun. The conventions are readable but not uniform enough for a higher score.
Eight tools is well-scoped for this server: two license utilities, one dunning helper, two aging/report tools, and three statement output tools. Each tool earns its place and covers a distinct part of the statement workflow without redundancy.
The core statement workflow is well covered: build, text, PDF, aging, receivables report, dunning, and license state. Minor gaps exist, such as no license deactivation or quota/usage check for the free monthly statement builds, but these are workable and not likely to break common agent flows.