Skip to main content
Glama
BeeL MCP server

BeeL MCP server

Official
by beel-es

beel_get_fiscal_summary

Read-onlyIdempotent

Returns a company's VAT and IRPF invoice summary for a requested period, with annual IRPF projection and progressive bracket breakdown.

Instructions

Returns the VAT and IRPF summary of the invoices issued under this company over the requested period, together with the annual IRPF projection and its progressive bracket breakdown. start_date and end_date go together: send both, or neither. Omitting both defaults to the current month; sending only one answers 400, because a period you did not ask for is worse than an error. The range may not exceed 365 days, and every fault names itself in details.reason.

BeeL API endpoint: GET /v1/companies/{company_id}/fiscal-summary (reference: https://docs.beel.es)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "company_id": "<company_id>"
    },
    "name": "beel_get_fiscal_summary"
  }
}

Input Schema

NameRequiredDescriptionDefault
end_dateNoPeriod end date (inclusive), as `YYYY-MM-DD`. Goes together with `start_date`: supply both or neither. Omitting both defaults to the current month; supplying only one is rejected with `400` (`PERIOD_INCOMPLETE`).
company_idYesUnique identifier (UUID) of the company the operation acts on — its identifier, not its NIF. It is the only source of context: the account that owns it is derived from it, and the `BeeL-Active-Company` header plays no part. A company you do not reach answers `403`, and so does a company that does not exist, so the existence of a company in another account is never disclosed.
start_dateNoPeriod start date (inclusive), as `YYYY-MM-DD`. Goes together with `end_date`: supply both or neither. Omitting both defaults to the current month; supplying only one is rejected with `400` (`PERIOD_INCOMPLETE`).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.5.0
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / company_id / description
      Previous value: -"NIF (company) the operation acts on. It is the only source of context: the account that owns it is derived from it, and the `BeeL-Active-Company` header plays no part. A NIF you do not reach answers `403`, and so does a NIF that does not exist, so the existence of a NIF in another account is never disclosed."New value: +"Unique identifier (UUID) of the company the operation acts on — its identifier, not its NIF. It is the only source of context: the account that owns it is derived from it, and the `BeeL-Active-Company` header plays no part. A company you do not reach answers `403`, and so does a company that does not exist, so the existence of a company in another account is never disclosed."
    • changedInput schema / properties / end_date / description
      Previous value: -"Period end date (inclusive). Format: YYYY-MM-DD"New value: +"Period end date (inclusive), as `YYYY-MM-DD`. Goes together with `start_date`:\nsupply both or neither. Omitting both defaults to the current month; supplying\nonly one is rejected with `400` (`PERIOD_INCOMPLETE`).\n"
    • changedInput schema / properties / start_date / description
      Previous value: -"Period start date (inclusive). Format: YYYY-MM-DD"New value: +"Period start date (inclusive), as `YYYY-MM-DD`. Goes together with `end_date`:\nsupply both or neither. Omitting both defaults to the current month; supplying\nonly one is rejected with `400` (`PERIOD_INCOMPLETE`).\n"
  2. First observedv0.3.1

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description usefully adds the default-period behavior and the 365-day cap, but it says nothing about the shape, size, or pagination of the aggregate response, which for a reporting tool is the main remaining behavior an agent needs.

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?

The return contents are front-loaded in sentence one, followed by the date-pairing constraint and error behavior. The aside about an unrequested period being 'worse than an error' is a small rhetorical flourish that could be cut, but the endpoint reference line is compact and useful.

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?

With no output schema, the description carries the burden of describing returns and does so at a high level (VAT/IRPF summary, annual projection, bracket breakdown) plus the error-reason location. It is complete enough to call correctly, though it could say more about the response's granularity or aggregation period.

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 coverage is 100%, so both date parameters are fully documented in the schema, which sets the baseline at 3. The description does add the 365-day maximum constraint that is not in the schema, which is genuine extra meaning, but the rest restates period-pairing rules already present in parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Returns the VAT and IRPF summary of the invoices issued under this company') and enumerates the payload contents (VAT, IRPF summary, annual projection, progressive bracket breakdown), which clearly separates it from invoice-listing tools. It never names a sibling such as beel_list_stats, so the differentiation is inferred from content rather than stated.

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?

It gives precise operating context: start_date and end_date must be supplied together or omitted (default current month), a single date returns 400, and the range is capped at 365 days. It does not say when to prefer this over the other reporting/statistics siblings, so tool-level selection guidance is absent.

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

Deploy Server

Other Tools