Skip to content

beel-es/beel-mcp

v0.4.2MIT

Spanish e-invoicing with VeriFactu (AEAT) for AI agents: issue, correct and register invoices, manage customers and NIFs, validate NIFs against the census. Hosted MCP server at https://mcp.beel.es/mcp (Streamable HTTP + OAuth 2.1) or local stdio via npm.

Changelog

Las entradas las genera release-please a partir de los Conventional Commits fusionados en master.

0.10.0 (2026-11-03)

Novedades

  • cf: a ChatGPT surface without restricted data (38de47f)
  • cf: record MCP tool usage in product analytics (dbd9eec)
  • cf: record MCP tool usage in product analytics (c98d623)
  • cf: serve OpenAI's plugin domain challenge (093c063)
  • cf: serve OpenAI's plugin domain challenge (d70f449)
  • prompts: fix-rejection and go-live-checklist workflow prompts (#149) (b7fa962)
  • spec: sincroniza el contrato con la API en producción (fc47844)
  • spec: sincroniza el contrato con la API en producción (8a98c68)
  • tools: CSV imports of managed accounts and customers as tools (4490310)
  • tools: CSV imports of managed accounts and customers as tools (aa96efd)
  • tools: name the BeeL API and its reference in tool descriptions (9cb4ae0)
  • tools: name the BeeL API and its reference in tool descriptions (dff0abc)

Correcciones

  • accept the retired context argument from cached tool lists (52bc284)
  • accept the retired context argument from cached tool lists (8201b28)
  • annotations and a ChatGPT surface for OpenAI's plugin review (aa191e4)
  • build: verify:package admite la salida de tools/list del contrato actual (0127817)
  • cf: add no analytics argument to the tools (c883dce)
  • cf: add no analytics argument to the tools (b688e35)
  • cf: close what an audit of the ChatGPT surface still found (4a4029e)
  • cf: no recipient NIF filter on the ChatGPT surface (d0333f8)
  • cf: no recipient NIF filter on the ChatGPT surface (a87b74f)
  • cf: no standalone NIF check on the ChatGPT surface (486e8f7)
  • cf: no standalone NIF check on the ChatGPT surface (daa9fcb)
  • cf: the ChatGPT surface asks for a NIF only to register a customer (0f9961a)
  • cf: the ChatGPT surface asks for a NIF only to register a customer (4b01e23)
  • cf: tool descriptions on the ChatGPT surface claim no removed field (7276b2c)
  • cf: tool descriptions on the ChatGPT surface claim no removed field (57c2bcf)
  • mcpapp: let the invoice viewer read the PDF in Claude (b49184d)
  • mcpapp: let the invoice viewer read the PDF in Claude (3ef62ff)
  • spec: state a type on every top-level tool argument (f4bf6d9)
  • spec: state a type on every top-level tool argument (89202a8)
  • tools: annotations that match what each tool does (5e76ab5)
  • tools: report setup readiness for the session's environment (8b8eb2e)
  • tools: report setup readiness for the session's environment (7aeb214)
  • tools: set destructiveHint on every hand-written tool (97a52b1)

0.9.0 (2026-09-28)

Novedades

  • fewer calls and smaller results for agents building an integration (#114) (e816046)

0.8.0 (2026-09-27)

Novedades

  • read docs by section and fiscal rules in batches (#112) (c38d46f)

0.7.0 (2026-09-27)

⚠ BREAKING CHANGES

  • docs: beel_docs_search takes query (a string) instead of terms (a list), limit is capped at 20, and it accepts an optional area. beel_docs_get also accepts a result's url or md_url.

Novedades

  • docs: search through the docs site's search endpoint, read one page at a time (9c7f990)
  • guidance: one place for general guidance, short tool descriptions (fb55f63)

0.6.0 (2026-09-27)

⚠ BREAKING CHANGES

  • payment-connection tools address the connection by connection_id instead of provider, and beel_create_series requires document_type.

Novedades

  • align with the production API contract (payment connections by connection_id, series document type, event resolution) (#101) (154f96f)
  • rules: serve the published fiscal rules catalogue as tools and resources (#103) (241950e)
  • rules: tell the agent when to consult the fiscal rules (#107) (dad6050)

Correcciones

  • oauth: answer every token-less request to /mcp with the challenge (#99) (21c5e2c)
  • oauth: report why the token endpoint rejected an exchange (#102) (b8d045f)
  • oauth: tell a transient upstream failure from a configuration fault (#104) (82a463e)

Documentación

  • agents: what must not be written in a public PR (#89) (b53aa91)

0.5.0 (2026-08-29)

Novedades

  • discovery: public resources/read and prompts/get, CSP meta in the viewer (#BEE-1443) (#86) (6edf8cd)
  • oauth: advertise scopes_supported and add opt-in public discovery (#BEE-1443) (#84) (3ddaf71)
  • oauth: agent_auth block in the authorization-server metadata (#BEE-1443) (#88) (dc72c12)

Documentación

  • AGENTS.md for coding agents and an Agent Plugins manifest (#BEE-1443) (#87) (2fda2d9)

0.4.2 (2026-08-29)

Correcciones

  • security: errores de autorización como 4xx, TTL en registros DCR, publish solo desde tag y sync-spec por PR (#82) (6353e83)
  • spec: el contrato sincronizado deja de citar los hosts de almacenamiento en sus ejemplos (#83) (195acec)

Documentación

  • community: plantillas de PR e issues, código de conducta y guía para contribuir (#80) (ff82f9a)

0.4.1 (2026-08-29)

Documentación

  • CHANGELOG versionado y badges de CI y releases en el README (#76) (79fcf89)

0.4.0 (2026-08-29)

Novedades

  • Validación de argumentos contra el schema de cada herramienta también en el servidor remoto (Cloudflare Workers).
  • Nombres de herramienta coherentes con el contrato: beel_get_company, beel_patch_company, beel_delete_company, beel_activate_company, beel_deactivate_company, beel_delete_company_logo (antes beel_*_by_id).
  • destructiveHint/idempotentHint derivados del contrato (x-irreversible, verbo HTTP, cabecera Idempotency-Key).
  • Schemas más compactos y estrictos: sin example ni propiedades readOnly, additionalProperties: false.

Correcciones

  • El puente OAuth no reutiliza un estado de autorización; un fallo de refresco obliga a reconsentir; el entorno se lee del token emitido.
  • beel_get_setup_status ya no informa "listo para emitir" cuando una comprobación falló; cada sección expone su error.
  • Idempotency-Key solo en las operaciones que la declaran; los reintentos de mutaciones sin clave se limitan a 429/503.
  • Se retira beel_put_owner: solo está disponible con sesión del dashboard, nunca con credencial de API.