Token导航 LogoToken导航

MCP Server · 金融服务

MCP Ezpay Einvoice

一个用于台湾电子发票全生命周期管理的MCP服务器,支持发票开具、触发、作废、折让和查询等功能。

stdio官方级别未说明来源级核验工具 7
PythonClaude金融数据Cursor

快速开始

作者 / 组织
asgard-ai-platform
提供方
asgard-ai-platform

工具数量

7

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Ezpay Einvoice 属于金融服务类 MCP Server,公开资料标注 7 个工具,通过stdio 本地进程接入,适配 Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

金融服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcp-ezpay-einvoice

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 7 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

mcp ezpay电子语音

台湾ezPay电子发票API MCP服务器

Traditional Chinese(繁体中文)

______________________________________________________________________

概述

一个MCP(模型上下文协议)服务器,通过 ezPay 平台。涵盖发票开具(B2B/B2C)、触发、作废、津贴(信用票据/退款)和查询——所有这些都可以通过标准MCP协议由Claude等人工智能助理访问。

部分 Asgard人工智能平台 开源生态系统。

特性

  • 发票 --开具B2B(企业)或B2C(个人)电子发票,其中包含完整的商品详细信息、税务类型、承运商和捐赠代码
  • trigger_invoice --触发延期或预定发票以立即开具
  • void_invoice --在允许的报告期内作废已开具的发票
  • 发放津贴 --根据现有发票发放津贴(贷记单/部分退款)
  • 触发_允许 --确认或取消待定的津贴
  • 无效_允许 --已确认的津贴无效
  • 查询_语音 --按发票号或订单号查询发票明细
  • AES-256-CBC加密 --实现ezPay加密形式的POST协议(URL编码、PKCS7填充、AES加密、十六进制编码)
  • CheckCode验证 --基于SHA-256的响应验证
  • 双重环境 --支持两种测试(cinv.ezpay.com.tw)和生产(inv.ezpay.com.tw)环境

先决条件

  • Python 3.10或更高版本
  • 具有API凭证(MerchantID、HashKey、HashIV)的ezPay商户账户

- 测试环境:注册https://cinv.ezpay.com.tw/ - 生产环境:注册地址:https://inv.ezpay.com.tw/

安装

选项1:从PyPI安装

pip install mcp-ezpay-einvoice

或与 紫外线:

uv pip install mcp-ezpay-einvoice

选项2:直接使用uvx运行(无需安装)

EZPAY_MERCHANT_ID=your_id EZPAY_HASH_KEY=your_key EZPAY_HASH_IV=your_iv \
  uvx mcp-ezpay-einvoice

选项3:从源代码安装

git clone https://github.com/asgard-ai-platform/mcp-ezpay-einvoice.git
cd mcp-ezpay-einvoice
uv venv && source .venv/bin/activate
uv pip install -e .

配置

在运行服务器之前设置以下环境变量:

环境变量必填说明
EZPAY_MERCHANT_ID是您的ezPay商家ID
EZPAY_HASH_KEY是AES-256加密密钥(32个字符)
EZPAY_HASH_IV是AES-CBC初始化向量(16个字符)
EZPAY_IS_PRODUCTION否设置为 true 用于生产。默认为 false (测试环境)

您还可以复制 .env.example 文件到 .env 并填写您的值:

cp .env.example .env

用法

克劳德桌面版

将以下内容添加到您的 claude_desktop_config.json:

使用uvx(推荐使用,无需手动安装):

{
  "mcpServers": {
    "ezpay-einvoice": {
      "command": "uvx",
      "args": ["mcp-ezpay-einvoice"],
      "env": {
        "EZPAY_MERCHANT_ID": "your_merchant_id",
        "EZPAY_HASH_KEY": "your_hash_key",
        "EZPAY_HASH_IV": "your_hash_iv",
        "EZPAY_IS_PRODUCTION": "false"
      }
    }
  }
}

使用pip安装:

{
  "mcpServers": {
    "ezpay-einvoice": {
      "command": "mcp-ezpay-einvoice",
      "env": {
        "EZPAY_MERCHANT_ID": "your_merchant_id",
        "EZPAY_HASH_KEY": "your_hash_key",
        "EZPAY_HASH_IV": "your_hash_iv",
        "EZPAY_IS_PRODUCTION": "false"
      }
    }
  }
}

克劳德代码

如果你克隆了仓库 .mcp.json 项目中的根由Claude Code自动发现。只需设置环境变量:

export EZPAY_MERCHANT_ID=your_merchant_id
export EZPAY_HASH_KEY=your_hash_key
export EZPAY_HASH_IV=your_hash_iv

或者通过CLI添加服务器:

claude mcp add ezpay-einvoice -- uvx mcp-ezpay-einvoice

光标/风帆

添加到MCP设置(.cursor/mcp.json 或同等):

{
  "mcpServers": {
    "ezpay-einvoice": {
      "command": "uvx",
      "args": ["mcp-ezpay-einvoice"],
      "env": {
        "EZPAY_MERCHANT_ID": "your_merchant_id",
        "EZPAY_HASH_KEY": "your_hash_key",
        "EZPAY_HASH_IV": "your_hash_iv",
        "EZPAY_IS_PRODUCTION": "false"
      }
    }
  }
}

