
Mcp Invoicenow Sg
io.github.cmendezs由 GitHub 账号 cmendezs 发布v0.3.3更新于 Oct 24, 2026
MCP server for Singapore electronic invoicing (InvoiceNow)
概览
面向新加坡 InvoiceNow 电子发票的本地 MCP 服务器,可生成并校验 PINT-SG 与 SG Peppol BIS 3.0 发票,并提供 Peppol 网络查询与 AS4 发送
- 可以做什么
- 生成与校验新加坡电子发票:根据结构化数据构建 SGInvoice 并序列化为 UBL 2.1 XML,再按 IRAS 的 C5 受理层进行校验,并提示部分规则集尚未检查。查询参考数据:返回 IRAS 商品与服务税类别代码,以及 PINT-SG 或 BIS3 配置对应的 CustomizationID 与 ProfileID。查询 Peppol 网络:参与者注册状态、AS4 服务端点、DNS/SML 诊断以及公共目录搜索。发送发票:通过 Peppol AS4 传输 UBL 或 CII 发票。核对 OpenPeppol eDEC 代码表:参与者标识方案、文档类型与流程 ID,并报告代码表版本。
- 适用场景
- 当你需要通过助手准备、检查或发送新加坡 InvoiceNow 电子发票,或想确认某企业是否可在 Peppol 网络上接收发票时使用。适合使用 PINT-SG v1.4.1 或旧版 SG Peppol BIS Billing 3.0 配置的开票方。
- 运行要求
- 本地 Python 包(Python 3.11 或更高版本),通过 uvx 或 uv 运行;mcp-einvoicing-core 作为依赖自动安装。validate_invoice_sg 需要 xslt2 附加组件。无需任何凭据。可选的 EINVOICING_PEPPOL_CODELIST_DIR 变量指向本地 OpenPeppol eDEC 代码表副本,供代码表工具使用;LOG_LEVEL 为可选。Peppol 查询与发送需要网络访问。
安装
在 SourceWeft 中
- 打开 控制台中的 Mcp Invoicenow Sg,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mcp-invoicenow-sg 🇸🇬
[PyPI version] [Python] [License] [mcp-invoicenow-sg MCP server]
Introduction
mcp-invoicenow-sg is an MCP (Model Context Protocol) server
for Singapore electronic invoicing over InvoiceNow, the national e-invoicing platform
operated by IMDA. It builds and validates PINT-SG v1.4.1 and SG Peppol BIS Billing 3.0 sent
invoices (originally-issued invoices, not the received/purchase side). It is part of the
mcp-einvoicing-* family of country-specific servers, all built on
mcp-einvoicing-core, which provides the
shared validation engine, EN 16931 abstractions, and Peppol network utilities.
Supported standards
- PINT-SG v1.4.1 (
urn:peppol:pint:billing-1@sg-1) — the recommended profile for new senders. - SG Peppol BIS Billing 3.0 — legacy profile, predates the PINT programme.
- Both are EN 16931-conformant; the invoice model extends
mcp_einvoicing_core.en16931.EN16931Invoice. - Validation runs IRAS's own C5 acceptance layer (
non_peppol_doc_validation) — a first-party government artifact, e.g. it flags a missing buyer/seller UEN. As of v0.2.0, PINT-SG's own jurisdiction Schematron rules (e.g. theinvoice_uuidrequirement) are not checked — see "Not yet supported" below.
Not yet supported (see specs/README.md for full detail):
- CEN EN16931 base and PINT-SG jurisdiction Schematron validation. v0.1.0 bundled a
self-compiled derivative of OpenPeppol's PINT-SG jurisdiction Schematron with no confirmed
redistribution rights; it was removed in v0.2.0 (2026-08-28). The shared, properly-licensed
core CEN EN16931 base validator is wired but not yet activated for SG —
SGInvoice's IRAS GST category codes have no sourced crosswalk to the UNCL5305 code list that validator requires. SeeEN16931_BASE_UNAVAILABLE_WARNINGin everyvalidate_invoice_sgresult (tracked as[CORE-EN16931-BASE-SG-CROSSWALK-1]) for what would unblock it. - The Peppol Ordering message family (
Order,OrderResponse, etc.) and IMDA's SG-specific Order Balance. - UBL 2.1 XSD structural validation. Proven correct against a real UBL 2.1 schema in this
package's own test suite (a test-only fixture, not shipped in the wheel), but not wired into
the
validate_invoice_sgtool: the OASIS UBL 2.1 schema files needed carry no locally-confirmed redistribution grant. - IRAS's own Invoice Data Submission API (the 5th-corner "C5" copy specifically, as distinct from generic Peppol AS4 transport, which the Peppol tools below do support) — no publicly available document states an IMDA-accredited Access Point's actual API base URL or authentication flow.
- SG Peppol BIS Billing 3.0 Schematron validation — no rule set is bundled for this profile.
- The received/purchase-side invoice model (
LocalTaxInvoice, TX2_Annex Annex B Type 1B).
Installation
Requirements
- Python ≥ 3.11
mcp-einvoicing-core(installed automatically as a dependency)- Optional: the
xslt2extra (pip install mcp-invoicenow-sg[xslt2]) — required forvalidate_invoice_sgto run. The bundled IRAS C5 stylesheet requires XSLT 2.0.
Using uvx (recommended)
Using uv
From source
Configuration
Environment variables
This server needs no credentials to run.
Claude Desktop integration
To use this server with Claude, add this configuration to your claude_desktop_config.json file:
Cursor integration
Cursor supports MCP servers via stdio. Add the configuration in:
- Global (all projects):
~/.cursor/mcp.json - Project (this repository only):
.cursor/mcp.json
Reload the Cursor window (Ctrl+Shift+P then Reload Window) to apply the changes.
Kiro integration
Kiro supports MCP servers via its dedicated configuration file. Two levels are available:
- Global (all projects):
~/.kiro/settings/mcp.json - Workspace (this repository only):
.kiro/settings/mcp.json
The file is automatically reloaded on save. You can also open the config via the command palette (Cmd+Shift+P / Ctrl+Shift+P) then MCP.
Available tools
Recommended workflow: get_profile_urn_sg to pick the profile pair, then
generate_invoice_sg with that pair in the invoice data, then validate_invoice_sg on the
result.
Peppol tools
Generic Peppol network tools (participant lookup, AS4 send, directory search, eDEC codelists)
are also registered, from mcp_einvoicing_core.peppol.tools, with bare Singapore UENs
normalized to scheme 0195 participant IDs:
peppol_send is generic Peppol AS4 transport to the recipient's Access Point — it is not the
same as submission to IRAS's own C5 corner, which stays unsupported (see "Not yet supported"
above).
The tool reference in docs/TOOLS.md is generated from the running server:
Vendor neutrality
This server implements the standard itself: it builds, validates, and signs the document locally. It is not a client for a commercial invoicing platform, and your signing keys and credentials never leave your own infrastructure.
A Peppol access point is required for InvoiceNow, but any accredited access point speaks the same AS4 profile, so switching providers is a configuration change, not a code change.
Contributing
See CONTRIBUTING.md for development setup, the test and lint commands, and the pull request checklist. Security issues follow the private disclosure process in SECURITY.md.
Other e-invoicing MCP servers
License
This project is licensed under the Apache 2.0 license — see LICENSE for details. For the full version history, see CHANGELOG.md.
来源:README.md,提交 1bb7ddb
工具
0版本历史
1- v0.3.3最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分