**mi-sii-mcp** es un servidor [Model Context Protocol (MCP)](https://modelcontextprotocol.io) de código abierto que conecta asistentes de inteligencia artificial —**Claude, Codex, Gemini CLI, Grok, Cursor, VS Code con Copilot** y otros clientes MCP— con tu información tributaria del **Servicio de Impuestos Internos (SII) de Chile**. Lee tu IVA, tus F29, tu renta (F22), tus boletas de honorarios, lo que otros informan sobre ti y tus anotaciones en Mi SII; lo guarda **en tu equipo** y lo **concilia** para mostrarte qué cuadra, qué no y qué vence. Además estima el F29 y la renta antes de declarar, concilia tus cartolas del banco, arma libros y asientos para tu contador, te avisa cada día solo si algo requiere atención y muestra las formas **legales** de pagar menos, con su norma. Funciona en **solo lectura** frente al SII y el asistente nunca recibe tu clave.
> [!NOTE]
> Proyecto independiente de código abierto: no está afiliado al SII ni reemplaza la asesoría de un contador. Úsalo para revisar tu información y tomar mejores decisiones.
---
## Características principales
- **Consultas tributarias en lenguaje natural**: pregúntale a tu asistente por tu IVA, tus F29, tu renta o tus boletas de honorarios, con tus datos reales del SII.
- **Conciliación automática**: cruza el registro de compras y ventas con el F29, las boletas con la renta y lo que informan tus pagadores con tus propios registros.
- **Alertas útiles**: F29 sin presentar o por vencer (día 12, 20 o 28 según tu caso), facturas por reclamar, descuadres y anotaciones vigentes del SII.
- **F29 y renta estimados**: calcula el F29 del mes (débito, crédito, remanente, PPM y retenciones) y el F22 de una persona antes de declararlos, y los compara con lo presentado.
- **Banco y contabilidad**: importa cartolas en CSV de cualquier banco, las concilia con facturas, boletas e impuestos, y arma libros, asientos y el resultado del período, exportables a Excel.
- **Revisión diaria**: con un clic en la página local, revisa todas tus cuentas cada día y te avisa con una notificación de Windows solo cuando hay algo nuevo.
- **Ahorro tributario legal**: oportunidades que tus datos sostienen (crédito de IVA por usar, postergación del IVA, gastos efectivos, APV), cada una con su norma y la página oficial; simula el régimen Pro Pyme y proyecta el cierre del año.
- **Cartera**: para quien lleva varias empresas, una vista de qué cuenta necesita atención.
- **Se adapta a los cambios del SII**: nota cuando el SII cambia sus respuestas; si renombra un monto, lo encuentra solo comprobándolo al peso con los totales del propio SII; si no puede comprobarlo, se detiene antes de guardar datos malos y avisa. Con `diagnostico` ves su salud.
- **Resiliente**: si el SII no responde, se detiene en vez de insistir; si la sesión vence a mitad de camino y guardaste la clave, entra de nuevo sola; lo que falló se reintenta en la revisión diaria; la base se respalda cada día.
- **Respuestas livianas**: JSON compacto y versiones resumidas por defecto (`detalle: true` trae todo), para que el asistente responda más rápido.
- **Solo lectura**: nunca presenta, modifica ni emite nada en el SII.
- **Datos locales**: todo se guarda en una base SQLite en tu equipo; no hay servidores intermedios.
- **La clave no pasa por el chat**: inicias sesión en una página local y ninguna herramienta del MCP recibe claves.
- **Varias cuentas**: tu RUT personal y los de tus empresas, cada uno con su propia sesión.
- **Open source (MIT)**, escrito en TypeScript, con más de 1.600 pruebas automáticas que usan solo datos ficticios.
## Qué lee del SII y qué concilia
| Área | Qué trae del SII | Qué concilia |
| --- | --- | --- |
| **IVA** | Registro de Compras y Ventas (RCV), F29 presentados (con su PDF) y propuesta de F29 | IVA del RCV contra el F29, F29 faltantes, facturas por reclamar y coherencia interna del F29 |
| **Boletas de honorarios** | Recibidas (por mes) y emitidas (resumen anual y detalle boleta por boleta) | Retención de las boletas contra el F29 (código 151) y contra la renta (códigos 547 y 492) |
| **Renta (F22)** | Declaraciones por año tributario, folio vigente, códigos, observaciones y eventos (devoluciones, giros), y lo que el SII prepara para el F22 (PPM y comparativo F29-RCV) | Boletas emitidas y lo informado por terceros contra el F22; los PPM del SII contra tus F29 |
| **Informado por terceros** | Declaraciones juradas que otros presentan sobre ti (p. ej. retenciones de honorarios) | Lo que informa cada pagador contra tus boletas y tu F22; avisa si el SII observó la declaración de un informante |
| **Cuenta** | Perfil tributario (régimen, segmento, autorización para declarar el F29 hasta el día 20) y empresas autorizadas | Vencimientos del F29 según tu caso |
| **Mi SII** | Anotaciones vigentes (p. ej. F29 no presentado, que puede impedir emitir documentos), estado de cumplimiento y mensajes | Las convierte en avisos de la revisión diaria |
Y con lo guardado, sin ir al SII:
| Área | Qué hace |
| --- | --- |
| **Estimaciones** | F29 del mes antes de declararlo y F22 de una persona (con los datos públicos del año); proyección del cierre del año contra los PPM pagados |
| **Banco** | Importa cartolas CSV, concilia cada movimiento con facturas, boletas, F29 y F22, y muestra las cuentas por cobrar y por pagar por antigüedad |
| **Contabilidad** | Plan de cuentas base, libros de compras, ventas, honorarios y banco, propuesta de asientos que cuadran y resultado devengado o percibido, exportables a CSV |
| **Seguimiento** | Revisión diaria con avisos sin repetir, novedades y el estado de toda la cartera |
| **Ahorro legal** | Oportunidades con su norma y página oficial, y simulación Pro Pyme General frente a Transparente |
Los **datos públicos** (UTM, tablas de impuestos, tasas de cotización, comisiones de AFP) no se guardan: la herramienta `fuentes_oficiales` indica en qué página oficial consultarlos para el año que corresponda.
## Qué no hace
mi-sii-mcp (repositorio oficial: [github.com/Taksuma-0/mi-sii-mcp](https://github.com/Taksuma-0/mi-sii-mcp)) sirve para **consultar y conciliar** tu información tributaria. Para no confundirlo con otros proyectos de nombre parecido:
- **No emite** facturas, boletas ni otros documentos, y **no usa el Sistema de Facturación Gratuito** del SII (MiPyme).
- **No presenta ni rectifica** declaraciones (F29, F22) ni modifica nada en el portal.
- **No descarga los archivos XML o PDF de las facturas electrónicas (DTE)**: lee el detalle del Registro de Compras y Ventas.
- **No opera el portal con un navegador automatizado**: consulta el SII directamente y solo abre el navegador, si tú lo eliges, para iniciar sesión con ClaveÚnica.
- **No envía tus datos a servidores de terceros**: todo queda en tu equipo. Solo escribe en tu equipo: la base, los archivos que exportas y la tarea de la revisión diaria si la activas.
- **No es una contabilidad completa**: propone libros y asientos para revisar con tu contador.
- **No sugiere operaciones para pagar menos**: solo muestra beneficios que la ley ya permite, con su norma; simular gastos o contratos es elusión o fraude.
- **No consulta la Tesorería** (deudas y giros) por ahora.
- **No se actualiza sola**: avisa cuando hay una versión nueva en npm (una consulta al día a registry.npmjs.org, sin datos tuyos; se apaga con `MI_SII_MCP_SIN_AVISO_VERSION=1`), pero no instala nada.
## Compatibilidad con agentes de IA
mi-sii-mcp es un servidor MCP local (transporte **stdio**), así que funciona con los clientes que ejecutan servidores MCP locales.
| Cliente | Estado | Cómo se configura |
| --- | --- | --- |
| **Claude Code** | ✅ Probado | Plugin (`/plugin install`) o `claude mcp add` ([ver instalación](#1-registrar-el-servidor-en-tu-asistente)) |
| **Codex** (OpenAI) | ✅ Conexión probada | Plugin (`codex plugin add`) o `~/.codex/config.toml` |
| **Gemini CLI** | ✅ Conexión probada | Extensión (`gemini extensions install`) o `~/.gemini/settings.json` |
| **Grok Build** (xAI) | Configuración documentada | `grok mcp add`; también lee lo que ya instalaste en Claude Code |
| **Claude Desktop** | Configuración documentada | `claude_desktop_config.json` (formato `mcpServers`) |
| **Cursor** | Configuración documentada | Botón de instalación o `~/.cursor/mcp.json` |
| **VS Code con GitHub Copilot** | Configuración documentada | Botón de instalación o `.vscode/mcp.json` |
| **Windsurf, Cline** y otros | Configuración documentada | Formato `mcpServers` |
«Configuración documentada» significa que se usa el formato MCP estándar de cada cliente. «Conexión probada» significa que el cliente instaló el servidor y se conectó a él en Windows. El desarrollo y las pruebas en vivo se hicieron con Claude Code.
## Cómo funciona
```mermaid
flowchart LR
P([Tú]) -- preguntas --> A
subgraph A [Tu asistente con MCP]
direction TB
A1[Claude Code / Desktop]
A2[Cursor · Windsurf · Cline]
A3[VS Code + Copilot]
A4[Codex · Gemini CLI · Grok]
end
A <-- herramientas MCP --> M[mi-sii-mcp]
M -- solo lectura --> S[(Portal del SII)]
M <--> D[(Base local ~/.mi-sii-mcp)]
P -. conecta su cuenta .-> W[Terminal o página local login]
W --> M
```
1. **Conectas tu cuenta** una vez, en la terminal o en una página local; la clave no pasa por el chat.
2. **El asistente pide datos** al servidor MCP, que los lee del SII y los guarda en tu equipo.
3. **mi-sii-mcp concilia la información** con reglas tributarias y responde con hallazgos claros.
## Requisitos
- [Node.js](https://nodejs.org) 22.12 o superior (probado con Node 24).
- Un cliente MCP que ejecute servidores locales (ver [compatibilidad](#compatibilidad-con-agentes-de-ia)).
- Clave tributaria del SII.
- Windows es la plataforma probada; el código es multiplataforma (en macOS o Linux, conecta la cuenta con `login` desde la terminal o, si instalaste desde el código, con `npm run local`).
## Instalación
Lo más simple es **npx**: tu asistente descarga y arranca la versión publicada en [npm](https://www.npmjs.com/package/mi-sii-mcp), sin clonar ni compilar nada. Solo necesitas Node.js 22.12 o superior.
### 1. Registrar el servidor en tu asistente
**En un clic:**
Claude Code
Como **plugin**, que trae el servidor y la [skill](#skill-para-agentes). Dentro de Claude Code:
```text
/plugin install mi-sii-mcp --marketplace Taksuma-0/mi-sii-mcp
```
En versiones anteriores a la 2.1.275, en dos pasos: `/plugin marketplace add Taksuma-0/mi-sii-mcp` y luego `/plugin install mi-sii-mcp@mi-sii-mcp`.
O solo el servidor, desde la terminal:
```bash
claude mcp add --scope user mi-sii-mcp -- npx -y mi-sii-mcp@latest mcp
```
Gemini CLI
Como **extensión**, que trae el servidor y la skill:
```bash
gemini extensions install https://github.com/Taksuma-0/mi-sii-mcp
```
Codex (OpenAI)
Como **plugin**, que trae el servidor y la skill:
```bash
codex plugin marketplace add Taksuma-0/mi-sii-mcp
codex plugin add mi-sii-mcp@mi-sii-mcp
```
El plugin ya amplía los plazos de Codex, que por defecto espera 10 segundos a que el servidor arranque y 60 por herramienta; una sincronización de 12 meses con el SII tarda más que eso.
O solo el servidor, en `~/.codex/config.toml` (con `codex mcp add mi-sii-mcp -- npx -y mi-sii-mcp@latest mcp` quedan los plazos por defecto: agrega después las dos últimas líneas):
```toml
[mcp_servers.mi-sii-mcp]
command = "npx"
args = ["-y", "mi-sii-mcp@latest", "mcp"]
startup_timeout_sec = 120
tool_timeout_sec = 900
```
Grok Build (xAI)
Si ya lo instalaste en Claude Code (plugin o `claude mcp add`), Grok Build lo carga solo: lee la configuración, los plugins y las skills de Claude Code. Si no:
```bash
grok mcp add mi-sii-mcp -- npx -y mi-sii-mcp@latest mcp
```
La primera vez npx descarga el paquete; si Grok corta la conexión antes, sube `startup_timeout_sec = 120` en la entrada `[mcp_servers.mi-sii-mcp]` de `~/.grok/config.toml`. Para la skill, copia la carpeta `skills/mi-sii-mcp` a `~/.grok/skills/`. Revisa la conexión con `grok mcp doctor mi-sii-mcp`.
VS Code con Copilot (.vscode/mcp.json o la configuración de usuario)
```json
{
"servers": {
"mi-sii-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mi-sii-mcp@latest", "mcp"]
}
}
}
```
Claude Desktop, Cursor, Windsurf, Cline y otros con formato mcpServers
Agrega esto al archivo de configuración MCP de tu cliente (Claude Desktop: `claude_desktop_config.json`; Cursor: `~/.cursor/mcp.json`; Windsurf: `~/.codeium/windsurf/mcp_config.json`; Gemini CLI sin la extensión: `~/.gemini/settings.json`):
```json
{
"mcpServers": {
"mi-sii-mcp": {
"command": "npx",
"args": ["-y", "mi-sii-mcp@latest", "mcp"]
}
}
}
```
Desde el código (sin npx, o para usar la página local)
```bash
git clone https://github.com/Taksuma-0/mi-sii-mcp.git
cd mi-sii-mcp
npm install
npm run build
```
El servidor se inicia con `node /dist/interfaces/cli/bin.js mcp`. En las configuraciones de arriba, cambia `npx` por `node` y los argumentos por la ruta de `bin.js` y `mcp`. Por ejemplo, en Claude Code (reemplaza `C:\ruta\a\mi-sii-mcp` por la carpeta donde clonaste el proyecto):
```bash
claude mcp add --scope user mi-sii-mcp -- node "C:\ruta\a\mi-sii-mcp\dist\interfaces\cli\bin.js" mcp
```
`@latest` hace que npx use siempre la última versión publicada. El servidor trae sus propias instrucciones de uso para el asistente (por dónde empezar, cómo reintentar, que nunca pida la clave), así que se comporta igual con cualquier cliente.
### 2. Conectar tu cuenta del SII
Inicias sesión una vez y la clave nunca pasa por el chat.
**Desde tu asistente (lo más simple):** pídele «conecta mi cuenta». Con la herramienta `cuenta_conectar` se abre en tu navegador la página local de mi-sii-mcp: escribes tu RUT y tu clave tributaria, dejas marcado **Mantener conectada** y pulsas **Conectar** (o entras con ClaveÚnica). Sin asistente, la misma página se abre con `npx -y mi-sii-mcp@latest conectar`.
**Desde la terminal, con npx** (cualquier sistema). Reemplaza `11111111-1` por tu RUT:
```bash
npx -y mi-sii-mcp@latest login 11111111-1 --guardar-clave
```
Te pide la clave tributaria sin mostrarla. Con `--guardar-clave` la guarda en el almacén de credenciales del sistema para que la sesión se renueve sola. Para entrar con **ClaveÚnica** (experimental; su sesión no se renueva sola): `npx -y mi-sii-mcp@latest login-navegador --rut 11111111-1`. Se abre Edge o Chrome y mi-sii-mcp no ve la clave.
**Con la página local** (si instalaste desde el código). En Windows, haz doble clic en **`Abrir mi-sii-mcp.cmd`** (en la carpeta del proyecto). Se abre una página local donde:
1. Escribes tu RUT (los puntos y el guion se ponen solos) y tu clave tributaria.
2. Dejas marcado **Mantener conectada** para que la sesión se renueve sola.
3. Pulsas **Conectar**.