Siigo MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DRY_RUN | No | Set to 'true' to mock write operations | |
| SIIGO_MODE | No | Tool mode: read_only (default), standard, or full | read_only |
| LOGFIRE_TOKEN | No | Pydantic Logfire token for observability | |
| SIIGO_USERNAME | Yes | Siigo account email | |
| SIIGO_ACCESS_KEY | Yes | Siigo API access key | |
| SIIGO_LAZY_TOOLS | No | Set to 'true' for token-optimized lazy loading | |
| SIIGO_PARTNER_ID | Yes | Siigo partner ID |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_taxesA | Get all configured taxes in the Siigo account. Returns a list of taxes with their IDs, names, and percentages. Use these tax IDs when creating invoices or products. |
| get_payment_typesA | Get all configured payment types/methods. Returns a list of payment types (cash, credit card, bank transfer, etc.) Use these payment type IDs when creating invoices or cash receipts. |
| get_document_typesA | Get all configured document types. Args: document_type: Optional filter by type (FV=invoice, NC=credit note, etc.) Returns a list of document types configured in the account. Common types: FV (factura), NC (nota crédito), RC (recibo de caja). |
| get_warehousesA | Get all configured warehouses/locations. Returns a list of warehouses for inventory management. Use warehouse IDs when creating products or invoices with inventory. |
| get_usersB | Get all users in the Siigo account. Returns a list of users who can be assigned as sellers or responsible parties. |
| get_account_groupsB | Get all account groups/classifications. Returns a list of account groups for categorizing products or customers. |
| list_customersA | List customers with pagination and optional filters. Args: page: Page number (starts at 1) page_size: Number of results per page (max 100) name: Filter by customer name (partial match) identification: Filter by identification number (NIT/cédula) Returns paginated list of customers with navigation links. |
| get_customerB | Get a customer by ID. Args: customer_id: The customer's GUID Returns the full customer details including contacts and addresses. |
| list_productsA | List products with pagination and optional filters. Args: page: Page number (starts at 1) page_size: Number of results per page (max 100) code: Filter by product code (partial match) name: Filter by product name (partial match) Returns paginated list of products with navigation links. |
| get_productB | Get a product by ID. Args: product_id: The product's GUID Returns the full product details including prices and taxes. |
| list_invoicesA | List invoices with pagination and optional filters. Args: page: Page number (starts at 1) page_size: Number of results per page (max 100) date_start: Filter by start date (YYYY-MM-DD format) date_end: Filter by end date (YYYY-MM-DD format) customer_name: Filter by customer name (partial match) Returns paginated list of invoices with navigation links. |
| get_invoiceB | Get an invoice by ID. Args: invoice_id: The invoice's GUID Returns the full invoice details including items, taxes, and payments. |
| get_stamp_errorsA | Get DIAN rejection errors for an invoice. Args: invoice_id: The invoice's GUID Returns any errors from DIAN if the stamp was rejected. Use this to understand why an invoice failed DIAN validation. |
| get_invoice_pdfA | Download an invoice as PDF. Args: invoice_id: The invoice's GUID Returns the PDF content as base64-encoded string. Decode with base64.b64decode() to get binary PDF. |
| list_credit_notesA | List credit notes with pagination and optional filters. Args: page: Page number (starts at 1) page_size: Number of results per page (max 100) date_start: Filter by start date (YYYY-MM-DD format) date_end: Filter by end date (YYYY-MM-DD format) Returns paginated list of credit notes with navigation links. |
| get_credit_noteB | Get a credit note by ID. Args: credit_note_id: The credit note's GUID Returns the full credit note details. |
| get_credit_note_pdfA | Download a credit note as PDF. Args: credit_note_id: The credit note's GUID Returns the PDF content as base64-encoded string. Decode with base64.b64decode() to get binary PDF. |
| list_journalsA | List journal entries (accounting vouchers) with pagination. Args: page: Page number (starts at 1) page_size: Number of results per page (max 100) date_start: Filter by start date (YYYY-MM-DD format) date_end: Filter by end date (YYYY-MM-DD format) Returns paginated list of journal entries with navigation links. |
| get_journalB | Get a journal entry by ID. Args: journal_id: The journal's GUID Returns the full journal entry details including all line items. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Every tool has a clearly distinct purpose targeting specific resources and actions, with no overlap or ambiguity. For example, get_invoice retrieves details while get_invoice_pdf downloads the PDF, and list_invoices provides paginated listings, each serving a unique function within the accounting domain.
Tool names follow a highly consistent verb_noun pattern throughout, using 'get_' for single-item retrieval, 'list_' for paginated listings, and specific nouns like 'invoice', 'customer', or 'product'. This uniformity makes the tool set predictable and easy to navigate for an agent.
With 19 tools, the server is well-scoped for its accounting and invoicing domain, covering key entities like invoices, customers, products, and credit notes. Each tool earns its place by providing necessary operations such as retrieval, listing, and PDF generation, without being excessive or sparse.
The tool set offers strong coverage for retrieval and listing operations across core accounting entities, but lacks create, update, or delete tools, which are essential for full CRUD workflows. Agents can read data effectively but cannot modify it, representing a minor gap in lifecycle management.