Skip to main content
Glama
blackwaxxx

buildium-mcp

by blackwaxxx

Buildium List Gl Accounts

buildium_list_gl_accounts
Read-onlyIdempotent

List general ledger accounts to get the IDs required for posting rent charges and other financial transactions. Supports pagination, counting, and filtering test records.

Instructions

List general ledger accounts. You need these IDs to post rent charges and other financial transactions.

To count, use count_only; for totals, all_pages.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoRecords per page, 1-1000.
fieldsNoKeep only these top-level fields in each record, e.g. ["Id", "Name"]. Buildium records are large and carry tax IDs and addresses you may not need.
offsetNoHow many records to skip. Use next_offset from the previous page.
all_pagesNoFollow pagination and return the records, up to 1000. Use it for totals and other aggregates; a figure from one page is wrong whenever there is more than one page.
count_onlyNoFollow every page, up to 100,000 records, and return only how many there are. Use it for "how many" questions.
exclude_fixturesNoLeave out test records, whose names start with the fixture prefix (see buildium_health). When any are present the response says so either way.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.2.1
    • addedInput schema / properties / all_pages / description
      Added value: +"Follow pagination and return the records, up to 1000. Use it for totals and other aggregates; a figure from one page is wrong whenever there is more than one page."
    • addedInput schema / properties / count_only / description
      Added value: +"Follow every page, up to 100,000 records, and return only how many there are. Use it for \"how many\" questions."
    • addedInput schema / properties / exclude_fixtures / description
      Added value: +"Leave out test records, whose names start with the fixture prefix (see buildium_health). When any are present the response says so either way."
    • addedInput schema / properties / fields / description
      Added value: +"Keep only these top-level fields in each record, e.g. [\"Id\", \"Name\"]. Buildium records are large and carry tax IDs and addresses you may not need."
    • addedInput schema / properties / limit / description
      Added value: +"Records per page, 1-1000."
    • addedInput schema / properties / offset / description
      Added value: +"How many records to skip. Use next_offset from the previous page."
  2. Changed1 schema field changedv0.2.0
    • addedInput schema / properties / count_only
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
  3. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by explaining why you need the IDs (for posting transactions), which goes beyond the annotations. It also mentions that using all_pages for totals is necessary to avoid wrong figures, but it doesn't deeply describe the response format or edge cases like the fixture exclusion behavior, which are partly covered by the parameter descriptions.

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 concise and front-loaded with the main purpose in the first sentence. The second sentence provides critical usage guidance on two key parameters, and the entire description is under 50 words. Every sentence earns its place, with no redundancy.

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?

Given the complexity of 6 parameters and the presence of an output schema, the description is complete. The parameter descriptions in the schema cover the detailed semantics, and the tool description adds the key context about why the IDs are needed and how to count vs. get totals. The annotations already cover the safety profile, so nothing critical is missing.

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?

The input schema has 100% description coverage, so each parameter is already well-documented with details like defaults and usage guidance (e.g., 'Follow pagination and return the records, up to 1000. Use it for totals'). The description adds only a small amount of extra guidance in the body, such as the 'count_only' and 'all_pages' usage hints. Since the schema already does the heavy lifting, the description doesn't need to add much, so a baseline 3 is appropriate.

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 clearly states the tool lists general ledger accounts and that the IDs are needed for posting transactions. It distinguishes itself from siblings by focusing on GL accounts, which is a specific resource type. The verb 'List' is precise and the resource is unambiguous.

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?

The description explicitly says to use count_only for counting and all_pages for totals. It clearly indicates the when-not conditions for those two parameters, which is essential for correct usage. This instruction prevents the agent from misusing the default pagination or getting incorrect aggregate figures.

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