直接运行

# With environment variables
EZPAY_MERCHANT_ID=your_id EZPAY_HASH_KEY=your_key EZPAY_HASH_IV=your_iv \
  python mcp_server.py

# Or with uvx
EZPAY_MERCHANT_ID=your_id EZPAY_HASH_KEY=your_key EZPAY_HASH_IV=your_iv \
  uvx mcp-ezpay-einvoice

测试

# Validate credentials and connectivity
python scripts/auth/test_connection.py

# Run all 7 tool E2E tests
python tests/test_all_tools.py

使用示例

一旦MCP服务器运行,AI助手(例如Claude)可以代表您调用这些工具。以下是真实世界的场景,显示了你说的话以及人工智能的反应。

______________________________________________________________________

“帮助我为购买测试产品的客户开具发票”

你: 帮我开一张发票,客人买了一个测试商品105元含税,要印纸本发票

AI呼叫:

issue_invoice(
  merchant_order_no = "ORDER20260404001",
  buyer_name        = "Test Buyer",
  category          = "B2C",
  tax_type          = "1",
  tax_rate          = 5,
  amt               = 100,
  tax_amt           = 5,
  total_amt         = 105,
  item_name         = "Test Product",
  item_count        = "1",
  item_unit         = "pc",
  item_price        = "105",
  item_amt          = "105",
  print_flag        = "Y",
  status            = "1",
)

结果: SUCCESS --发票 TE00000000 已发行,金额NT$105,随机码 9393响应包括用于打印的条形码、QRcodeL和QRcodeR。

______________________________________________________________________

“开具带有买方税务ID的B2B发票”

你: 帮我开一张B2B发票给统编54352706的公司,品名是顾问服务费10000元加税500元

AI呼叫:

issue_invoice(
  merchant_order_no = "B2B20260404001",
  buyer_name        = "範例科技股份有限公司",
  buyer_ubn         = "54352706",
  category          = "B2B",
  tax_type          = "1",
  tax_rate          = 5,
  amt               = 10000,
  tax_amt           = 500,
  total_amt         = 10500,
  item_name         = "顧問服務費",
  item_count        = "1",
  item_unit         = "式",
  item_price        = "10000",
  item_amt          = "10000",
  print_flag        = "Y",
  status            = "1",
)

结果: SUCCESS --与买方UBN开具的B2B发票 54352706。打印的发票包括用于税务申报的条形码和二维码。

______________________________________________________________________

“使用手机条形码载体开具B2C发票”

你: 客人要存手机条形码载具/ABC1234,不印纸本,品项是拿铁咖啡2杯65元、巧克力蛋糕1个85元

AI呼叫:

issue_invoice(
  merchant_order_no = "POS20260404001",
  buyer_name        = "顧客",
  category          = "B2C",
  carrier_type      = "0",
  carrier_num       = "/ABC1234",
  tax_type          = "1",
  tax_rate          = 5,
  amt               = 205,
  tax_amt           = 10,
  total_amt         = 215,
  item_name         = "拿鐵咖啡|巧克力蛋糕",
  item_count        = "2|1",
  item_unit         = "杯|個",
  item_price        = "65|85",
  item_amt          = "130|85",
  print_flag        = "N",
  status            = "1",
)

结果: SUCCESS --发票存储到电话条形码载体 /ABC1234,不打印纸质副本。

______________________________________________________________________

“查询我刚刚开具的发票”

你: 帮我查一下订单ORDER20260404001的发票数据

AI呼叫:

query_invoice(
  search_type       = "1",
  merchant_order_no = "ORDER20260404001",
  total_amt         = 105,
)

结果: SUCCESS --返回完整的发票详细信息,包括发票号码 TE00000000、买家信息、税务明细(金额:100,税额:5,总金额:105)、项目详细信息、发票状态(1=已开具)、上传状态、条形码和二维码。

______________________________________________________________________

“我需要为退回的商品退款”

你: 客人退了一杯拿铁65元,帮我对发票TE00000000开折让

AI呼叫:

issue_allowance(
  invoice_no        = "TE00000000",
  merchant_order_no = "ORDER20260404001",
  item_name         = "拿鐵咖啡",
  item_count        = "1",
  item_unit         = "杯",
  item_price        = "65",
  item_amt          = "65",
  item_tax_amt      = "3",
  total_amt         = 68,
  status            = "1",
)

结果: SUCCESS --根据发票开具的津贴 TE00000000 新台币68元(65+3税)。剩余发票金额将相应更新。

______________________________________________________________________

“作废那张发票——它是错开的”

你: 发票TE00000000开错了,帮我作废,原因是误开发票

AI呼叫:

void_invoice(
  invoice_number = "TE00000000",
  invalid_reason = "誤開發票",
)

结果: SUCCESS --发票 TE00000000 无效。平台将通知买方并将无效记录上传至税务机关。

注: 发票只能在下一个奇数月的14日之前作废(例如,3月至4月开具的发票可以在5月14日之前废止)。

