Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INFORMER_TOOLSNoAllowlist of tags and/or tool names, comma separated.(all)
INFORMER_API_KEYYesAPI key for a single administration.
INFORMER_BASE_URLNoOverride the API root.https://api.informer.eu/v2
INFORMER_SPEC_URLNoOverride the API description to download.
INFORMER_READ_ONLYNo`true` exposes only GET tools, for every administration. Same as `--read-only`.false
INFORMER_AUTO_SETUPNo`false` stops the setup page from opening when no credentials are configured.true
INFORMER_SPEC_CACHENoWhere the downloaded API description is cached.~/.informer-mcp.spec.json
INFORMER_TIMEOUT_MSNoPer-request timeout.30000
INFORMER_CONFIG_FILENoJSON file listing several administrations. Created by setup if absent.~/.informer-mcp.json
INFORMER_MAX_RETRIESNoRetries for 408/429/5xx and network errors.2
INFORMER_OPEN_BROWSERNo`false` prints the setup URL instead of launching a browser.true
INFORMER_EXCLUDE_TOOLSNoDenylist, applied after the allowlist.(none)
INFORMER_SECURITY_CODEYesSecurity code for that administration.
INFORMER_ADMINISTRATIONSNoThe same JSON inline, as an environment variable. Overrides the file per alias.
INFORMER_FANOUT_CONCURRENCYNoHow many administrations a fan-out query hits at the same time.4
INFORMER_MAX_RESPONSE_CHARSNoLonger tool results are truncated with a notice. Split evenly across a fan-out query.100000
INFORMER_SPEC_MAX_AGE_HOURSNoHow old the cached API description may get before a background refresh. `0` disables it.24
INFORMER_ADMINISTRATION_MODENo`read-only` or `read-write` for that alias.
INFORMER_ADMINISTRATION_ALIASNoAlias for the single INFORMER_API_KEY pair.default
INFORMER_ADMINISTRATION_LABELNoHuman-readable name for that alias.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_administrationsA

List the client administrations this server is configured for, with the alias to pass as the "administration" argument of every other tool, and whether each one may be written to. Set "verify" to also fetch each company name from the API, which confirms the credentials work and that each alias points at the company you expect. To change any of it — add a client, replace a key, switch one to read-only — use open_setup.

get_administrationA

Get administration details.

Get details about the administration linked to this API key, including address, contact information, tax IDs and active modules.

[Administration] GET /administration

get_relationA

Get a single relation.

Get a single relation by ID. Includes contacts, tags and custom fields (free fields).

[Relations] GET /relations/{id}

update_relationB

Update a relation.

Update an existing relation by ID. Not all fields are required; you can send only the fields you want to update.

[Relations] PUT /relations/{id}

list_relationsA

Get a list of relations.

Get a paginated list of all relations. For each relation the contacts, tags and subtypes are included.

[Relations] GET /relations

create_relationA

Create a new relation.

Create a new relation. The relation_number is optional; if omitted or 0, a new number is generated. The fields sales_invoice_template_id and payment_condition_id are optional; default values will be used if not provided.

When relation_type is 0 (company): company_name is required, firstname/surname are forbidden. When relation_type is 1 (private): firstname and surname are required, company_name is forbidden.

[Relations] POST /relations

get_contactB

Get a single contact.

Get a single contact person by ID.

[Contacts] GET /contact/{id}

update_contactA

Update a contact.

Update an existing contact person by ID.

[Contacts] PUT /contact/{id}

create_contactC

Create a new contact.

Create a new contact person linked to a relation.

[Contacts] POST /contact

get_sales_invoiceA

Get a single sales invoice.

Get a single sales invoice by ID, including all line items.

[Sales Invoices] GET /invoices/sales/{id}

update_sales_invoiceA

Update a sales invoice.

Update an existing sales invoice by ID. The invoice must be in concept status.

[Sales Invoices] PUT /invoices/sales/{id}

list_sales_invoicesB

Get a list of sales invoices.

Get a paginated list of all sales invoices with their line items.

[Sales Invoices] GET /invoices/sales

create_sales_invoiceA

Create a new sales invoice.

