关于 Patent Maintenance Fees
Patent Maintenance Fees 是用于查询美国专利维持费事件和状态的 MCP 服务,数据来自 USPTO 批量数据的本地镜像。可查询单项专利记录或搜索事件;镜像尚未配置,因此目前调用会返回 dataset_unavailable 错误。
主要功能
- 01专利费用状态与事件历史
- 02费用窗口截止日及缴费状态
- 03搜索并统计匹配事件
- 04识别外观与植物专利豁免
适用场景
- 01检查实用专利是否因未缴费失效
- 02查看缴费、恢复及实体状态变更
- 03统计指定日期范围内的到期事件
MCP 相关
通过 Pipeworx 网关或独立 stdio MCP 服务向 MCP 客户端提供两种专利费用工具。本地镜像尚未加载,目前调用会返回 dataset_unavailable。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/patent-maintenance-fees/mcpclaude mcp add --transport http pipeworx-io-patent-maintenance-fees https://gateway.pipeworx.io/patent-maintenance-fees/mcp{"mcpServers":{"pipeworx-io-patent-maintenance-fees":{"type":"http","url":"https://gateway.pipeworx.io/patent-maintenance-fees/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-patent-maintenance-fees":{"type":"http","url":"https://gateway.pipeworx.io/patent-maintenance-fees/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-patent-maintenance-fees":{"type":"http","url":"https://gateway.pipeworx.io/patent-maintenance-fees/mcp"}}}{"mcpServers":{"pipeworx-io-patent-maintenance-fees":{"serverUrl":"https://gateway.pipeworx.io/patent-maintenance-fees/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/patent-maintenance-fees
查询美国专利是否仍然有效,或是否因未缴纳维持费而失效——这是 patents 套件无法回答的唯一问题,因为其中的审查事件数据完全没有费用字段。
这是 Pipeworx 的一部分——一个将 AI Agent 连接到 1831+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
工具
get_patent_maintenance_status(patent_number)— 查询一项专利的所有已记录维持费事件(缴费、附加费、未缴费导致的失效、恢复权利、实体状态变更)、计算得出的status,以及第 4/8/12 年费用期限的明细(到期日、宽限期结束日期、是否已缴费)。外观设计(以D为前缀)和植物(以PP为前缀)专利依法免缴维持费,因此会返回subject_to_maintenance_fees:false,而不是简单地表示未匹配到记录。search_maintenance_fee_events(event_code?, patent_number_prefix?, date_from?, date_to?, limit?)— 先返回精确的total_matching数量,再提供按时间倒序排列的匹配事件样本,数量有上限。可用于回答“上季度有多少项专利因未缴费而失效”等问题——传入event_code: "EXP."和日期范围即可。
认证
无需密钥。
数据来源
USPTO,专利维持费事件——开放数据门户的批量数据产品,记录了自 1981-09-01 至今授予的美国专利的所有维持费事件。美国联邦数据,属于公有领域。
为什么这是本地副本套件,而不是实时代理
按照 CLAUDE.md 的本地副本规则,首先进行了检查:ODP 的 Patent File Wrapper 搜索/按编号查询 API——mcps/patents 已调用的 API——会返回审查事件(eventDataBag:申请、公开、授权、审查意见),但完全没有维持费字段。维持费历史仅以“PTMNFEE2”批量产品形式发布,这是一个每周累积的单一文件,没有按专利查询的端点。该产品过去用于发布数据的旧版免密钥主机(bulkdata.uspto.gov)截至 2026-10-17 已无法通过 DNS 解析;经两个独立公共解析器确认,结果为 NXDOMAIN/NODATA,而非临时封锁。如今只能通过 ODP 自己需要认证的批量数据 API 访问该产品;如果没有 API 密钥,该 API 对所有 /api/v1/* 路径都会返回 401/403(所需凭证类型与 patents 套件的 PLATFORM_USPTO_KEY 相同)。批量文件没有逐条记录 API,正是 CLAUDE.md 的数据来源规则要求使用刷新的后端存储,而非每次调用都向上游获取数据的情况。
此套件读取 Supabase 镜像(uspto_maintenance_fee_events,架构定义见 supabase/migrations/260_uspto_maintenance_fee_events.sql),由 scripts/ingest-uspto-maintenance-fees.mjs 加载( .github/workflows/uspto-maintenance-fees-refresh.yml,仅支持手动触发——见下文)。每个响应都包含来自镜像自身 loaded_at 的 data_as_of。
尚未完成配置(截至添加此工具包的提交)
在 uspto_maintenance_fee_events 包含任何行之前,还需完成两件事,而这两件事都无法在仅提交代码的构建会话中完成:
- 将 ODP API 密钥设为
USPTO_ODP_API_KEY仓库密钥。 前往 https://data.uspto.gov/myodp 免费获取(凭据类型与网关为patents工具包在服务器端持有的PLATFORM_USPTO_KEY相同;此处再次存储,是因为刷新任务在网关 Worker 之外运行)。 - 首次触发
uspto-maintenance-fees-refresh.yml。 数据导入脚本的获取/发现步骤(通过 ODP 批量数据 API 查找并下载最新的MaintFeeEvents_*.zip)遵循该 API 的文档规范,但从未对线上端点运行过——编写脚本的构建会话中没有可用密钥。如果响应格式与预期不符,脚本会明确报错并指出实际响应格式,而不会悄悄错误解析;请参阅脚本头部注释。其后解析的定宽记录布局(每条记录 57 字节,列偏移量依据 USPTO 自己的文档)则已通过独立资料交叉验证,并由scripts/__tests__/ingest-uspto-maintenance-fees.test.mjs中的单元测试覆盖。
在这两项完成之前,每次工具调用都会明确报出 dataset_unavailable 错误,而不会悄悄报告所有专利均没有费用事件——请参阅下文“空镜像防护”。
规模和负载策略
截至 2026-10,完整文件约有 2,700 万条事件记录(每条事件一行,而非每项专利一行)。每次运行刷新工作流都会执行完整的 TRUNCATE + psql \copy 重载——该文件是累积文件,因此每次完整重新处理都会重现正确的完整历史记录,采用与 scripts/ingest-faa-aircraft-registry.mjs 相同的“无需担心增量逻辑出错”的策略。由于重载 2,700 万行会产生较大负载,该工作流仅支持 workflow_dispatch(与 sec-13f-load.yml 相同),不使用 cron——首次回填应作为受监控的一次性操作运行,并在操作前后检查 Supabase 延迟/PGRST002,遵循 Bruce 针对 SEC 13F 于 2026-09-30 作出的“supa stagger”裁定。
空镜像防护
这与为 faa_reg_aircraft(fleet #2790)修复的静默零结果问题属于同一类:即使底层表为空,REST 查询仍会成功返回零行,因此简单读取会报告所有专利均没有维护费事件——这与在数据完整时真正查无结果无法区分。两个工具都会先检查是否至少载入一行数据,否则就会明确抛出 dataset_unavailable 错误,并指出实际情况。
范围 — 此工具包不会判定的事项
维护费未缴导致专利失效只是专利可能不再具备可执行性的一种方式,并非唯一方式。此工具包不会判定:
- 专利期满(自申请日起 20 年)。 即使专利的缴费记录完全无误,仍会在法定期限结束时到期。
- 无效、再审结果或诉讼状态。
- 设计专利和植物专利——见下文。
可搭配 patents 工具包查询审查历史,搭配 epo-ops 工具包查询非美国专利。
设计专利和植物专利豁免
《美国法典》第 35 编第 41(b) 条规定,维护费仅适用于实用专利和再颁专利。以 D 为前缀的设计专利号和以 PP 为前缀的植物专利号不会产生维护费事件,也不会出现在此数据集中。get_patent_maintenance_status 会检测此前缀,并返回 subject_to_maintenance_fees:false 及说明,而不是只显示“未找到事件”,以免其与真正的数据缺失看起来相同。
前导零 — 尚待解决的标准化问题
尚未通过线上文件样本确认文件中的定宽专利号列是否保留或去除了前导零(构建此工具包时没有 API 密钥可用——见上文“尚未完成配置”)。get_patent_maintenance_status 会同时查询标准化形式和去掉前导零后的相同值,而不预设其中一种形式。
事件代码
USPTO 长期沿用的维护费事件代码(按缴费窗口/实体规模/公法时期划分的缴费、附加费、EXP./EXPX 到期/恢复、实体状态变更、请愿)已在 src/index.ts 的 EVENT_CODES 表中解码,原始代码始终会与说明一同返回——表中未收录的罕见或未来代码会返回原始代码,说明为 null,而不是猜测其含义。
快速开始
将其添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"patent-maintenance-fees": {
"url": "https://gateway.pipeworx.io/patent-maintenance-fees/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/patent-maintenance-fees/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 和网关范围内的其他工具。因此,你看到的工具数量会多于此表:目前,单个工具包端点除了该工具包自身的工具,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是特定日期的权威答案。
这是有意为之,并非意外的多路复用。元工具让限定范围的连接也能回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——无需额外添加第二个 MCP 服务。目前无法在不包含这些工具的情况下挂载工具包端点;如果额外的架构定义占用的上下文超过了路由功能带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
或者连接完整的 Pipeworx 网关,直接列出每个工具包的工具,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会访问同一个网关和相同的 1831+ 个数据源。唯一的区别是直接列出哪个工具包的工具;从任一端点都可以通过 ask_pipeworx 访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/get_patent_maintenance_status \
-H 'Content-Type: application/json' \
-d '{"patent_number":"10835610"}'
首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/get_patent_maintenance_status。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:
{
"mcpServers": {
"patent-maintenance-fees": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-patent-maintenance-fees"]
}
}
}
或者直接运行,确认服务能够启动:
npx -y @pipeworx/mcp-patent-maintenance-fees
它通过 stdin/stdout 使用 MCP,并仅对此工具包的工具响应 initialize/tools/list/tools/call——不包含上述网关连接添加的共享元工具。源码相同,工具相同,但没有 ask_pipeworx 路由功能。
使用 ask_pipeworx
你可以用通俗的英语提问,而不是直接调用工具——此功能既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Patent Maintenance Fees data" })
网关会选择合适的工具并自动填入参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。