James Valencia
← Projects

2026 — present

MCP Server for SIIGO Pyme

Author / Open Source

Impact

Accounting tasks that used to require opening SIIGO Pyme by hand and navigating its CLI become operations an AI agent runs directly, with the same explicit-confirmation safety a person would have before writing to the accounting.

TypeScriptNode.jsModel Context ProtocolWindows COM

The problem

SIIGO Pyme, the accounting software (a third-party brand, not affiliated), exposes its functions through the EXCELSIIGO.exe CLI: 47 functions that today require opening the program by hand and navigating its interface. Exposing those 47 functions as 47 independent MCP tools has a measured cost, not an estimated one: every schema travels on every model invocation, and that cost each call ~35,000 tokens — 140,116 characters just in tools/list.

The approach

The server collapses the 47 functions behind a single tool siigo_run_function, with auto-discovery of installations and companies and Excel results already parsed to JSON. That brought the schema cost down to 8,927 characters — 94% less, configurable via an environment variable. The cost of that compression: by unifying 47 tools into one, the ability to mark each function as destructive individually is lost, so any write operation (PUSH*, which modifies the real accounting) requires an explicit confirmarEscritura: true flag, because the server can't undo an import. The project also honestly documents a failure mode its own layer can't eliminate: the SIIGO CLI can accept a malformed parameter, log it as an internal error, and exit with status code 0 — an error indistinguishable from success at the process level, and the only way the server can return wrong data. Since SIIGO generates the Excel files via COM, it also needs an active desktop session: it can't run as a Windows service, over SSH without a session, or in a container.

Result

Accounting tasks that used to require opening SIIGO Pyme by hand and navigating its CLI become operations an AI agent runs directly, with the same explicit-confirmation safety a person would have before writing to the accounting.