Skip to main content
Glama

Hello Club MCP by usefulapi

Create transaction

hello_club_create_transaction
Destructive

WRITE: create a financial transaction for a member (a charge, or a credit when is_credit is true), e.g. an invoice line or a manual adjustment. This changes the member's amount owing / account credit in the club's books and, with notify_by_email, emails the member. Not idempotent: calling twice creates two transactions. Confirm member, amount and type with the user first. POST /transaction.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoTransaction date (default: now).
typeYesTransaction type (use 'other' for a manual charge).
amountYesAmount in the club's currency, a positive number (tax inclusive).
detailsYesDescription shown on the invoice.
due_dateNoPayment due date.
is_creditNoTrue = a credit to the member instead of a charge (default false).
member_idYesMember the transaction is for.
notify_by_emailNoEmail the member about this transaction (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already flag readOnly=false, destructive=true and idempotent=false, and the description adds genuinely new context on top: what actually changes (the member's amount owing / account credit in the club's books), the emailing side effect of notify_by_email, and the concrete consequence of non-idempotency ('calling twice creates two transactions'). It also surfaces the human-confirmation requirement, which no annotation conveys.

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?

Front-loaded with the operation verb and scope in the first clause, and each subsequent sentence adds distinct information (side effect, email, idempotency, confirmation, endpoint). The trailing 'POST /transaction.' is the only near-redundant element, but the rest is dense and waste-free.

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 destructive, non-idempotent write tool with no output schema and 8 parameters, the description covers the mutation's effects, the confirmation gate and non-idempotency, which is what an agent most needs. It stops short of telling the agent what is returned (e.g. whether a transaction ID comes back) so the agent can chain into get_transaction, which is the only notable gap.

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%, including the is_credit, type, amount and notify_by_email definitions, so the schema already carries parameter meaning. The description restates is_credit's charge/credit duality and notify_by_email's email behavior but adds no new syntax, constraints or formats beyond what the schema documents - the 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 and resource ('create a financial transaction for a member') and immediately clarifies the two concrete variants: a charge, or a credit when is_credit is true, with examples (invoice line, manual adjustment). The 'WRITE:' prefix and the nature of the operation distinguish it cleanly from read siblings like hello_club_list_transactions and hello_club_get_transaction.

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

Usage Guidelines4/5

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

Gives a clear precondition ('Confirm member, amount and type with the user first') and the context in which the tool applies (posting charges or credits to a member's account). It implies rather than states the split from read siblings - it never explicitly names list/get_transaction as the read-only alternatives - so it stops short of a 5.

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.