Create a new sales invoice. Use the /invoices/sales/options endpoint first to determine valid combinations of vat_id, ledger_id and vat_option.

Lines can be either regular lines (with qty, amount, vat_id, ledger_id) or info lines (with info=true and description only).

For administrations in Austria (AT) or Germany (DE), the delivery_date field is also required.

[Sales Invoices] POST /invoices/sales

get_sales_invoice_optionsA

Get sales invoice options.

Get the available VAT rates with their compatible ledger accounts and VAT options. Use this endpoint to determine valid combinations of vat_id, ledger_id and vat_option when creating invoices.

[Sales Invoices] GET /invoices/sales/options

get_sales_invoice_pdfA

Get sales invoice PDF.

Download the PDF of a sales invoice as a base64-encoded string.

[Sales Invoices] GET /invoices/sales/pdf/{id}

send_sales_invoiceB

Send a sales invoice.

Send a sales invoice via email, mark as sent, or send via Peppol. The invoice will be finalized before sending.

[Sales Invoices] POST /invoices/sales/send/{id}

upload_sales_invoice_attachmentA

Upload an invoice-specific attachment.

Upload a file as a document-specific attachment for a sales invoice. The file content must be base64-encoded. Supported types: PDF, PNG, JPEG, GIF, DOC, DOCX, XLS, XLSX. Maximum size: 10 MB. The attachment is automatically included when the invoice is sent by email and is preserved when the invoice is updated. Do not reference these IDs in the 'attachments' field of POST/PUT requests; manage them only through this endpoint.

[Sales Invoices] POST /invoices/sales/{id}/attachments

download_sales_invoice_attachmentA

Download an invoice attachment.

Download the file content of an attachment linked to a sales invoice, base64-encoded. Works for both shared library attachments and invoice-specific document attachments, as long as the attachment is linked to this invoice. The file content is only returned by this endpoint, not in the invoice GET response.

[Sales Invoices] GET /invoices/sales/{id}/attachments/{attachment_id}

delete_sales_invoice_attachmentA

Delete an invoice-specific attachment.

Delete a document-specific attachment from a sales invoice. The file is permanently removed from storage.

[Sales Invoices] DELETE /invoices/sales/{id}/attachments/{attachment_id}

get_purchase_invoiceA

Get a single purchase invoice.

Get a single purchase invoice by ID, including all line items.

[Purchase Invoices] GET /invoices/purchase/{id}

list_purchase_invoicesA

Get a list of purchase invoices.

Get a paginated list of all purchase invoices with their line items.

[Purchase Invoices] GET /invoices/purchase

create_purchase_invoiceA

Create a new purchase invoice.

Create a new purchase invoice. Use the /invoices/purchase/options endpoint first to determine valid combinations of vat_id and ledger_id.

The amount field per line is the gross amount (excl or incl VAT depending on vat_option). The vat_amount is the VAT portion of that amount.

[Purchase Invoices] POST /invoices/purchase

get_purchase_invoice_optionsA

Get purchase invoice options.

Get the available VAT rates with their compatible ledger accounts for creating purchase invoices.

[Purchase Invoices] GET /invoices/purchase/options

get_purchase_invoice_pdfA

Get purchase invoice PDF.

Download the PDF attached to a purchase invoice as a base64-encoded string.

[Purchase Invoices] GET /invoices/purchase/pdf/{id}

get_recurring_invoiceA

Get a single recurring invoice.

Get a single recurring invoice by ID, including all line items.

[Recurring Invoices] GET /invoices/recurring/{id}

update_recurring_invoiceB

Update a recurring invoice.

Update an existing recurring invoice by ID.

[Recurring Invoices] PUT /invoices/recurring/{id}

list_recurring_invoicesA

Get a list of recurring invoices.

Get a paginated list of all recurring invoices with their line items.

[Recurring Invoices] GET /invoices/recurring

create_recurring_invoiceA

Create a new recurring invoice.

Create a new recurring invoice. Use the /invoices/recurring/options endpoint first to determine valid combinations of vat_id, ledger_id and vat_option.

Lines can be either regular lines (with qty, amount, vat_id, ledger_id) or info lines (with info=true and description only).

