Siigo MCP Server
Enables integration with Colombian accounting software Siigo through its API. Supports managing products, customers, invoices, purchases, credit notes, vouchers, payment receipts, journals, and generating financial reports.
README
Siigo MCP Server
A Model Context Protocol (MCP) server that provides integration with the Siigo API, enabling access to Colombian accounting software features including products, customers, invoices, purchases, credit notes, vouchers, payment receipts, and journals.
Features
This MCP server provides access to all major Siigo API endpoints:
Core Resources
- Products: Create, read, update, and delete products/services
- Customers: Manage customer/supplier information
- Invoices: Handle sales invoices with electronic invoicing support
- Purchases: Manage purchase invoices and expenses
- Credit Notes: Create and manage credit notes
- Vouchers: Handle cash receipts (recibos de caja)
- Payment Receipts: Manage payment receipts/disbursements
- Journals: Handle accounting journal entries
Catalogs
- Document types, taxes, payment types
- Cost centers, users, warehouses
- Price lists, account groups, cities
- ID types, fiscal responsibilities
Reports
- Trial balance reports
- Trial balance by third party
- Accounts payable reports
Installation
- Clone this repository:
git clone <repository-url>
cd siigo-mcp
- Install dependencies:
npm install
- Build the TypeScript code:
npm run build
- Set up environment variables by copying the example file:
cp .env.example .env
- Edit
.envwith your Siigo credentials:
SIIGO_USERNAME=your_siigo_username
SIIGO_ACCESS_KEY=your_siigo_access_key
SIIGO_BASE_URL=https://api.siigo.com
SIIGO_PARTNER_ID=your_app_name
Configuration
Required Environment Variables
SIIGO_USERNAME: Your Siigo API usernameSIIGO_ACCESS_KEY: Your Siigo API access key
Optional Environment Variables
SIIGO_BASE_URL: API base URL (defaults tohttps://api.siigo.com)SIIGO_PARTNER_ID: Partner ID for API identification (defaults tosiigo-mcp-server)
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, you can use the sandbox environment
Usage
Running the Server
Start the MCP server:
npm start
For development with auto-reload:
npm run dev
Available Tools
The server provides 40+ tools for interacting with the Siigo API. Here are some examples:
Products
siigo_get_products- List all productssiigo_get_product- Get a specific product by IDsiigo_create_product- Create a new productsiigo_update_product- Update an existing productsiigo_delete_product- Delete a product
Customers
siigo_get_customers- List all customerssiigo_get_customer- Get a specific customer by IDsiigo_create_customer- Create a new customersiigo_update_customer- Update an existing customer
Invoices
siigo_get_invoices- List all invoicessiigo_get_invoice- Get a specific invoice by IDsiigo_create_invoice- Create a new invoicesiigo_update_invoice- Update an existing invoicesiigo_delete_invoice- Delete an invoicesiigo_get_invoice_pdf- Get invoice PDFsiigo_send_invoice_email- Send invoice by email
Catalogs
siigo_get_document_types- Get document typessiigo_get_taxes- Get tax informationsiigo_get_payment_types- Get payment methodssiigo_get_cost_centers- Get cost centerssiigo_get_users- Get system users
Reports
siigo_get_trial_balance- Generate trial balance reportsiigo_get_accounts_payable- Get accounts payable report
Example Usage
Creating a Product
{
"name": "siigo_create_product",
"arguments": {
"product": {
"code": "PROD001",
"name": "Test Product",
"account_group": 1253,
"type": "Product",
"active": true,
"description": "A test product"
}
}
}
Creating a Customer
{
"name": "siigo_create_customer",
"arguments": {
"customer": {
"person_type": "Person",
"id_type": "13",
"identification": "12345678",
"name": ["John", "Doe"],
"address": {
"address": "123 Main St",
"city": {
"country_code": "Co",
"state_code": "11",
"city_code": "11001"
}
},
"phones": [{"number": "1234567890"}],
"contacts": [{
"first_name": "John",
"last_name": "Doe",
"email": "john@example.com"
}]
}
}
}
API Rate Limits
Siigo API has the following rate limits:
- Production: 100 requests per minute per company
- Sandbox: 10 requests per minute
Error Handling
The server handles various Siigo API errors and returns structured error responses. Common error scenarios include:
- Authentication failures
- Invalid parameters
- Rate limit exceeded
- Resource not found
- Validation errors
Development
Project Structure
siigo-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ ├── siigo-client.ts # Siigo API client
│ └── types.ts # TypeScript type definitions
├── package.json
├── tsconfig.json
├── .env.example
└── README.md
Building
npm run build
Testing
npm test
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License
Support
For issues related to:
- Siigo API: Contact Siigo support at soporteapi@siigo.com
- This MCP server: Create an issue in this repository
Links
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.