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.
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.