Skip to main content
Glama
beel-es

BeeL MCP server

Official
by beel-es

beel_generate_representation

Generate an unsigned AEAT representation PDF for a company (NIF) to enable digital signing and submission. Validates fiscal identity completeness and rejects existing active representations.

Instructions

Generates the unsigned AEAT representation PDF of a company (NIF), which is then downloaded from GET /v1/companies/{company_id}/representation/document, signed digitally and returned through POST /v1/companies/{company_id}/representation/submit.

The fiscal identity of the company must be complete before the document can be produced; an incomplete one is rejected with 400 naming what is missing. A company that already holds an active representation is rejected too: cancel it first.

Endpoint: POST /v1/companies/{company_id}/representation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
company_idYesNIF (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.
idempotency_keyNoOptional idempotency key for this operation. Omit it and one is derived from the request itself, which makes a blind retry safe but also collapses a SECOND, deliberately identical operation into the first for 24 hours. Set it — to an order id, or anything unique per intended operation — whenever you mean to create something that may look identical to what you just created.
Behavior5/5

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

Annotations already declare non-read-only and open-world, but the description adds specific behavior: it produces an unsigned PDF, only generates (does not sign or submit), rejects incomplete fiscal identity with 400, and rejects existing active representations. This exceeds the annotation coverage and removes ambiguity about side effects and prerequisites.

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?

Three compact paragraphs: the first states the purpose and workflow, the second details failure conditions, the third gives the endpoint. Every sentence carries information; there is no fluff. The purpose is front-loaded, and the structure aids scanning.

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?

The description covers the full workflow and prerequisites, and gives error codes. It does not specify the tool's response format (e.g., whether it returns a status or document ID), but with no output schema and a clear downstream GET endpoint, this is a minor gap. Overall, an agent has enough to call it correctly and know the next steps.

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% and both parameters (company_id, idempotency_key) already carry rich descriptions in the schema. The tool description itself adds no new parameter meaning beyond what the schema already states — the company_id context is in the schema, and idempotency_key is not mentioned in the tool description. 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 uses a specific verb ('Generates') plus a precise artifact ('unsigned AEAT representation PDF') and names the target resource ('company (NIF)'). It clearly distinguishes this generation action from sibling tools like cancellation or download, and even spells out the downstream endpoints. No ambiguity about what the tool does.

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 gives explicit conditions for use: fiscal identity must be complete (otherwise 400), and any active representation must be cancelled first. It also frames this tool as the first step of a three-step flow (generate → download → sign/submit), which tells an agent exactly when to invoke it and what to do if it fails. It implicitly contrasts with cancellation and download siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/beel-es/beel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server