Siigo MCP Server
The Siigo MCP Server provides comprehensive integration with the Siigo Colombian accounting platform through 68 tools, enabling full management of accounting documents, catalogs, and reports.
Products
Full CRUD for products, services, consumer goods, and Combo products with components
Search by code, name, or reference
Customers
Create, update, search, and manage customers, suppliers, and third parties
Filter by identification, name, or type
Invoices (FV)
Create, update, delete, and annul sales invoices
Retrieve PDF/XML, send by email, query DIAN errors
Healthcare sector support and batch creation (async with webhook notifications)
Quotations (C) (New in v3)
Full CRUD for quotations (cotizaciones)
Purchases (FC)
Full CRUD for purchase invoices and expenses, including Documentos de Soporte
Credit Notes (NC)
Create, query, and retrieve PDFs; supports healthcare sector fields
Vouchers / Cash Receipts (RC)
Create and query cash receipts (recibos de caja)
Payment Receipts / Disbursements (RP)
Full CRUD for payment receipts and comprobantes de egreso
Journals (CC)
Create and query accounting journal entries (comprobantes contables)
Webhooks (New in v3)
Subscribe, create, update, and delete webhook subscriptions
Inventory Management (New in v3)
Create and edit account groups / inventory categories
Catalogs
Retrieve document types, taxes, payment types, cost centers, users/sellers, warehouses, price lists, cities, ID types, fiscal responsibilities, and fixed assets
Reports
General and third-party trial balance reports
Accounts payable reports with pagination and Excel export
Technical Highlights
TypeScript with full type safety and Zod schema validation
Structured error handling with Siigo API error codes and details
Rate limit management and 120-second HTTP timeout for long-running operations
Easy setup via NPX, global npm install, or source build with environment variable configuration
Used for managing environment variables and configuration settings for Siigo API credentials
Used for package management and dependency installation in the Node.js-based MCP server implementation
Used as the programming language for implementing the MCP server with type safety
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Siigo MCP Servershow me all invoices from last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Siigo MCP Server
A Model Context Protocol (MCP) server that provides full integration with the Siigo API, enabling access to Colombian accounting software features including products, customers, invoices, quotations, purchases, credit notes, vouchers, payment receipts, journals, webhooks, and more.
v4.0.0 — 71 verified tools, strict current Siigo contracts, Resolution 948 healthcare support, full sales and accounting resources, safe retries/idempotency, MCP cancellation, and public TypeScript/Zod interfaces.
Features
This MCP server covers the current documented Siigo Colombia API surface listed in the coverage matrix. Source conflicts are resolved using the published source-of-truth policy.
It is intentionally broader than Siigo's official MCP, whose current documentation lists read operations for products, create/read/update for customers, and create/read for sales invoices. This server covers 15 Siigo resource families through 71 tools, including accounting, purchasing, catalogs, reports, webhooks, and the extended invoice lifecycle.
Core Resources
Products: Full CRUD for products, services, consumer goods, and Combo products with components
Customers: Manage customers, suppliers, and third parties
Invoices: Sales invoices with electronic invoicing, healthcare sector, batch creation, annulment, PDF, XML, and DIAN error queries
Quotations: Full CRUD for quotations (cotizaciones)
Purchase Support Documents: Full CRUD for documentos soporte (
/purchase-support-documents)Purchases: Purchase invoices and expenses
Credit Notes: Create and query credit notes with PDF support and healthcare sector fields
Vouchers: Cash receipts (recibos de caja), including debt payments, advance payments, and miscellaneous income
Payment Receipts: Payment receipts / disbursements (recibos de pago / comprobantes de egreso) - full CRUD
Journals: Accounting journal entries (comprobantes contables)
Webhooks: Subscribe to and manage webhook events
Inventory Management
Account Groups: Create and edit inventory categories
Catalogs
Document types (FV, RC, NC, FC, CC, RP, C, DS)
Taxes, payment types, cost centers
Users/sellers, warehouses, price lists
Account groups, fixed assets, expenses, miscellaneous income concepts
Reports
Trial balance reports (general and by third party)
Accounts payable reports
Related MCP server: SnelStart MCP Server
Installation
Option 1: NPX (Recommended - No Installation Required)
npx @jdlar/siigo-mcpOption 2: Global Installation
npm install -g @jdlar/siigo-mcp
siigo-mcpOption 3: Local Development / Building from Source
git clone https://github.com/jdlar1/siigo-mcp.git
cd siigo-mcp
pnpm install
pnpm build
cp .env.example .env
# Edit .env with your Siigo credentialsConfiguration
Required Environment Variables
Variable | Description |
| Your Siigo API username |
| Your Siigo API access key |
| Partner ID for API identification (3-100 alphanumeric chars, no spaces) |
Optional Environment Variables
Variable | Default | Description |
|
| API base URL |
|
| Client-side requests per rolling minute (1-100); set |
|
| MCP transport: |
|
| HTTP bind address |
|
| HTTP listening port |
| — | Bearer token for HTTP requests; required when binding outside loopback |
| — | Optional comma-separated HTTP Host allowlist |
Siigo documents a limit of 100 requests per minute in production and 10 requests per minute for test companies. The client defaults to 100; set SIIGO_REQUESTS_PER_MINUTE=10 when using a test company. Values outside 1-100 are rejected at startup.
Getting Siigo API Credentials
Sign up for a Siigo account at siigo.com
Access the API section in your Siigo dashboard
Generate your API credentials (username and access key)
For testing, use the sandbox environment
MCP Client Configuration
Stateless Streamable HTTP
The default transport remains stdio. To run a stateless HTTP endpoint locally:
MCP_TRANSPORT=http pnpm startThe endpoint is available at http://127.0.0.1:3000/mcp. Each POST uses a fresh MCP server and transport, does not issue an MCP session ID, and returns a JSON response instead of retaining an SSE session.
For a network-accessible deployment, set an explicit bearer token:
MCP_TRANSPORT=http \
MCP_HOST=0.0.0.0 \
MCP_PORT=3000 \
MCP_AUTH_TOKEN=replace_with_a_long_random_token \
pnpm startClients must send Authorization: Bearer <token>. Terminate TLS at a trusted reverse proxy or hosting platform; do not expose the endpoint over plaintext HTTP.
Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"siigo": {
"command": "npx",
"args": ["@jdlar/siigo-mcp"],
"env": {
"SIIGO_USERNAME": "your_username",
"SIIGO_ACCESS_KEY": "your_access_key",
"SIIGO_PARTNER_ID": "yourappname"
}
}
}
}TypeScript library API
v4 exposes a side-effect-free library entrypoint as well as the executable:
import { SiigoClient, type SiigoInvoiceInput } from '@jdlar/siigo-mcp';
import { invoiceSchemas } from '@jdlar/siigo-mcp/schemas';
const client = new SiigoClient({
username: process.env.SIIGO_USERNAME!,
accessKey: process.env.SIIGO_ACCESS_KEY!,
partnerId: process.env.SIIGO_PARTNER_ID!,
baseUrl: 'https://api.siigo.com',
});
declare const input: unknown;
const invoice: SiigoInvoiceInput = invoiceSchemas.invoiceInputSchema.parse(input);
const created = await client.createInvoice(invoice, { idempotencyKey: 'Invoice2026082601' });Supported subpath exports are client, contracts, server, http, results, schemas, types, and version.
Available Tools (71 total)
Products (6 tools)
Tool | Description | Annotations |
| List products with pagination | read-only |
| Get a product by ID | read-only |
| Create product (supports Combo type with components) | |
| Update a product | |
| Delete a product | destructive |
| Search by code, name, or reference (partial match) | read-only |
Account Groups / Inventory Categories (3 tools)
Tool | Description | Annotations |
| List inventory categories | read-only |
| Create inventory category | |
| Update inventory category |
Customers (5 tools)
Tool | Description | Annotations |
| List customers | read-only |
| Get a customer by ID | read-only |
| Create a customer/third party | |
| Update a customer | |
| Search by identification, name, or type | read-only |
Invoices (10 tools)
Tool | Description | Annotations |
| List invoices with date filters | read-only |
| Get an invoice by ID | read-only |
| Create invoice (supports healthcare and transport sectors) | |
| Update an invoice | |
| Delete an invoice | destructive |
| Annul (void) an invoice | destructive |
| Get invoice PDF (base64) | read-only |
| Get invoice electronic XML (base64) | read-only |
| Get DIAN rejection errors | read-only |
| Send invoice by email (up to 5 addresses) |
Batch Invoices (1 tool)
Tool | Description | Annotations |
| Create invoices in batch (async with webhook notification) |
Quotations (5 tools)
Tool | Description | Annotations |
| List quotations with date filters | read-only |
| Get a quotation by ID | read-only |
| Create a quotation (document type C) | |
| Update a quotation | |
| Delete a quotation | destructive |
Credit Notes (4 tools)
Tool | Description | Annotations |
| List credit notes | read-only |
| Get a credit note by ID | read-only |
| Create credit note (supports healthcare sector, external invoice refs) | |
| Get credit note PDF (base64) | read-only |
Vouchers / Cash Receipts (3 tools)
Tool | Description | Annotations |
| List cash receipts (recibos de caja) | read-only |
| Get a cash receipt by ID | read-only |
| Create cash receipt (DebtPayment, AdvancePayment, MiscIncome) |
Purchase Support Documents (4 tools)
Tool | Description | Annotations |
| Get a purchase support document by ID | read-only |
| Create purchase support document (document type DS) | |
| Update a purchase support document | |
| Delete a purchase support document | destructive |
Purchases (5 tools)
Tool | Description | Annotations |
| List purchase invoices | read-only |
| Get a purchase by ID | read-only |
| Create a purchase invoice | |
| Update a purchase | |
| Delete a purchase | destructive |
Payment Receipts / Disbursements (5 tools)
Tool | Description | Annotations |
| List payment receipts (recibos de pago / comprobantes de egreso) | read-only |
| Get a payment receipt by ID | read-only |
| Create payment receipt (DebtPayment, AdvancePayment, Detailed) | |
| Update a payment receipt | |
| Delete a payment receipt | destructive |
Journals / Accounting Entries (3 tools)
Tool | Description | Annotations |
| List accounting journals (comprobantes contables) | read-only |
| Get a journal by ID | read-only |
| Create journal entry (debits must equal credits) |
Webhooks (4 tools)
Tool | Description | Annotations |
| List webhook subscriptions | read-only |
| Subscribe to a webhook event | |
| Update a webhook subscription | |
| Delete a webhook subscription | destructive |
Catalogs (10 tools + account groups above)
Tool | Description |
| Document types (FV, RC, NC, FC, CC, RP, C, DS) |
| Taxes (IVA, Retefuente, ReteIVA, ReteICA, etc.) |
| Payment methods |
| Cost centers |
| Users/sellers |
| Warehouses |
| Price lists (up to 12) |
| Expenses for cash receipt adjustments |
| Miscellaneous income concepts for cash receipts |
| Fixed assets |
Reports (3 tools)
Tool | Description |
| Trial balance report (Excel) |
| Trial balance by third party (Excel) |
| Accounts payable report |
Document Types Reference
Code | Spanish Name | English Name | MCP Support |
| Factura de Venta | Sales Invoice | Full CRUD + PDF/XML/Email/Batch/Annul |
| Recibo de Caja | Cash Receipt | Create + Query |
| Nota Credito | Credit Note | Create + Query + PDF |
| Factura de Compra | Purchase Invoice | Full CRUD |
| Comprobante Contable | Accounting Journal | Create + Query |
| Recibo de Pago/Egreso | Payment Receipt | Full CRUD |
| Cotizacion | Quotation | Full CRUD |
| Documento Soporte | Purchase Support Document | Full CRUD |
Example Usage
Create a Quotation
{
"name": "siigo_create_quotation",
"arguments": {
"quotation": {
"document": { "id": 12345 },
"date": "2026-02-13",
"customer": { "identification": "13832081", "branch_office": 0 },
"seller": 629,
"items": [{
"code": "PROD001",
"quantity": 5,
"price": 50000,
"taxes": [{ "id": 13156 }]
}]
}
}
}Create a Combo Product
{
"name": "siigo_create_product",
"arguments": {
"product": {
"code": "COMBO-001",
"name": "Kit de oficina",
"account_group": 1253,
"type": "Combo",
"components": [
{ "code": "PROD-001", "quantity": 2 },
{ "code": "PROD-002", "quantity": 1 }
]
}
}
}Create a Healthcare Invoice
{
"name": "siigo_create_invoice",
"arguments": {
"invoice": {
"document": { "id": 24446 },
"date": "2026-02-13",
"customer": { "identification": "13832081" },
"seller": 629,
"items": [{ "code": "SRV001", "quantity": 1, "price": 150000 }],
"payments": [{ "id": 5636, "value": 150000 }],
"healthcare_company": {
"operation_type": "SS-CUFE",
"period_start": "2026-01-01",
"period_end": "2026-01-31",
"payment_method": "04",
"service_plan": "16",
"contract_number": "CONTRACT-2026-001",
"copayment": 150000
}
}
}
}Create Batch Invoices
{
"name": "siigo_create_invoice_batch",
"arguments": {
"notification_url": "https://myapp.com/webhooks/siigo-batch",
"invoices": [
{
"idempotency_key": "INV202602001",
"document": { "id": 24446 },
"date": "2026-02-13",
"customer": { "identification": "13832081" },
"seller": 629,
"items": [{ "code": "PROD001", "quantity": 1, "price": 50000 }],
"payments": [{ "id": 5636, "value": 50000 }]
}
]
}
}API Rate Limits
Production: 100 requests per minute per company
Sandbox: 10 requests per minute
The server uses a 120-second HTTP timeout as recommended by Siigo for long-running operations.
Error Handling
The server handles Siigo API errors and returns structured error responses with error codes, messages, and details. See the Siigo API docs for a full list of error codes.
Development
Project Structure
siigo-mcp/
├── src/
│ ├── cli.ts # stdio / HTTP executable entrypoint
│ ├── index.ts # side-effect-free public library exports
│ ├── mcp-server.ts # MCP server factory and tool registration
│ ├── http-server.ts # Stateless Streamable HTTP application
│ ├── siigo-client.ts # HTTP client for all Siigo API endpoints
│ ├── contracts.ts # exact inferred request contract types
│ ├── schemas/ # strict Zod API contracts
│ ├── tools/ # resource-specific MCP registrations
│ └── types.ts # Siigo response and shared interfaces
├── docs/ # source policy and API coverage matrix
├── test/ # compiled-output Jest contract tests
├── dist/ # Compiled output (ESM)
├── package.json
├── tsconfig.json
├── CHANGELOG.md
└── README.mdBuilding
pnpm buildRunning for Development
pnpm devContributing
Fork the repository
Create a feature branch
Make your changes
Run
pnpm lint && pnpm testto verifySubmit a pull request
License
MIT License
Support
Siigo API: Contact soporteapi@siigo.com
This MCP server: Create an issue
Links
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceUnofficial MCP server for Siigo Colombian electronic invoicing software that enables AI to manage customers, products, invoices, credit notes, and journals through the Siigo API with configurable safety modes.191MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables seamless integration with SnelStart accounting data, allowing users to manage multiple administrations, process invoices, and handle bookings through the B2B API. It supports comprehensive read/write operations, VAT summary generation, and document processing for UBL invoices and bank statements.
- FlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with the Siigo API to manage products, customers, and invoices with enterprise-grade security features like RBAC and audit logging. It supports financial reporting operations and secure data handling through the Model Context Protocol.
- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server that provides full integration with the Siigo API, enabling access to Colombian accounting software features including products, customers, invoices, quotations, purchases, credit notes, vouchers, payment receipts, journals, webhooks, and more.44206MIT
Related MCP Connectors
Chilean DTE/SII invoicing — issue invoices, reconcile payments and manage clients with AI agents.
Financial & accounting management on Omie (Brazil's leading cloud ERP), payables/receivables, financ
Peru CPE invoices for AI agents - issue, query, void facturas/boletas via SUNAT (2 backends).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jdlar1/siigo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server