[Recurring Invoices] POST /invoices/recurring

get_recurring_invoice_optionsA

Get recurring invoice options.

Get the available VAT rates with their compatible ledger accounts and VAT options. Use this endpoint to determine valid combinations of vat_id, ledger_id and vat_option when creating recurring invoices. Per VAT rate the usable ledger accounts and compatible vat_option values are returned.

[Recurring Invoices] GET /invoices/recurring/options

get_sales_orderA

Get a single sales order.

Get a single sales order by ID, including all line items. Requires the trade module to be active.

[Sales Orders] GET /orders/sales/{id}

update_sales_orderB

Update a sales order.

Update an existing sales order by ID. Requires the trade module to be active.

[Sales Orders] PUT /orders/sales/{id}

list_sales_ordersA

Get a list of sales orders.

Get a paginated list of all sales orders with their line items. Requires the trade module to be active.

[Sales Orders] GET /orders/sales

create_sales_orderA

Create a new sales order.

Create a new sales order. Requires the trade module to be active. Use the /orders/sales/options endpoint first to determine valid combinations of vat_id, ledger_id and vat_option.

For administrations in Austria (AT) or Germany (DE), the delivery_date field is also required.

[Sales Orders] POST /orders/sales

get_sales_order_optionsA

Get sales order options.

Get the available VAT rates with their compatible ledger accounts and VAT options for creating sales orders. Requires the trade module to be active.

[Sales Orders] GET /orders/sales/options

get_sales_order_pdfA

Get sales order PDF.

Download the PDF of a sales order as a base64-encoded string.

[Sales Orders] GET /orders/sales/pdf/{id}

send_sales_orderA

Send a sales order.

Send a sales order via email or mark as sent. Requires the trade module to be active. Peppol is not available for sales orders.

[Sales Orders] POST /orders/sales/send/{id}

get_quotationA

Get a single quotation.

Get a single quotation by ID, including all line items.

[Quotations] GET /quotations/{id}

update_quotationB

Update a quotation.

Update an existing quotation by ID.

[Quotations] PUT /quotations/{id}

list_quotationsA

Get a list of quotations.

Get a paginated list of all quotations with their line items.

[Quotations] GET /quotations

create_quotationA

Create a new quotation.

Create a new quotation. Use the /quotations/options endpoint first to determine valid combinations of vat_id, ledger_id and vat_option.

For administrations in Austria (AT) or Germany (DE), the delivery_date field is also required.

[Quotations] POST /quotations

get_quotation_optionsA

Get quotation options.

Get the available VAT rates with their compatible ledger accounts and VAT options for creating quotations.

[Quotations] GET /quotations/options

get_quotation_pdfA

Get quotation PDF.

Download the PDF of a quotation as a base64-encoded string.

[Quotations] GET /quotations/pdf/{id}

send_quotationA

Send a quotation.

Send a quotation via email, mark as sent, or send via Peppol.

[Quotations] POST /quotations/send/{id}

get_salesbook_invoiceA

Get a single salesbook invoice.

Get a single salesbook invoice by ID, including all line items.

[Salesbook] GET /salesbook/{id}

update_salesbook_invoiceC

Update a salesbook invoice.

Update an existing salesbook invoice by ID.

[Salesbook] PUT /salesbook/{id}

list_salesbook_invoicesB

Get a list of salesbook invoices.

Get a paginated list of all salesbook invoices with their line items.

[Salesbook] GET /salesbook

create_salesbook_invoiceA

Create a new salesbook invoice.

Create a new salesbook invoice. Use the /salesbook/options endpoint first to determine valid combinations of vat_id, ledger_id and vat_option.

A PDF file can optionally be attached as a base64-encoded string.

For administrations in Austria (AT) or Germany (DE), the delivery_date field is also required.

[Salesbook] POST /salesbook

get_salesbook_invoice_optionsA

Get salesbook options.

Get the available VAT rates with their compatible ledger accounts and VAT options for creating salesbook invoices.

[Salesbook] GET /salesbook/options

get_salesbook_invoice_pdfA

Get salesbook PDF.

Download the PDF file attached to a salesbook invoice as a base64-encoded string.

