发票自动化插件

MoneyForward 云发票API v3的MCP插件,用于自动化创建符合发票制度的估算和发票。

  • by tera911
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tera911/mf-invoice-mcp

使用说明

MF发票MCP

使用MoneyForward云发票API v3的MCP插件。自动创建发票制度对应的报价单和发票。

机能

认证

  • mf_auth_status -验证验证状态
  • mf_auth_start -启动授权
  • mf_auth_callback -通过验证码获取令牌
  • mf_refresh_token -刷新标记

取引先

  • mf_list_partners -获取客户列表
  • mf_get_partner -获取贸易伙伴详细信息

品目

  • mf_list_items -获取物料列表
  • mf_get_item -获取物料详细信息

见积书

  • mf_list_quotes -获取报价单列表
  • mf_get_quote -获取报价详细信息
  • mf_create_quote -创建报价单(支持发票)
  • mf_update_quote -更新报价单
  • mf_download_quote_pdf -获取报价PDF URL
  • mf_convert_quote_to_billing -将报价转换为发票

纳品书

⚠️ 注意:v3API未提供交货单创建端点。如果需要交货单的话,请在钱包前锋的WebUI上制作。

请求书

  • mf_list_billings -获取发票列表
  • mf_get_billing -获取发票详细信息
  • mf_create_billing -创建发票(支持发票)
  • mf_create_billing_from_quote -从报价单创建发票
  • mf_update_billing -更新发票
  • mf_update_payment_status -更新收款状态
  • mf_download_billing_pdf -获取发票PDF的URL

发票制度对应

本MCP支持发票制度(合格发票等保存方式)。

消費税区分(excise)

在创建发票报价单时,为每个行指定消费税分类。

値 说明
ten_percent 10%
eight_percent_as_reduced_tax_rate 軽减税率8%
eight_percent 8%
untaxable 対象外
non_taxable 非课税

部门_id

创建发票对应发票department_id中所述修改相应参数的值。在本MCP中mf_create_billing・mf_create_quote运行时自动获取客户部门信息。

安装,安装

1.在MoneyForward云中创建API应用程序

  1. MoneyForward云登录
  2. 从开发人员设置创建API应用程序
  3. 获取客户端ID和客户端安全
  4. 设置重定向URI(例如: http://localhost:38080/callback)
  5. 客户认证 client_secret_post 设置为(重要)

⚠️ 注意:默认情况下,客户端认证方法 client_secret_basic 但是,在本MCP中 client_secret_post 正在使用方式。请务必在创建应用程序时进行更改。

2.设置环境变量

export MF_CLIENT_ID="your_client_id"
export MF_CLIENT_SECRET="your_client_secret"
export MF_CALLBACK_PORT="38080"  # オプション(デフォルト: 38080)

重要:在MoneyForward的API应用程序设置中,重定向URI http://localhost:38080/callback 来修改标记元素的显示属性。

3.构建

npm install
npm run build

4.Claude Desktop的设置

~/Library/Application Support/Claude/claude_desktop_config.json 添加:

使用npx时(推荐)

{
  "mcpServers": {
    "mf-invoice": {
      "command": "npx",
      "args": ["@tera911/mf-invoice-mcp"],
      "env": {
        "MF_CLIENT_ID": "your_client_id",
        "MF_CLIENT_SECRET": "your_client_secret",
        "MF_CALLBACK_PORT": "38080"
      }
    }
  }
}

使用本地构建

{
  "mcpServers": {
    "mf-invoice": {
      "command": "node",
      "args": ["/path/to/mf-invoice-mcp/dist/index.js"],
      "env": {
        "MF_CLIENT_ID": "your_client_id",
        "MF_CLIENT_SECRET": "your_client_secret",
        "MF_CALLBACK_PORT": "38080"
      }
    }
  }
}

5.初回认证

  1. 在Claude上 mf_auth_start 执行
  2. 在浏览器中打开显示的URL
  3. 登录并授权MoneyForward
  4. 认证完成后自动保存令牌

注意:认证时端口38080(或MF_CALLBACK_PORT中指定的端口)必须为空。

使用例

创建报价单并将其转换为发票

User: A社への見積書を作成して

Claude: まず取引先を検索します。
[mf_list_partners で検索]

User: 見つかった。作成して。

Claude: [mf_create_quote で作成]
見積書を作成しました。

User: これで承認されたから請求書を作って

Claude: [mf_convert_quote_to_billing で変換]
見積書から請求書を作成しました。

报价单、交货单、发票3件套

User: B社への見積書を作成して、承認されたら納品書と請求書も作って

Claude: [mf_create_quote で作成]
見積書を作成しました。

User: 承認された

Claude: [mf_convert_quote_to_billing で請求書作成]
請求書を作成しました。

⚠️ 納品書はv3 APIでは作成できません。
マネーフォワードのWebUIから作成してください。

参考以前的发票新建(支持发票)

User: 先月B社に送った請求書と同じ内容で今月分を作成して

Claude: [mf_list_billings でB社の請求書を検索]
前月の請求書が見つかりました。同じ内容で作成しますか?
※インボイス対応のため消費税10%を適用します

User: はい

Claude: [mf_create_billing で作成(excise: ten_percent指定)]
請求書を作成しました。

API制限

  • 速率限制:每秒最多3个请求(自动控制)
  • 超过时返回HTTP 429,自动重试

v3 API制限事项

  • 纳品书作成在:v3API中/delivery_slips/from_quote未提供端点。如果需要交货单,请在WebUI上制作。
  • 请求书作成:创建发票对应发票/invoice_template_billings使用端点(旧)/billings对较大场景进行渲染期间已观察到该故障。

标记保存位置

认证信息是 ~/.config/mf-invoice-mcp/tokens.json 中所述修改相应参数的值。

许可证

麻省理工学院