Skip to main content
Glama
encorp-io

nulabg-mcp

by encorp-io

Receivables and overdue invoices

nula_receivables_report
Read-only

Retrieve unpaid and overdue sales invoices as of a date, grouped by customer with aging buckets (0-30, 31-60, 61-90, 90+ days overdue) to identify outstanding receivables.

Instructions

Unpaid and overdue sales invoices (вземания, просрочени фактури) as of a date, grouped by customer with aging buckets (0–30 / 31–60 / 61–90 / 90+ days overdue). Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofNoReference date (default today)
date_fromNoOnly invoices issued from this date (default: 12 months before as_of)
customer_eikNo
min_days_overdueNoOnly invoices at least this many days overdue

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's 'Read-only' is redundant but not contradictory. The description adds useful behavioral context: it groups by customer, provides aging buckets with specific day ranges, and is as-of a date. It does not disclose pagination or output format, but for a read-only report tool with no output schema, the description covers the key behavior. No contradiction with annotations.

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 single, dense sentence that front-loads the core purpose, includes the aging-bucket detail, and ends with 'Read-only.' Every word earns its place; no filler or repetition.

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 report tool with 4 optional parameters and no output schema, the description is nearly complete. It explains the report's content, grouping, and aging buckets. It could mention that the output is a list/table and whether it includes totals, but the absence of an output schema makes that a minor gap. The read-only annotation covers safety, so the description doesn't need to repeat it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the schema documents most parameters. The description adds meaning by explaining the report's structure (aging buckets, grouping by customer), which helps an agent understand how parameters like min_days_overdue and date_from affect the output. It doesn't detail every parameter, but the schema already covers them. A 4 is justified because the description complements the schema well.

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 states a specific verb ('Unpaid and overdue sales invoices... as of a date'), a clear resource (receivables/overdue invoices), and a distinctive grouping/aging-bucket structure. It also includes Bulgarian terms for disambiguation and explicitly says 'Read-only', which distinguishes it from mutation tools. It is clearly differentiated from siblings like nula_search_invoices (which searches invoices) and nula_period_summary (which summarizes periods).

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?

The description implies when to use it: when you need receivables/aging as of a date, grouped by customer. It does not explicitly name alternatives or exclusions, but the context signals and sibling list make the use case clear. A 4 is appropriate because the context is clear but there is no explicit 'use this instead of X' guidance.

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