[Salesbook] GET /salesbook/pdf/{id}

list_payment_conditionsB

Get all payment conditions.

Get a list of all payment conditions configured for this administration.

[Payment Conditions] GET /payment-conditions

list_templatesB

Get all templates.

Get a list of all document templates configured for this administration.

[Templates] GET /templates

list_vat_optionsA

Get all VAT options.

Get a list of all VAT/tax rates configured for this administration, including their percentages, codes and availability status.

[VAT] GET /vat

list_ledgersA

Get all ledger accounts.

Get a list of all ledger accounts (chart of accounts) for this administration, including VAT codes, cost centre settings, RGS codes and condensation codes.

[Ledgers] GET /ledgers

list_cost_centresA

Get all cost centre accounts.

Get a list of all cost centre accounts for this administration.

[Costs] GET /costs

list_currenciesA

Get all currencies.

Get a list of all currencies configured for this administration, including exchange rates.

[Currencies] GET /currencies

list_journalsB

Get all journals.

Get a list of all journals (dagboeken) for this administration.

[Journals] GET /journals

list_subscription_typesA

Get all subscription types.

Get a list of all subscription types (abonnementstypes) for this administration.

[Subscription types] GET /subscription-types

list_attachmentsB

Get all attachments.

Get a list of all available document attachments for this administration.

[Attachments] GET /attachments

list_productsA

Get all products.

Get a list of all products for this administration, including supplier information. Requires the trade module to be active.

[Products] GET /products

get_receiptC

Get a single receipt.

Get a single receipt by ID.

[Receipts] GET /receipts/{id}

update_receiptB

Update a receipt.

Update an existing receipt.

[Receipts] PUT /receipts/{id}

list_receiptsB

Get a list of receipts.

Get a paginated list of all receipts (bonnetjes) for this administration.

[Receipts] GET /receipts

create_receiptC

Create a new receipt.

Create a new receipt.

[Receipts] POST /receipts

get_memorandum_entryA

Get a single memorandum entry.

Get a single memorandum journal entry by ID, including all line items.

[Memorandum] GET /memorandum/{id}

update_memorandum_entryA

Update a memorandum entry.

Update an existing memorandum journal entry. All lines are replaced with the newly provided lines. Debit and credit totals across all lines must be equal.

[Memorandum] PUT /memorandum/{id}

list_memorandum_entriesA

Get a list of memorandum entries.

Get a paginated list of all memorandum journal entries with their line items.

[Memorandum] GET /memorandum

create_memorandum_entryB

Create a new memorandum entry.

Create a new memorandum journal entry. Debit and credit totals across all lines must be equal.

Optionally link a line to an existing sales invoice, purchase invoice or receipt by providing both type and invoice_id on the line.

[Memorandum] POST /memorandum

get_balance_reportB

Get balance sheet.

Get a balance sheet report for a given year range and period.

[Reports] GET /reports/balance

get_column_balance_reportB

Get column balance.

Get a column balance (proef- en saldibalans) for a given year, period range and ledger account range.

[Reports] GET /reports/column-balance

refresh_api_specA

Download the current OpenAPI description from Informer and update this server's tools to match, without restarting. New endpoints become new tools, removed ones disappear, and changed arguments are re-advertised. Use it when an endpoint you expect is missing, when an argument is rejected as unknown, or to check whether Informer has changed anything. Pass dry_run to see the differences without applying them. This only touches this server; it never changes bookkeeping data.

open_setupA

Open the Informer settings, configuration or setup page. This is the single answer to every request about configuring this server: first-time setup, "open the config/settings/configuration site", adding a client or administration, changing or rotating an API key or security code, switching a client between read-only and read-write, removing one, or fixing a call that failed with 401 Authentication failed. It opens a form on 127.0.0.1 in the user's browser, one card per administration: alias, company name, API key, security code, access. Call this instead of searching the filesystem for config files, reading the installation directory, running the setup command in a shell, or asking the user for a key in the conversation — credentials belong in the page, not in a chat. Returns the URL to pass on in case the browser did not open. Saving verifies each key against the API and applies the change to this server immediately.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
openapiThe OpenAPI 3.0 specification these tools are generated from.