sie-mcp
sie-mcp — SIE4 和 Spiris/Visma 的记账分析及 MCP 工具
由 Quiet Numbers 发布。
[!NOTE] 关于本项目: 这是一个独立的业余爱好与开发项目,正在积极演进中。项目采用测试驱动架构,用于生成对 SIE4 标准、法规框架和 ISA 检查的验证。这是一项持续进行的工作,也是一种探索性的技艺——远不能保证软件能在实际意义上完全达到所设定的所有目标要求,代码作为开放实验和学习项目提供。
sie-mcp 是一个用 Python 编写的本地瑞典工具,用于读取、分析和查询会计数据(来自 SIE4 文件和 Spiris/Visma eAccounting 商业系统),既支持本地模型(Ollama),也支持基于云的 AI 模型。
该工具针对同一共享核心提供两个独立接口:
Streamlit 应用(
app.py): 提供图形桌面界面,包含审计分析(ISA 320/450)、FP&A 报告、记账辅助以及一个带来源引用的法律问答空间。MCP 服务器(
mcp_server/server.py): 通过stdio面向 Claude Desktop 和其他 AI 代理的模型无关工具服务器,包含 88 个工具并设有严格的草稿审查。
应用法律问答空间中的法律与税务条目由姊妹项目 quiet_chatt 的带来源引用引擎驱动。
五项架构原则
本地优先: 所有会计数据、计算和会话均在您自己的电脑上本地处理并存储。
BYOK / BYOA(自带密钥 / 自带应用): 没有外部服务器中转您的数据。您使用自己的 API 密钥和商业系统账户。
在您批准前保持锁定(故障关闭): 在您于自己电脑上审阅并批准条款之前,软件及其 MCP 工具完全保持锁定。
发送至外部模型前先掩蔽: 在文本发送到外部 AI 模型之前,敏感的个人和公司信息会在本地使用令牌(
[PERSON_1]、[BOLAG_1])进行假名化处理。草稿要求 — 不得直接写入: AI 代理永远不能直接记账或创建发票。它只将建议放入带加密完整性校验(SHA-256)的草稿队列,需要人工审阅并批准。
[!CAUTION] 使用软件前请阅读 ANSVAR.md。 软件不提供任何保证,不构成专业建议,并且在软件运行所在电脑上由人工逐条批准条款之前保持锁定状态。完整条款:DISCLAIMER_AND_TERMS.md 和 LICENSE。
快速开始
1. 安装
Spiris 连接需要 Windows。 OAuth 会话受 Windows DPAPI(按用户)保护, 并且有意不在其他平台上提供回退——不安全的存储比没有更糟。 SIE4 路径不依赖于此。
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt2. 批准条款
在用户条款获得批准之前,软件拒绝运行。您可以在 Streamlit 应用中完成批准(勾选所有项目),也可以在终端中完成:
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 igen3. 运行 Streamlit 应用
streamlit run app.py在 报告 下有一个包含快速视图的区域——未结清和逾期的 客户/供应商发票、账龄分析以及催款建议。 这些视图 在本地计算,不调用 AI,因此即使没有 API 密钥也能使用。它们显示真实的交易对手名称;假名化处理仅在数据 离开电脑时才会进行。
4. 以 MCP 服务器方式运行
MCP 服务器(mcp_server/server.py)通过 stdio 公开 88 个主要工具——56 个读取类、31 个建议操作但不执行,以及 visa_anvandarvillkor(另有 37 个领域特定别名,共 125 个)。此外还提供 3 个资源、1 个资源模板和 5 个提示词。在按第 2 步批准条款之前,所有这些均保持锁定;visa_anvandarvillkor 始终可以调用并显示条款。
批准后,每次调用及其所有参数都会自动记录在 .system_generated/logs/(或 SIE_MCP_LOGGKATALOG 指向的路径)中。您还可以在应用的日志标签页中实时查看流量。
当服务器连接时,客户端(Claude Desktop 等)会自动列出所有工具。工具分为以下逻辑组:
SIE4 文件: 计算与分析。
结构与注册: 会计科目表、会计年度、物料、公司信息、银行账户等。
总账与报告: 余额、交易、凭证和财务报告。
分户账与业务单据: 客户/供应商分户账、发票、订单和报价。
增值税: 增值税概览和报告。
主数据: 价格表、折扣协议和标签。
建议(草稿路径):
forbered_*工具用于创建发票、记账、核销付款、更改会计科目表、期间分配和处理会计锁定。这些工具不执行任何操作,只提交草稿供人工审阅。条款:
visa_anvandarvillkor用于阅读协议。
没有写入类工具通过 MCP 公开。 forbered_* 工具不会写入任何内容——它们仅在本地队列中放入一个建议。只有当您亲自在应用的 操作 标签页中审阅真实数据并点击“批准并发送”后,建议才会被执行。因此,MCP 服务器只能建议,永远不能执行,而且其源代码甚至不引用写入功能。
该建议与 SHA-256 哈希绑定:如果在建议与批准之间负载发生变化,发送将被拒绝。草稿在 24 小时后清除,因为商业系统中的基础数据可能已经发生变化。
已批准的凭证或客户发票默认进入商业系统自身的草稿队列——而不是直接进入账目。在那里您可以修改或删除该条目,并在满意后自行在商业系统中记账。原因是已记账的凭证无法删除,只能通过新凭证更正,而已记账的发票可以通过电子邮件发送给收件人。如果您想直接记账,也可以,但需要在批准时做出明确选择。
MCP 协议的 elicitation 被有意不用作批准机制——规范允许代理客户端自动回答它,而一个能由提出建议的同一模型通过的关卡算不上关卡。
从 spiris_rakenskapsar 开始——会计年度的 id 是多个其他工具所需的输入。
{
"mcpServers": {
"sie-mcp": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"env": {
"SIE_MCP_SIE_KATALOGER": "C:\\dina\\sie\\kataloger"
}
}
}
}Related MCP server: Aikount MCP
软件的结构
以下描述说明代码预期做什么。它们并不是对代码能够正确或完整实现这些功能的承诺。
掩蔽功能(模块 3): 在文本可能被发送到外部之前,查找姓名、公司注册号、个人身份号以及某些地址信息,并将其替换为令牌(
[PERSON_1]、[BOLAG_1])。自由文本中的未知姓名会被拦截以进行本地审查。该功能并不完整,并且存在已知限制——参见 DISCLAIMER_AND_TERMS.md 第 6 节。结果是假名化的,绝不是匿名的:这些信息仍然是个人数据。本地存储(
saker_lagring.py): 密钥、OAuth 令牌、加密的分类账和日志存放在%LOCALAPPDATA%\sie-mcp下的每用户目录中,而不是项目文件夹中。访问保护由操作系统提供;您自己负责文件的安全。输出日志(
sessionslogg.py和revisionslogg.py): 每个会话一个可读的、未加密的 Markdown 文件,其中包含已发送的负载,外加一份元数据日志。这些文件可能包含个人数据,保护和清除它们是您的责任。故障关闭作为设计原则: 代码的编写原则是宁可拒绝也不猜测,并且不返回原始错误信息。这是设计上的目标,而不是对结果的保证。
商标
sie-mcp 并非由 Visma/Spiris、Anthropic、OpenAI、Google、SIE-gruppen、BAS-intressenternas Förening 或 Bokföringsnämnden 开发、认可、审查或支持。文中出现的名称和商标仅用于描述软件可以连接的对象,并归各自所有者所有。
This server cannot be deployed
Maintenance
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
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Twinfield AI Connect: hosted MCP server for Twinfield.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn 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.651MIT
- AlicenseAqualityCmaintenanceMCP 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).232MIT
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server that securely connects Swedish/Nordic bank accounts to AI assistants, keeping all financial data local and encrypted.25 npmMIT
- 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.5171 npm40MIT