______________________________________________________________________

“为下周创建计划发票”

你: 帮我建一张预约发票,预计2026-04-10开立,金额1000元含税

AI呼叫:

issue_invoice(
  merchant_order_no  = "SCH20260404001",
  buyer_name         = "預約客戶",
  category           = "B2C",
  tax_type           = "1",
  tax_rate           = 5,
  amt                = 952,
  tax_amt            = 48,
  total_amt          = 1000,
  item_name          = "訂閱服務",
  item_count         = "1",
  item_unit          = "式",
  item_price         = "1000",
  item_amt           = "1000",
  print_flag         = "Y",
  status             = "3",
  create_status_time = "2026-04-10",
)

结果: SUCCESS --发票数据已保存,计划于2026年4月10日开具。如果您需要提前发布,请使用 trigger_invoice 立即触发它。

______________________________________________________________________

“立即触发该计划发票”

你: 预约发票SCH20260404001要提前开立,帮我触发

AI呼叫:

trigger_invoice(
  invoice_trans_no  = "26040423034604894",
  merchant_order_no = "SCH20260404001",
  total_amt         = 1000,
)

结果: SUCCESS --计划发票立即触发并发出。返回发票号码和随机代码。

工具参考

工具说明关键参数
issue_invoice开具B2B/B2C电子发票category, buyer_name, tax_type, amt, total_amt, item_name, item_count, item_price, print_flag
trigger_invoice触发延期/计划发票invoice_trans_no, merchant_order_no, total_amt
void_invoice作废已开具的发票invoice_number, invalid_reason
issue_allowance发行备抵(贷记单)invoice_no, item_name, item_count, item_price, total_amt
trigger_allowance确认或取消待定津贴allowance_no, allowance_status (C=确认, D=取消)
void_allowance已确认的津贴无效allowance_no, invalid_reason
query_invoice查询发票明细search_type (0=按发票号码, 1=按订单号)

错误代码参考

常见ezPay API响应状态代码:

状态含义
SUCCESS操作已成功完成
LIB10001商户ID不存在
LIB10002加密验证失败
LIB10003时间戳已过期
INV10001重复的商户订单号
INV10003发票号码不存在
INV20001发票已作废
INV20002发票作废期已过
ALW10001备抵金额超过发票金额
ALW10002津贴编号不存在

有关完整的错误代码列表,请参阅 ezPay API文档.

建筑

stdio (JSON-RPC 2.0)
  -> mcp_server.py           Entry point, side-effect import triggers tool registration
    -> app.py                FastMCP("mcp-ezpay-einvoice") singleton
      -> tools/invoice_tools.py    7 @mcp.tool() decorated functions
        -> connectors/ezpay_client.py   Encrypted form POST connector
          -> auth/ezpay_crypto.py       AES-256-CBC encrypt + CheckCode verify
            -> config/settings.py       Endpoints, URL builder, env var config
mcp-ezpay-einvoice/
|-- app.py                          # FastMCP server singleton
|-- mcp_server.py                   # Entry point (stdio transport)
|-- config/settings.py              # API endpoints, URL builder, credentials
|-- connectors/ezpay_client.py      # Encrypted form POST connector
|-- auth/ezpay_crypto.py            # AES-256-CBC encryption, CheckCode
|-- tools/invoice_tools.py          # 7 MCP tools (invoice + allowance lifecycle)
|-- tests/test_all_tools.py         # E2E test runner
|-- scripts/auth/test_connection.py # Connection and credential validator
|-- .mcp.json                       # Claude Code auto-discovery config
`-- .env.example                    # Environment variable template

贡献

看 贡献.md 有关设置说明和指南。

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feat/your-feature
  3. 进行更改并运行测试
  4. 提交拉取请求

许可证

MIT许可证——见 许可证 了解详情。

Asgard生态系统的一部分

该服务器是Asgard AI平台的一部分,将AI助手连接到电子商务、金融、政府数据等领域的现实服务。查看完整 Asgard人工智能平台.

工具与能力

工具数量

7

资源数量

0

提示词数量

0

能力标签

电子发票Python本地部署税务管理B2BB2CAI工具

支持客户端

ClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

行情与财报查询

拉取价格、财报和指标,让模型做对比解读。

持仓与流水

在授权范围内查询持仓、生成流水说明。

风险提示

结合数据给出波动和敞口提醒。

选择建议

值得选的地方

  • 只提供 7 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在金融服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Ezpay Einvoice

MCP World · 本页

7stdio有1 个2026-05-17
MCP Server 273df76d

MCP World

0stdio有1 个2026-05-17
MCP 4a351ada

MCP World

0stdio有1 个2026-05-17
a share MCP is just I need

MCP World

0未说明未标注1 个2026-05-17
Financemcp 538284b7

MCP World

18stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Ezpay Einvoice 怎么安装?

公开资料给出的安装命令是 pip install mcp-ezpay-einvoice,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Ezpay Einvoice 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Ezpay Einvoice 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Ezpay Einvoice 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Ezpay Einvoice 支持哪些客户端?

公开资料标注支持 Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP