mcpField
I
Invoice by Ouroboros Apps

Invoice by Ouroboros Apps

远程服务
ouroborosapps.com金融数据02 周前更新

关于 Invoice by Ouroboros Apps

Invoice 是面向自由职业者的发票 MCP 服务,保存已批准的项目、费率、到期日和逾期条款,供 AI 助手读取。对已封存发票的变更须经明确批准。

主要功能

  1. 01读取已批准的发票记录
  2. 02管理项目、数量与费率
  3. 03设置到期日和逾期条款
  4. 04提出并批准发票变更

适用场景

  1. 01核对发票中的已批准金额
  2. 02检查付款到期日和逾期条款
  3. 03经批准后调整已封存发票

MCP 相关

向 MCP 客户端提供发票读取与管理工具,支持 Streamable HTTP 和 OAuth,也可通过 stdio 运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://invoice-continuity2.vercel.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

13
参数类型必填说明
offsetinteger否

详细介绍

Invoice

Invoice 会保存自由职业者已批准的发票内容——明细项、数量、已批准的费率、到期日和逾期条款——然后让助手在回答前读取该记录。除非明确批准变更,否则助手不能添加明细项、更改费率、编造折扣或更改到期日。

它适用于 ChatGPT、Claude、Gemini、Grok 和 Cursor,以及任何支持 Streamable HTTP 和 OAuth 的其他 MCP 客户端。它并非仅适用于 ChatGPT 的插件。

助手打开 OAuth 时,请使用你的 Invoice 账号登录。不要将 API 密钥或密码粘贴到标头中。Invoice 支持动态客户端注册:将客户端 ID 和密钥留空。/.well-known/oauth-protected-resource/mcp 中的受保护资源元数据会将客户端指向 OAuth 颁发者,由其注册客户端。

使用 Invoice 工具需要 Pro 方案或有效的试用期。新订阅包含 14 天试用期。本页面未列出价格。结账页面会显示计费周期和付款条款。发票中存储的金额是自由职业者已批准的数字,以发票币种的最小单位整数表示。它们不是产品价格。

若要自托管,请运行服务器并使用你配置的基础 URL。默认 MCP 地址为 http://127.0.0.1:3000/mcp。

托管服务器

  • MCP 服务 URL:https://invoice-continuity2.vercel.app/mcp(Streamable HTTP,OAuth 登录)
  • 文档:https://ouroborosapps.com/docs/invoice
  • 状态:早期访问。将 URL 粘贴到 Claude、Cursor、Grok 或 ChatGPT 开发者模式中。
  • 注册表名称:io.github.LAHutchins91/invoice

助手可以做什么

批准连接后,服务器会提供以下工具:

  • list_invoices
  • begin_invoice
  • read_invoice
  • place_line
  • describe_line
  • quote_line_rate
  • set_line_quantity
  • set_invoice_due
  • write_late_terms
  • offer_discount
  • seal_invoice
  • suggest_invoice_change
  • accept_invoice_change

read_invoice 是助手回答前应调用的读取工具。草稿金额不代表已批准的承诺。建议的发票变更不会更改记录。发票封存后,place_line 会拒绝新增明细项,quote_line_rate 会拒绝更改费率,offer_discount 会拒绝提供折扣,set_invoice_due 会拒绝更改到期日。这些变更需要先通过 suggest_invoice_change 提出,再通过 accept_invoice_change 接受,并且只有在你明确批准变更后才会生效。

只有在你和宿主均允许时,助手才会调用这些工具。

连接

Cursor,在 ~/.cursor/mcp.json 或项目的 .cursor/mcp.json 中:

{
  "mcpServers": {
    "invoice": {
      "url": "http://127.0.0.1:3000/mcp"
    }
  }
}

不要添加 headers 块。Cursor 会注册客户端并打开登录页面。

Claude Code:

claude mcp add --transport http invoice http://127.0.0.1:3000/mcp

不要传递 Authorization 标头。其他客户端使用相同地址,选择 OAuth,并将客户端 ID 和密钥留空。ChatGPT、Claude、Gemini、Grok 和 Cursor 的连接步骤请见 /connect 上的连接页面。

此服务器的注册表元数据位于 server.json(io.github.LAHutchins91/invoice)中。其中的远程 URL 为 https://invoice-continuity2.vercel.app/mcp。

运行

npm install
npm test
npm run typecheck
npm run build
npm start

当标准输入是终端时,Invoice 会在端口 3000 上提供 Streamable HTTP。当标准输入不是终端时,它会通过标准输入/输出进行 MCP 通信,同时仍会开放 HTTP 端口。在标准输入/输出模式下,日志会写入标准错误,以免与协议内容混在一起。

记录会持久存储在 JSON 文件中。默认路径为 ~/.invoice/invoice.json。设置 INVOICE_DATA_PATH 可更改存储位置。该文件由一个服务器进程独占。请勿将其指向其他产品的数据文件。

OAuth 采用与 Supabase 授权服务器相同的方式,并支持动态客户端注册。在服务器进程中设置以下变量,而不是在 MCP 标头中设置:

  • APP_BASE_URL(默认为 http://localhost:3000)
  • SUPABASE_URL
  • SUPABASE_ANON_KEY
  • STRIPE_SECRET_KEY
  • STRIPE_WEBHOOK_SECRET
  • STRIPE_PRICE_MONTHLY 和 STRIPE_PRICE_YEARLY(Stripe 目录 ID,而非价格)
  • OPENAI_APPS_CHALLENGE(可选;设置后,/.well-known/openai-apps-challenge 会以纯文本形式返回该令牌)

除发现以外的工具调用都需要使用已登录账户,且其订阅状态必须为 active 或 trialing。


了解 Ouroboros 的更多信息:https://ouroborosapps.com

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。