mcpField
I
invoicepdfs

invoicepdfs

远程服务
github.com/invoicepdfs金融数据02 周前更新
代码仓库

关于 invoicepdfs

invoicepdfs 是连接 AI Agent 与 InvoicePDFs API 的 MCP 服务,可渲染发票和贷项通知单、检查合规性并管理客户。它在启动时生成工具列表,直接呈现常用操作,同时支持发现和调用 API 的其他操作。

主要功能

  1. 01渲染发票和贷项通知单
  2. 02检查电子发票合规性
  3. 03管理客户
  4. 04按用途搜索 API 操作
  5. 05执行其他 API 操作

适用场景

  1. 01生成已完成渲染的发票 PDF
  2. 02按 EN 16931 检查文档
  3. 03查找并调用较少使用的 API 操作

MCP 相关

提供 InvoicePDFs API 的 MCP 工具,包括文档渲染、合规检查、客户操作,以及通用操作的发现和执行。它以 HTTPS 客户端的方式调用公共 API。

配置

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

服务地址https://invoicepdfs.com/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 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://invoicepdfs.com/mcp需要授权
安装包
npm@invoicepdfs/mcp0.1.2

工具

详细介绍

InvoicePDFs MCP 服务

为 AI Agent 提供 InvoicePDFs API 工具:渲染文档、检查文档是否符合电子发票合规要求、管理客户,以及按需访问 API 的其他部分。

它是一个普通的 HTTPS 客户端,用于访问公共 API。无需数据库,也无需部署额外服务;无需向 render.yaml 添加任何内容。它运行在你的计算机上。

使用方法

将以下内容添加到 MCP 客户端的配置中——Claude Desktop、Cursor,或任何支持通过 stdio 使用 MCP 的客户端:

{
  "mcpServers": {
    "invoicepdfs": {
      "command": "npx",
      "args": ["-y", "@invoicepdfs/mcp"],
      "env": { "INVOICEPDFS_API_KEY": "inv_live_..." }
    }
  }
}

在 https://invoicepdfs.com 创建密钥。如果你要连接本地服务,可以通过 INVOICEPDFS_BASE_URL 覆盖主机。

API 密钥没有权限范围限制。 你提供给此服务的任何密钥都可以执行你账户能执行的所有操作,包括删除数据。这是密钥本身的特性,而不是此服务的特性——没有权限范围更窄的凭据可供使用。你的 MCP 客户端仍会在每次工具调用前征求确认。

提供的功能

共 30 个工具。其中 27 个工具直接对应常见操作,例如 document_render、document_create、compliance_check、customer_list 等;document_transition 通过一个 to 参数覆盖文档生命周期的七种状态,另外两个工具则可访问其他所有操作:

  • find_operation——按功能搜索全部 161 个操作,并获取每个匹配项的完整输入架构。
  • call_operation——运行其中一个操作。

整个 API 均可访问;这里只列出常用操作。每个客户端对工具列表都有上限(Cursor 约为 40 个,Junie 为 100 个,Copilot 为 128 个),因此,若服务公布 161 个工具,要么会导致故障,要么会挤占你连接的其他所有服务。

document_render 会异步渲染并等待结果,因此返回的是已完成的渲染结果,而不是排队中的任务。渲染受 CPU 限制,并由单个工作进程提供服务,因此最好一次渲染一个,而不是并行启动多个任务。

构建方式

工具接口在启动时根据 openapi.json 构建。 src/operations.ts 会读取规范,并据此生成每个操作的名称、输入架构和说明;src/client.ts 是一个可以执行所有操作的执行器。向 API 添加端点后,这里无需修改代码即可新增可用工具。

它是在运行时构建的,而不是生成文件并提交到代码库中,这是有意为之。第一个版本生成了 16,000 行 TypeScript,每次 API 变更都必须重新生成并提交——这相当于另一份规范副本,也有自己的过时方式。在只启动一次的进程中,解析规范只需约 10 毫秒。

只有三项内容是手动编写的:

文件无法从规范生成的原因
src/manifest.ts哪些操作会被提升为独立工具,以及它们的名称
src/tools/documentRender.ts异步默认行为和轮询,直到任务进入终止状态
src/tools/findOperation.ts搜索和延迟加载

工具说明取自 API 的处理程序文档字符串,并通过规范提供。这里不会重复编写这些说明,因为在两个地方维护同一操作的描述会导致内容逐渐不一致。

开发

npm install
npm test        # drift and tool-surface checks
npm run build   # compiles
npm pack        # vendors openapi.json into the tarball, then cleans up

此代码库由生成流程维护。 源代码位于 InvoicePDFs API 单体仓库的 mcp/ 目录中,这里的每次提交都是从那里同步而来——因此,在此代码库中所做的更改会被下一次同步覆盖。请改为提交 Issue,这样更改就会在能够保留下来的地方完成。

之所以拆分,是因为这两部分适合放在不同的地方。代码应放在所描述的 API 旁边:工具说明来自 API 处理程序自身的文档字符串;如果清单中指定的操作不再存在于规范中,npm test 就会失败。这项保护只有在重命名处理程序的拉取请求中运行才有效。而 软件包 应位于公共代码库中,因为 npm 构建来源证明要求如此,也因为没有可读源代码支持的注册表条目价值有限。

因此,每次 API 变更时,漂移检查都会在上游运行,而此代码库负责发布。

评论

支持 Markdown

第一次接触 MCP?

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

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