sie-mcp
sie-mcp — análisis contable y herramienta MCP para SIE4 y Spiris/Visma
Publicado por Quiet Numbers.
[!NOTE] Sobre este proyecto: Es un proyecto independiente de hobby y desarrollo en crecimiento activo. El proyecto está construido con una arquitectura basada en pruebas para generar una validación de los estándares SIE4, normativas y controles ISA. Es un trabajo en curso y un oficio exploratorio: está lejos de ser seguro que el software en sentido real logre cumplir plenamente todos los requisitos de ambición establecidos, y el código se proporciona como un experimento abierto y proyecto de aprendizaje.
sie-mcp es una herramienta local sueca en Python para leer, analizar y consultar datos contables (de archivos SIE4 y del sistema de gestión Spiris/Visma eAccounting) con soporte tanto para modelos locales (Ollama) como para modelos de IA basados en la nube.
La herramienta tiene dos interfaces separadas sobre el mismo núcleo compartido:
La aplicación Streamlit (
app.py): Interfaz gráfica de escritorio con análisis de auditoría (ISA 320/450), informes FP&A, ayuda para la contabilización y una sala de derecho con fuentes.El servidor MCP (
mcp_server/server.py): Servidor de herramientas independiente del modelo sobrestdiopara Claude Desktop y otros agentes de IA, con 88 herramientas y una estricta revisión de borradores.
Las entradas jurídicas y fiscales de la sala de derecho de la aplicación están impulsadas por el motor con fuentes del proyecto hermano quiet_chatt.
Cinco principios de arquitectura
Primero lo local: Todos los datos contables, cálculos y sesiones se procesan y almacenan localmente en tu propio ordenador.
BYOK / BYOA (Bring Your Own Key / App): Ningún servidor externo transmite tus datos. Usas tus propias claves API y cuentas del sistema de gestión.
Bloqueado hasta que lo apruebes (Fail-closed): El software y sus herramientas MCP están completamente bloqueados hasta que hayas revisado y aprobado las condiciones en tu ordenador.
Enmascaramiento antes del modelo externo: Los datos sensibles de personas y empresas se pseudonimizan localmente con tokens (
[PERSON_1],[BOLAG_1]) antes de enviar el texto a un modelo de IA externo.Requisito de borrador: sin asientos directos: Un agente de IA nunca puede contabilizar ni crear facturas directamente. Coloca propuestas en una cola de borradores con control de integridad criptográfico (SHA-256) que requiere que una persona revise y apruebe.
[!CAUTION] Lee ANSVAR.md antes de usar el software. El software no ofrece garantías, no constituye asesoramiento profesional y está bloqueado hasta que una persona haya aprobado las condiciones punto por punto en el ordenador donde se ejecuta. Condiciones completas: DISCLAIMER_AND_TERMS.md y LICENSE.
Inicio rápido
1. Instalación
La conexión con Spiris requiere Windows. La sesión OAuth se protege con Windows DPAPI (por usuario) y deliberadamente no tiene alternativa en otras plataformas — un almacenamiento inseguro sería peor que ninguno. La vía SIE4 no depende de esto.
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt2. Acepta las condiciones
El software se niega a ejecutarse hasta que se acepten las condiciones de uso. Esto se hace ya sea en la aplicación Streamlit (marcando todos los puntos) o en una terminal:
python parser/compliance.py --godkann # läser upp villkoren och kräver en bekräftelsefras
python parser/compliance.py --status # visar om villkoren är godkända
python parser/compliance.py --aterkalla # tar bort godkännandet och spärrar igenLa aprobación se aplica al ordenador y a la cuenta de usuario en la que se haya realizado. No se puede realizar a través de MCP: un asistente de IA no puede aceptar condiciones en tu nombre.
3. Ejecuta la aplicación Streamlit
streamlit run app.pyEn Informes hay un campo con vistas rápidas: facturas de clientes y proveedores pendientes y vencidas, análisis de antigüedad y sugerencias de recordatorio. Las vistas se calculan localmente y sin llamadas de IA, por lo que funcionan incluso sin clave API. Muestran los nombres reales de las contrapartes; la pseudonimización solo ocurre cuando los datos salen del ordenador.
4. Ejecutar como servidor MCP
El servidor MCP (mcp_server/server.py) expone 88 herramientas principales a través de stdio: 56 de lectura, 31 que sugieren acciones sin ejecutarlas, y visa_anvandarvillkor (además de 37 alias específicos de dominio, 125 en total). Además, se proporcionan 3 recursos, 1 plantilla de recursos y 5 prompts. Todas están bloqueadas hasta que se acepten las condiciones según el paso 2; visa_anvandarvillkor siempre se puede invocar y muestra las condiciones.
Una vez aprobado, cada llamada, con todos los argumentos, se registra automáticamente en .system_generated/logs/ (o en la ruta que indique SIE_MCP_LOGGKATALOG). También puedes seguir el tráfico en tiempo real en la pestaña de registro de la aplicación.
El cliente (Claude Desktop u otros similares) lista automáticamente todas las herramientas cuando el servidor se conecta. Las herramientas se dividen en los siguientes grupos lógicos:
Archivos SIE4: Cálculos y análisis.
Estructura y Registros: Plan contable, ejercicios fiscales, artículos, información de empresa, cuentas bancarias, etc.
Libro mayor e Informes: Saldos, transacciones, comprobantes e informes financieros.
Libros auxiliares y documentos comerciales: Cuentas de clientes/proveedores, facturas, pedidos y ofertas.
IVA: Resumen de IVA e informes.
Datos maestros: Listas de precios, acuerdos de descuento y etiquetas.
Propuestas (vía de borradores): Herramientas
forbered_*para crear facturas, contabilizar, compensar pagos, modificar el plan contable, periodificar y gestionar bloqueos contables. Estas no ejecutan nada, sino que crean borradores para revisión humana.Condiciones:
visa_anvandarvillkorpara leer el acuerdo.
No se exponen herramientas de escritura a través de MCP. Las herramientas forbered_* no escriben nada: colocan una propuesta en una cola local. La propuesta solo se ejecuta cuando tú mismo has revisado los datos reales en la pestaña Acciones de la aplicación y has pulsado "Aprobar y enviar". El servidor MCP, por tanto, puede proponer pero nunca ejecutar, y su código fuente ni siquiera hace referencia a las funciones de escritura.
La propuesta está vinculada a un hash SHA-256: si la carga útil cambia entre la propuesta y la aprobación, se rechaza el envío. Los borradores se eliminan después de 24 horas, porque los datos subyacentes en el sistema de gestión pueden haber cambiado.
Un comprobante aprobado o una factura de cliente aprobada se coloca por defecto en la propia cola de borradores del sistema de gestión, no directamente en la contabilidad. Allí puedes modificar o eliminar el registro, y tú mismo lo contabilizas en el sistema de gestión cuando estés satisfecho. La razón es que un comprobante contabilizado no puede eliminarse, solo corregirse con uno nuevo, y que una factura contabilizada puede enviarse por correo al destinatario. Si quieres contabilizar directamente, es posible, pero requiere una elección explícita al aprobar.
El elicitation del protocolo MCP se usa deliberadamente no como aprobación: la especificación permite que un cliente agente lo responda automáticamente, y una barrera que puede atravesar el mismo modelo que realizó la propuesta no es ninguna barrera.
Empieza con spiris_rakenskapsar: el id del ejercicio contable se requiere como entrada para varias de las otras herramientas.
{
"mcpServers": {
"sie-mcp": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"env": {
"SIE_MCP_SIE_KATALOGER": "C:\\dina\\sie\\kataloger"
}
}
}
}Related MCP server: Aikount MCP
Así está estructurado el software
Las descripciones a continuación indican lo que el código pretende hacer. No son garantías de que lo haga correctamente o por completo.
La función de enmascaramiento (Módulo 3): busca nombres, números de organización, números de identificación personal y ciertos datos de dirección, y los reemplaza con tokens (
[PERSON_1],[BOLAG_1]) antes de que el texto pueda enviarse externamente. Los nombres desconocidos en texto libre están pensados para ser retenidos para revisión local. La función está incompleta y tiene limitaciones conocidas: consulte DISCLAIMER_AND_TERMS.md, sección 6. El resultado está pseudonimizado, nunca anonimizado: los datos siguen siendo datos personales.Almacenamiento local (
saker_lagring.py): claves, tokens OAuth, registros cifrados y registros se colocan en un directorio por usuario bajo%LOCALAPPDATA%\sie-mcpen lugar de en la carpeta del proyecto. La protección de acceso es la del sistema operativo; tú eres responsable de la seguridad de los archivos.Registro de salida (
sessionslogg.pyyrevisionslogg.py): un archivo de markdown legible y sin cifrar por sesión con la carga útil enviada, más un registro de metadatos. Los archivos pueden contener datos personales y es tu responsabilidad protegerlos y eliminarlos.Fail-closed como principio de diseño: el código está escrito para denegar en lugar de adivinar, y para no devolver mensajes de error sin procesar. Es una aspiración en la construcción, no una garantía del resultado.
Marcas comerciales
sie-mcp no está desarrollado, aprobado, revisado ni respaldado por Visma/Spiris, Anthropic, OpenAI, Google, SIE-gruppen, BAS-intressenternas Förening ni Bokföringsnämnden. Los nombres y marcas comerciales que aparecen se utilizan únicamente para describir a qué puede conectarse el software, y pertenecen a sus respectivos propietarios.
This server cannot be installed
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
- AlicenseBqualityCmaintenanceAn MCP server for Danish accounting via Billy.dk API, enabling natural-language control over invoices, bank lines, reports, and more, with a write-guard for safety.65MIT
- AlicenseAqualityAmaintenanceMCP server for Spanish accounting for freelancers and SMEs, enabling AI agents to issue invoices, OCR expense PDFs, reconcile bank transactions, and prepare quarterly VAT (Modelo 303).23MIT
- Alicense-qualityBmaintenanceA read-only MCP server that securely connects Swedish/Nordic bank accounts to AI assistants, keeping all financial data local and encrypted.50MIT
- AlicenseAqualityCmaintenanceAn MCP server for integrating with the Fortnox Swedish accounting system. Enables LLMs to manage invoices, customers, suppliers, orders, accounts, vouchers, and provides business intelligence analytics.514435MIT
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
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/stefanwejd-dev/sie-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server