USPTO PTAB MCP服务器
用于USPTO专利审判和上诉委员会(PTAB)开放数据门户API的高性能模型上下文协议(MCP)服务器,具有令牌保存功能 上下文缩减 能力, 混合文档提取,以及 无缝跨MCP集成 用于完整的专利生命周期分析。
   
📚 文档
| 文档 | 描述 |
|---|---|
| 📥 安装指南 | 使用自动化脚本完成跨平台设置 |
| 🔑 API关键指南 | 获取USPTO和Mistral API密钥的分步说明及屏幕截图 |
| 📖 使用示例 | 功能示例、工作流和集成模式 |
| 🎯 提示模板 | 法律和研究工作流程复杂提示模板的详细指南 |
| ⚙️ 现场定制 | 自定义字段集以实现最佳上下文缩减的综合指南 |
| 🔒 安全指南 | 全面的安全最佳实践 |
| 🛡️ 安全扫描 | 自动秘密检测和快速注射保护指南 |
| 🧪 测试指导 | 测试套件文档和API密钥设置 |
| 🔄 MCP更新指南 | 更新现有USPTO MCP以实现PTAB集成的说明 |
| ⚖️ 许可证 | MIT许可条款和条件 |
______________________________________________________________________
📢 重要信息:API过渡更新(2026年1月)
为什么PTAB MCP被推迟
此USPTO PTAB MCP的发布由于USPTO的API重大过渡而延迟。开发中的原始版本使用了 USPTO开发者中心API的PTAB端点 (developer.uspto.gov),这些是 2026年1月6日正式退役.见官方 美国专利商标局PTAB过渡指南 了解详情。
需要采取的行动:更新其他USPTO MCP
如果您安装了作者的任何其他USPTO MCP服务器 2026年1月19日之前,您应该更新它们以从增强的PTAB集成中受益。虽然现有的MCP将在没有更新的情况下继续工作,但更新(尤其是 专利文件包装器MCP)强烈推荐用于最佳的集中式代理支持和涉及PTAB的跨USPTO工作流。
⚠️ 重要:如果您计划安装此PTAB MCP,它是 强烈建议先安装(或更新,如果以前安装过)专利文件包装器(PFW)MCP 在安装PTAB之前。更新后的PFW包括基本的集中式代理增强功能,使PTAB文档能够通过PFW的统一代理服务器下载。
📖 查看完整 MCP更新指南 用于:
- 每个MCP都发生了什么变化
- 逐步更新说明(Git和手动ZIP方法)
- 更新的好处(集中式代理、更正的工具参考)
- 常见更新问题的故障排除
______________________________________________________________________
⚡ 快速开始
Windows安装
以管理员身份运行PowerShell那么:
# Navigate to your user profile
cd $env:USERPROFILE
# If git is installed:
git clone https://github.com/john-walkoe/uspto_ptab_mcp.git
cd uspto_ptab_mcp
# If git is NOT installed:
# Download and extract the repository to C:\Users\YOUR_USERNAME\uspto_ptab_mcp
# Then navigate to the folder:
# cd C:\Users\YOUR_USERNAME\uspto_ptab_mcp
# The script detects if uv is installed and if it is not it will install uv - https://docs.astral.sh/uv
# Run setup script (sets execution policy for this session only):
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
.\deploy\windows_setup.ps1
# View INSTALL.md for sample script output.
# Close Powershell Window.
# If choose option to "configure Claude Desktop integration" during the script then restart Claude DesktopPowerShell脚本将:
- ✅ 检查并自动安装uv(通过winget或PowerShell脚本)
- ✅ 安装依赖项并创建可执行文件
- ✅ 提示输入USPTO API密钥(必需)和Mistral API密钥(可选)或检测是否已安装开发人员的其他USPTO MCP,并询问是否要使用这些安装中的现有密钥。
- 🔒 如果输入API密钥,脚本将自动使用Windows DPAPI加密安全地存储API密钥
- ✅ 问你有没有 USPTO PFW MCP 已安装,如果是这样,将使用USPTO PFW MCP的默认集中式代理
- ✅ 询问是否要配置Claude Desktop集成
- 🔒 提供安全的配置方法(推荐)或传统方法(MCP JSON文件中的纯文本API密钥)
- ✅ 备份,然后自动与现有的Claude Desktop配置合并(保留其他MCP服务器)
- ✅ 提供安装摘要和后续步骤
Claude桌面配置-手动安装
{
"mcpServers": {
"uspto_ptab": {
"command": "uv",
"args": [
"--directory",
"C:/Users/YOUR_USERNAME/uspto_ptab_mcp",
"run",
"ptab-mcp"
],
"env": {
"USPTO_API_KEY": "your_actual_USPTO_api_key_here",
"MISTRAL_API_KEY": "your_mistral_api_key_here_OPTIONAL",
"CENTRALIZED_PROXY_PORT": "none",
"PTAB_PROXY_PORT": "8083"
}
}
}
}代理配置说明:
- 集中式代理端口:
- 吃起来 "none" 独立使用(不推荐) - 当安装了USPTO PFW MCP并且PFW使用其默认端口作为本地代理时,设置为8080。(如果PFW未使用其默认端口,请更改此值以匹配)
- PTAB-PROXY_PORT:本地代理端口(默认值:
8083,避免与PFW发生冲突8080)
- 仅在独立模式下使用(未检测到PFW MCP) - 安装PFW MCP后,PTAB会自动使用PFW的集中式代理(端口 8080),但将回退到PTAB的本地代理端口 - 集中式代理的好处:所有USPTO MCP的单端口,7天持久链路,统一速率限制
用于详细的安装、手动设置和故障排除,请参阅 安装.md
🔑 主要特点
- ⚙️ 用户可自定义字段 -通过YAML配置字段集,无需更改代码
- 🎯 上下文缩减 -获得集中的响应,而不是大规模的API转储(减少80-99%)
- 📊 渐进式披露策略 -最小发现→ 平衡分析→ 文档提取
- 🔍 三种数据类型 -审判(IPR/PGR/CBM)、上诉(Ex Parte)和干扰的专用搜索工具
- 🆕 工具搜索优化 -服务器指令指导Claude按需高效地发现工具,在启用工具搜索时,上下文窗口的使用率降低了70-85%(beta功能)
- ✨ 智能文档提取 -自动优化混合提取(免费PyPDF2→ Mistral OCR回退)和安全的浏览器下载
- 🆕 集中式代理集成 -自动检测PFW MCP,并使用统一代理(端口8080)进行持久链接和跨MCP下载
- 🌐 安全浏览器下载 -单击代理URL可直接下载PDF,同时确保API密钥的安全
- 📁 增强的文件名 -带有试用元数据的专业格式:
PTAB-2024-05-15_IPR2024-00123_PAT-8524787_FINAL_WRITTEN_DECISION.pdf - 👁️ 高级OCR功能 -需要时,使用Mistral OCR从扫描的PDF中提取文本以供LLM使用
- 💰 Mistral OCR成本透明度 -使用Mistral OCR时的实时成本计算
- 🔐 安全的API密钥存储 -可选的Windows DPAPI加密可确保API密钥的安全(配置文件中没有纯文本)
- 🚀 高性能 -具有指数回退和速率限制合规性的重试逻辑
- 🛡️ 生产就绪 -增强的错误处理、自动日志清理、具有安全文件权限的持久审计跟踪
- 🔒 企业安全 -SafeLogger自动屏蔽敏感数据、基于文件的日志记录(10MB轮换)、单独的安全日志以确保合规性
- 💻 交叉平台的 -在Linux和Windows上无缝工作
- 📋 API全面覆盖 -支持所有USPTO PTAB开放数据门户端点
- 🔗 跨MCP集成 -与专利文件包装器、FPD、引文和松果MCP无缝集成,实现完整的生命周期分析
工作流设计-所有工作均由LLM在最少的用户指导下完成
用户请求如下:
- *“查找苹果公司2024年提交的所有知识产权诉讼”*
- *“向我展示专利8524787的最终书面决定”*
- *“将IPR2024-00123的机构决定发给我”*
- *“分析该技术领域的知识产权成功率和引用模式”*
LLM执行以下步骤:
第一步:发现(最小) → 第二步:选择和分析(平衡-可选) → 第3步:详细的试验审查 → 步骤4(可选):选择特定的试验文件进行检查 → 步骤5(可选):从文档列表中检索document_id → 步骤6(可选):用于LLM的文档提取和/或用户使用的PDF下载链接
现场配置支持优化的研究进展:
- 发现(最小) 高效返回50-100个试验,而不会造成文档膨胀
- 选择和分析(平衡-可选) 从检索到的选择可能的试验中。如果需要,在高级工作流和/或具有专利文件包装器或FPD的跨MCP工作流中执行可选的平衡搜索
- 详细试验审查 通过
search_trials_complete用于具有完整结构化数据的选定试验,供法学硕士用于分析 - 选择特定的试验文件进行审查 (可选)例如最终书面决定、机构决定、请愿书
- 从文档列表中检索document_id (可选)使用
ptab_get_documents获取document_id - LLM使用的文档提取和/或下载链接 (可选)通过自动优化成本和质量的智能混合工具提取文档,并在PDF使用HTTP代理的URL时下载文档,该代理会从聊天历史记录中屏蔽USPTO的API密钥
🎯 提示模板
此MCP服务器包括用于复杂PTAB工作流程的复杂AI优化提示模板。有关所有模板、功能和使用示例的详细文档,请参阅 PROMPTS.md.
快速模板概述
| 类别 | 模板 | 目的 |
|---|---|---|
| 法律分析 | /trial_precedent_research, /ipr_challenge_defense_PFW, /portfolio_ptab_risk_assessment_PFW_FPD | 诉讼研究、防御策略、投资组合风险评估 |
| 研究与起诉 | /prior_art_board_decision_mining, /ptab_prior_art_validation_PFW_CITATIONS, /technology_landscape_ptab_analysis_PFW | 现有技术研究、审查员引文验证、竞争情报 |
| 文档管理 | /complete_trial_litigation_package, /trial_timeline_analysis, /complete_prosecution_lifecycle_PFW_FPD_CITATIONS | 有组织的检索、时间线分析、全面的生命周期工作流程 |
所有模板的主要功能:
- 增强的输入处理 -灵活的标识符支持(试验编号、专利编号、参与方名称)
- 智能验证 -自动格式检测和引导
- 跨MCP集成 -使用PFW、FPD、Citations和Pinecone MCP实现无缝工作流程
- 上下文优化 -通过逐步披露减少代币
📊 可用功能
搜索功能(9个重点工具-每种数据类型3个)
试验搜索工具(IPR、PGR、CBM)
| 函数(显示名称) | 上下文缩减 | 用例 |
|---|---|---|
search_trials_minimal (搜索试验最少) | 典型的95-99% | 超快速试验发现(用户可自定义的最小字段) |
search_trials_balanced (搜索试验平衡) | 典型85-95% | 综合试验分析(无documentBag) |
search_trials_complete (搜索试验完成) | 典型80-90% | 详细检查的完整试验数据 |
上诉搜索工具(外部上诉)
| 函数(显示名称) | 上下文缩减 | 用例 |
|---|---|---|
search_appeals_minimal (搜索申诉最少) | 典型的95-99% | 超快速申诉发现(用户可自定义的最少字段) |
search_appeals_balanced (搜索申诉平衡) | 典型85-95% | 综合申诉分析(无文件袋) |
search_appeals_complete (搜索上诉完成) | 典型80-90% | 完整的上诉数据以供详细检查 |
干扰搜索工具
| 函数(显示名称) | 上下文缩减 | 用例 |
|---|---|---|
search_interferences_minimal (搜索干扰最小) | 典型95-99% | 超快速干扰发现(用户可自定义最小字段) |
search_interferences_balanced (搜索干扰平衡) | 典型85-95% | 综合干扰分析(无文件袋) |
search_interferences_complete (搜索干扰完成) | 典型80-90% | 详细检查的完整干扰数据 |
搜索策略
专业搜索策略
- IPR/PGR/CBM分析 -使用
search_trials_*用于分析各方审查、授权后审查和涵盖的商业方法程序的工具 - 外部申诉分析 -使用
search_appeals_*研究PTAB上诉裁决和审查员撤销模式的工具 - 干扰诉讼 -使用
search_interferences_*分析发明人之间优先权纠纷的工具 - 跨MCP集成 -使用以下方式将PTAB数据与PFW起诉历史联系起来
applicationNumberText专利号 - 红旗标识 -关注机构决策、最终书面决策和诉讼风险评估的解决模式
查询示例
# Find IPR proceedings for specific patent
search_trials_minimal(
patent_number="8524787",
trial_type="IPR",
limit=50
)
# Technology area IPR analysis
search_trials_balanced(
petitioner_name="Apple Inc",
filing_date_from="2020-01-01",
filing_date_to="2024-12-31",
limit=100
)
# Cross-MCP workflow example
# 1. Find patents with PFW
# 2. Check PTAB challenge history
search_trials_minimal(
patent_number=patent_from_pfw,
limit=20
)文档处理功能
| 功能(显示名称) | 用途 | 要求 |
|---|---|---|
ptab_get_documents (获取试用文档) | 对任何PTAB程序进行分页、排序和过滤的完整摘要访问。试用使用POST搜索端点(真实计数, next_offset);上诉/干扰使用GET。 | USPTO_API密钥 |
ptab_get_document_content (PTAB获取文档内容) | 具有成本透明性的智能文档提取 | USPTO_API_KEY(+MISTRAL_API_KEY用于OCR回退) |
ptab_get_document_download (PTAB获取文档下载) | 具有增强文件名的安全浏览器可访问下载URL | USPTO_API_KEY |
文档处理能力
- 文档列表层(
ptab_get_documents):所有PTAB程序类型的完整案卷访问权限
- 通用标识符支持 -适用于审判编号、上诉编号和干扰编号 - identifier类型参数 -指定“审判”、“上诉”或“干扰”以正确路由 - 审判的完整分页 -使用POST搜索端点(trials/documents/search);返回true total_documents 计数(例如,涉及严重诉讼的知识产权为105)以及 next_offset 提示。传统的GET端点被默默地限制在25个文档。 - offset + limit 参数 -浏览完整的卷宗: offset=0, limit=25 → 前25名; offset=25, limit=25 → 接下来的25等等。 - sort_order 参数 - "asc" 先归还最古老的物品(请愿书、持久性有机污染物审查、早期展品); "desc" (默认)先返回最新消息(FWD、Sur Reply、听证会记录) - document_title 过滤器 -不区分大小写的子字符串匹配 documentTypeDescriptionText (例如。 document_title='Final Written Decision', document_title='Patent Owner Response').匹配描述字段,而不是标题字段。 - document_category 过滤器 -粗略类别过滤器:请愿、回应、命令、决定、运动、最终 - filing_party 过滤器 -按董事会、申请人或专利所有者筛选 - LLM优化解析 -提取文件ID、描述、提交日期、提交方 - 已知API限制 -在某些程序中,请愿书(论文1)和机构决定可能不会被搜索端点索引。如果在对所有结果进行分页后丢失了关键的早期文档,请使用试用ZIP下载(可通过 search_trials_balanced → fileDownloadURI)其中包含完整的案卷。
- 智能提取层(
ptab_get_document_content):混合自动优化提取
- 智能方法选择 -自动首先尝试PyPDF2(免费),需要时返回到Mistral OCR(需要API密钥) - 成本优化 -仅在PyPDF2提取未通过质量检查时支付OCR费用 - 质量检测 -自动确定提取是否可用或是否需要OCR - 透明的报告 -显示使用了哪种方法和相关成本 - 统一接口 -单一工具可处理所有PTAB文档类型(消除工具混淆) - 高性能 -使用Mistral OCR从扫描文档中提取文本 - 成本 -基于文本的PDF免费,使用Mistral扫描OCR的每份文档约0.001-0.003美元
- 浏览器下载层(
ptab_get_document_download):使用增强的文件名进行安全代理下载
- 点击下载 直接在任何浏览器中工作的URL - 集中式代理集成 -如果已设置,自动检测PFW MCP,并对所有USPTO文档下载使用统一代理(端口8080),如果检测到集中式代理的问题,将回退到本地代理。 - 持久链接 -使用PFW集中式代理时的7天加密链接(跨MCP重启工作) - 统一架构 -安装PFW时,所有USPTO MCP的单个HTTP代理(端口8080) - 独立回退 -未检测到PFW时的本地代理(端口8083) - 增强的文件名 -带有试用元数据的专业格式 - 格式: PTAB-2024-05-15_IPR2024-00123_PAT-8524787_FINAL_WRITTEN_DECISION.pdf - 按审判申请日期按时间顺序排序 - 专利律师和文件管理的即时上下文 - API密钥安全 -USPTO凭据从未在聊天记录或浏览器中公开 - 速率限制合规性 -自动执行USPTO的下载限制
LLM指导功能
| 功能(显示名称) | 用途 | 要求 |
|---|---|---|
ptab_get_guidance (PTAB获得指导) | 上下文高效的选择性指导部分(95-99%的令牌减少) | 无 |
情境高效引导系统
新 ptab_get_guidance 工具 -通过选择性指导部分解决MCP资源可见性问题:
🎯 快速参考图表 -确切地知道该调用哪个部分:
- 🔍 “按公司/专利/日期查找试验”→
ptab_get_guidance("tools") - 📄 “下载试用文档”→
ptab_get_guidance("documents") - 🔖 “了解试验类型(IPR/PGR/CBM)”→
ptab_get_guidance("tools") - 🤝 “将审判与起诉联系起来”→
ptab_get_guidance("workflows_pfw") - 🚩 “FPD请愿+PTAB模式”→
ptab_get_guidance("workflows_fpd") - 📊 “引文质量+PTAB相关性”→
ptab_get_guidance("workflows_citations") - 🧠 “与助理一起研究MPEP指导”→
ptab_get_guidance("workflows_pinecone") - 🏢 “完整的投资组合尽职调查”→
ptab_get_guidance("workflows_complete") - ⚙️ “渐进式披露策略”→
ptab_get_guidance("tools") - 💰 “降低提取成本”→
ptab_get_guidance("cost")
该工具提供了特定的工作流程、现场建议、API调用优化策略、要避免的反模式以及最大效率的跨MCP集成模式。看 用法_示例.md 查看详细示例和集成工作流程。
工具函数
| 功能(显示名称) | 用途 | 要求 |
|---|---|---|
ptab_get_field_configs (获取字段配置) | 查看当前YAML字段配置 | 无 |
ptab_validate_identifiers (验证标识符) | 验证审判/上诉/干扰号码 | 无 |
💻 使用示例和集成工作流
有关综合使用示例,包括:
- 试用搜索 (专利号、申请人姓名、申请日期)
- 吸引力分析 (艺术单位、技术中心、决策结果)
- 干涉诉讼 (当事人分析、优先权争议)
- 高级文档过滤 (文档类型,选择性下载)
- 跨MCP集成工作流程 (PTAB+PFW+FPD+引文+松果)
- 完整的生命周期尽职调查 例子
- 诉讼研究模式
- 知识产权成功率分析
- 成本优化策略
查看详情 用法_示例.md 文档。
🔧 现场定制
MCP服务器通过YAML配置支持用户自定义字段集,以实现最佳的上下文缩减。您可以在不更改任何代码的情况下修改字段集!
有关全面的字段自定义文档,请参阅 定制.md.
快速开始
- 编辑
field_configs.yaml在项目根目录中 - 未注释字段 你想通过删除
#符号 - 保存并重新启动 Claude Desktop-更改在重新启动时生效
可用字段集
三种逐步披露的数据类型:
- 试验 (IPR/PGR/CBM):最少(12个字段)→ 平衡(30-50)→完成(全部)
- 上诉 (Ex Parte):最少(9个字段)→ 平衡(25-40)→完成(全部)
- 干扰:最小(6个字段)→ 平衡(20-30)→完成(全部)
示例:诉讼研究领域集
trials_minimal:
fields:
- trialNumber # IPR2024-00123
- patentOwnerData.applicationNumberText # → PFW integration
- patentOwnerData.patentNumber # Patent number
- regularPetitionerData.realPartyInInterestName # Petitioner
- trialMetaData.trialStatusCategory # Status看 定制.md 用于:
- 所有数据类型的完整字段参考
- 代币减少策略
- 跨MCP集成模式
- 自定义字段集示例
- 故障排除指南
🔗 跨MCP集成
该MCP旨在与其他USPTO MCP和知识库无缝协作,以进行全面的专利生命周期分析:
相关USPTO MCP服务器
| MCP服务器 | 用途 | GitHub存储库 |
|---|---|---|
| 美国专利商标局专利文件包装(PFW) | 起诉历史和文件 | uspto_pfw_mcp |
| 美国专利商标局最终申请决定(FPD) | 起诉期间的请愿决定 | uspto_fpd_mcp |
| USPTO丰富引文 | 人工智能从2017年10月至今邮寄的Office Actions中提取引文情报 | uspto_enriched_citation_mcp |
| 松果辅助MCP | 专利法知识库,带AI聊天和引用(MPEP,考试指南)-1 API密钥,有限免费等级 | 松果体_助剂_mcp |
| 松果RAG MCP | 带有自定义嵌入的专利法知识库(MPEP,考试指导)-需要松果+嵌入模型,每月重置免费等级 | 松果_拉格_mcp |
集成概述
这 专利审判和上诉委员会(PTAB)MCP 提供对授权后程序和上诉决定的访问,跟踪专利发布后的质疑。当与其他MCP结合使用时,它能够:
- PTAB+PFW:将PTAB程序与起诉历史进行交叉引用,以进行诉讼研究
- PTAB+FPD:将请愿危险信号与拨款后的挑战模式联系起来
- PTAB+引用:分析后来在PTAB受到质疑的专利的审查员引用质量
- PTAB+松果(助理或RAG):在提取昂贵的PTAB文件之前,研究MPEP指南和法律标准
- PFW+FPD+PTAB:完成从申请到授权后挑战的专利生命周期跟踪
- PFW+FPD+PTAB+引用:对起诉、请愿、传唤和质疑进行全面尽职调查
关键集成模式
交叉引用字段:
patentOwnerData.applicationNumberText-将PTAB程序与PFW起诉联系起来的主要关键patentOwnerData.patentNumber-与引文和其他MCP链接的专利号patentOwnerData.groupArtUnitNumber-所有MCP的艺术单元分析regularPetitionerData.realPartyInInterestName-跨MCP的派对匹配patentOwnerData.technologyCenterNumber-技术分类分析
渐进式工作流程:
- 发现 (PTAB):使用最少的搜索查找相关的IPR/PGR/CBM程序
- 起诉背景 (PFW):具有起诉历史的交叉引用质疑专利
- 引文情报 (引文):分析被质疑专利的审查员引文质量(仅2017年10月以上)
- 请愿书检查 (FPD):审查起诉程序历史中的危险信号
- 知识研究 (松果):研究MPEP指南(如有)(助理MCP:
assistant_context/RAG MCP:semantic_search) - 文件分析 (PTAB):提取有针对性的PTAB文件,用于董事会推理
- 风险评分:基于PTAB模式、起诉质量和引文分析量化专利漏洞
有关详细的集成工作流、交叉引用示例和完整用例,请参阅 用法_示例.md.
🆕 集中式代理集成(PFW+PTAB)
当安装了PFW和PTAB MCP时,PTAB会自动与PFW的集中式代理集成,以实现统一的文档管理:
架构优势:
- 单端口 -一个HTTP服务器(端口8080)用于所有USPTO文档下载
- 持久链接 -通过PFW的SQLite数据库进行7天加密链接(跨MCP重启工作)
- 统一速率限制 -所有MCP共享USPTO限制
- 跨MCP缓存 -PFW缓存来自所有USPTO MCP的文档,以实现更快的访问
- 自动检测 -PTAB在启动时检测到PFW并切换到集中模式
工作原理:
- PTAB从USPTO API响应中提取PDF下载URL
- PTAB生成增强文件名:
PTAB-{date}_{trial}_{patent}_{description}.pdf - PTAB向PFW登记文件:
POST /register-ptab-document(包括增强的文件名) - PFW将元数据存储在数据库中(trial_number、download_url、api_key、enhanced_filename)
- PTAB返回下载链接:
http://localhost:8080/download/{trial_number}/{doc_id} - 用户点击链接→ PFW从美国专利商标局获取→ 使用增强的文件名流式传输PDF
- 链接将持续7天,并在MCP重启后正常工作
独立模式:
- 没有PFW:PTAB使用本地代理(端口8083)进行基于会话的即时下载
- 增强的文件名仍然有效(本地使用的生成逻辑相同)
- 优雅的回退确保PTAB独立工作,具有完整的文件名功能
📈 性能比较
| 方法 | 响应大小 | 上下文用法 | 功能 |
|---|---|---|---|
| 直接卷曲 | 约200KB+ | 高 | 原始API访问 |
| MCP平衡 | 约30KB | 中等 | 用于分析的关键字段 |
| MCP最小值 | ~5KB | 非常低 | 仅基本数据 |
| 自定义字段 | ~2KB | 超低 | 仅2-3个字段(减少99%) |
🧪 测试
核心测试(基本)
紫外线(推荐):
# Test core functionality
uv run python tests/test_basic.py
# Expected: ALL TESTS PASSED!使用传统Python:
python tests/test_basic.py预期产出
test_basic.py:
[OK] Settings imported successfully
[OK] FieldManager imported successfully
[OK] PTABClient initialized successfully
ALL TESTS PASSED!配置文件:
- pytest.ini:为异步测试配置pytest
- 启用 asyncio_mode = auto 用于无缝异步/等待测试 - 设置测试发现模式和详细程度 - 位于项目根
- .预调试配置.yaml:Git预提交钩子用于安全
- 跑 detect-secrets 每次提交前扫描 - 防止意外的API密钥提交 - 安装方式: pip install pre-commit && pre-commit install
看 测试/README.md 获取全面的测试指南。
📁 项目结构
uspto_ptab_mcp/
├── field_configs.yaml # Root-level field customization (YAML)
├── .pre-commit-config.yaml # Pre-commit hooks for security scanning
├── .secrets.baseline # Baseline file for detect-secrets (tracks known secrets)
├── .prompt_injections.baseline # Baseline file for prompt injection detection
├── pytest.ini # Pytest configuration for async tests
├── src/
│ └── ptab_mcp/
│ ├── main.py # MCP server with 15 tools
│ ├── __main__.py # Entry point for -m execution
│ ├── shared_secure_storage.py # Secure API key storage (DPAPI/chmod 600)
│ ├── config/
│ │ ├── field_manager.py # YAML field configuration management
│ │ ├── settings.py # Environment configuration
│ │ ├── tool_reflections.py # Sectioned LLM guidance (10 sections, 95-99% token reduction)
│ │ ├── api_constants.py # API configuration constants (official USPTO rate limits)
│ │ ├── filter_field_mapping.py # Field mapping for search filters
│ │ ├── log_config.py # Logging configuration (file-based with rotation)
│ │ └── storage_paths.py # File storage path utilities
│ ├── prompts/ # 11 AI-optimized prompt templates
│ │ ├── __init__.py # Prompt registration
│ │ ├── trial_precedent_research.py
│ │ ├── complete_trial_litigation_package.py
│ │ ├── prior_art_board_decision_mining.py
│ │ ├── trial_timeline_analysis.py
│ │ ├── ipr_challenge_defense_PFW.py
│ │ ├── ipr_petitioner_portfolio_analysis_PFW.py
│ │ ├── portfolio_ptab_risk_assessment_PFW_FPD.py
│ │ ├── technology_landscape_ptab_analysis_PFW.py
│ │ ├── cross_mcp_patent_intelligence_PFW.py
│ │ ├── ptab_prior_art_validation_PFW_CITATIONS.py
│ │ └── complete_prosecution_lifecycle_PFW_FPD_CITATIONS.py
│ ├── api/
│ │ ├── ptab_client.py # PTAB API client (ODP API integration)
│ │ └── field_constants.py # Field name constants
│ ├── proxy/
│ │ ├── server.py # HTTP proxy for secure downloads
│ │ ├── rate_limiter.py # USPTO rate limiting compliance (5 files/10s)
│ │ ├── centralized_integration.py # PFW proxy integration
│ │ └── models.py # Pydantic models for proxy
│ ├── shared/
│ │ ├── error_utils.py # Error handling utilities
│ │ ├── circuit_breaker.py # Circuit breaker pattern
│ │ ├── internal_auth.py # Internal authentication (JWT)
│ │ ├── dpapi_crypto.py # Windows DPAPI encryption
│ │ ├── cache.py # Caching utilities
│ │ ├── log_sanitizer.py # Log sanitization (API key masking)
│ │ └── safe_logger.py # SafeLogger wrapper (auto-sanitization)
│ ├── services/
│ │ └── ocr_service.py # OCR quality detection and processing
│ ├── validation/
│ │ └── validators.py # Input validation functions
│ └── util/
│ ├── response_formatter.py # Response formatting
│ └── filter_builder.py # Search filter construction
├── deploy/
│ ├── linux_setup.sh # Linux deployment script (chmod 600 security)
│ ├── windows_setup.ps1 # PowerShell deployment script (DPAPI)
│ ├── manage_api_keys.ps1 # API key management utilities
│ ├── Validation-Helpers.psm1 # PowerShell validation module
│ ├── validation-helpers.sh # Bash validation helpers
│ ├── merge_ptab_to_claude_json.py # Claude Code config merger (Python)
│ └── quick_merge_claude_config.sh # Claude Code config merger (Bash wrapper)
├── tests/
│ ├── test_basic.py # Core functionality test
│ ├── test_integration.py # Integration tests
│ └── README.md # Testing documentation
├── .security/ # Security scanning tools (gitignored)
│ ├── check_prompt_injections.py # Prompt injection detector
│ ├── ptab_prompt_injection_detector.py # Detection engine
│ ├── test_benign.txt # Test benign inputs
│ ├── test_malicious.txt # Test malicious inputs
│ ├── VALIDATION_REPORT.md # Security validation results
│ └── README.md # Security tools documentation
├── reference/
│ ├── PTAB_swagger.yaml # API specification
│ ├── PTAB-to-ODP-PTAB-API-Mapping.txt # Legacy API mapping
│ └── Document_Descriptions_List.csv # Document type reference
├── documentation_photos/ # Visual documentation
│ ├── Prompts-Step1.jpg # Prompt template usage guides
│ ├── Prompts-Step2.jpg
│ ├── Prompts-Step3.jpg
│ ├── Prompts-Step4.jpg
│ └── Prompts-Step5.jpg
├── pyproject.toml # Package configuration
├── uv.lock # uv lockfile (gitignored)
├── README.md # This file
├── INSTALL.md # Comprehensive installation guide
├── CUSTOMIZATION.md # Field customization guide
├── USAGE_EXAMPLES.md # Function examples and workflows
├── PROMPTS.md # Prompt templates documentation
├── API_KEY_GUIDE.md # API key setup guide
├── SECURITY_GUIDELINES.md # Security best practices (updated 2026-01-17)
├── SECURITY_SCANNING.md # Automated secret detection guide
└── LICENSE # MIT License
Runtime Generated Files (not in repo):
~/.uspto_ptab_mcp/
├── logs/
│ ├── ptab_mcp.log # Application logs (10MB rotation, 5 backups)
│ └── security.log # Security events (10MB rotation, 10 backups)
├── .uspto_api_key # Encrypted USPTO API key (DPAPI/chmod 600)
├── .mistral_api_key # Encrypted Mistral API key (DPAPI/chmod 600)
└── .uspto_internal_auth_secret # Internal auth secret (shared across MCPs)🔍 故障排除
常见问题
API关键问题
- 对于Claude Desktop: 配置文件中的API密钥足够
- 对于测试脚本: 必须设置环境变量
正在设置USPTO API密钥:
- Windows命令提示符:
set USPTO_API_KEY=your_key - Windows PowerShell:
$env:USPTO_API_KEY="your_key" - Linux/macOS:
export USPTO_API_KEY=your_key
设置Mistral API密钥(用于OCR):
- Windows命令提示符:
set MISTRAL_API_KEY=your_key - Windows PowerShell:
$env:MISTRAL_API_KEY="your_key" - Linux/macOS:
export MISTRAL_API_KEY=your_key
uv与pip问题
- 紫外线优势: 更好的依赖关系解决方案,更快的安装
- 混合安装: 两者都可以使用
uv sync和pip install -e . - 测试: 使用
uv runuv管理项目的前缀
不返回数据的字段
- 原因: 字段名不在YAML配置中
- 解决方案: 编辑
field_configs.yaml包含所需字段
身份验证错误
- 原因: API密钥丢失或无效
- 解决方案: 验证
USPTO_API_KEY环境变量或Claude Desktop配置 - API关键来源: 从获取免费API密钥 美国专利商标局开放数据门户
MCP服务器无法启动
- 原因: 缺少依赖关系或路径不正确
- 解决方案: 重新运行安装脚本,重新启动所有PowerShell窗口,重新启动Claude Desktop(或其他MCP客户端)并验证配置
- 如果问题仍然存在: 重置MCP安装(请参阅下面的“重置MCP安装”)
虚拟环境问题(Windows安装程序)
- 症状: 期间出现“无pyvenv.cfg文件”错误
windows_setup.ps1 - 原因: 克劳德桌面锁
.venv运行时文件,阻止正确创建虚拟环境 - 解决方案:
1. 在运行安装脚本之前完全关闭Claude Desktop 1. 移除 .venv 文件夹: Remove-Item ./.venv -Force -Recurse -ErrorAction SilentlyContinue 1. 跑 .\deploy\windows_setup.ps1 再次
重置MCP安装
如果您需要完全重置MCP安装以再次运行Windows快速安装程序:
# Navigate to the project directory
cd C:\Users\YOUR_USERNAME\uspto_ptab_mcp
# Remove Python cache directories
Get-ChildItem -Path ./src -Directory -Recurse -Force | Where-Object { $_.Name -eq '__pycache__' } | Remove-Item -Recurse -Force
# Remove virtual environment
if (Test-Path ".venv") {
Remove-Item ./.venv -Force -Recurse -ErrorAction SilentlyContinue
}
# Remove database files (if any)
Remove-Item ./proxy_documents.db -Force -ErrorAction SilentlyContinue
Remove-Item ./ptab_links.db -Force -ErrorAction SilentlyContinue
# Now you can run the setup script again
.\deploy\windows_setup.ps1Linux/macOS重置:
# Navigate to the project directory
cd ~/uspto_ptab_mcp
# Remove Python cache directories
find ./src -type d -name '__pycache__' -exec rm -rf {} + 2>/dev/null || true
# Remove virtual environment and database files
rm -rf .venv
rm -f proxy_documents.db ptab_links.db
# Run setup script again
./deploy/linux_setup.sh获取帮助
- 检查测试脚本中的工作示例
- 查看中的字段配置
field_configs.yaml - 验证您的Claude Desktop配置是否与INSTALL.md中提供的模板匹配
- 使用
ptab_get_guidance针对特定工作流程的指导
🛡️ 安全和生产准备
增强的错误处理
- 使用指数回退重试逻辑 -瞬时故障的自动重试(3次尝试,延迟1秒、2秒、4秒)
- 智能重试策略 -不重试身份验证错误或客户端错误(4xx)
- 结构化日志记录 -请求ID跟踪以更好地调试和监控
- 生产级弹性 -妥善处理超时、网络问题和API速率限制
- 可配置超时 -API请求调整的USPTO_IMEOUT和USPTO_DOWNLOAD_IMEOUT环境变量
安全特性
- 🔐 Windows DPAPI安全存储 -使用Windows Data Protection API加密的API密钥(用户特定加密)
- 环境变量API键 -代码库中任何地方都没有硬编码的凭据
- 零个纯文本API键 -安全存储选项消除了Claude Desktop配置文件中的API密钥
- 跨平台安全 -在非Windows系统上自动回退到环境变量
- 安全测试模式 -测试文件使用带有回退的环境变量
- 综合.gitignore -防止意外提交凭据
- 安全指南 -安全开发实践的完整文档
- 自动秘密扫描 -GitHub操作工作流防止API密钥泄漏(检测secrets)
- 检测到20+种秘密类型 -AWS密钥、GitHub令牌、JWT、私钥、API密钥等
- 快速注射检测 -70+模式检测系统可抵御AI特定攻击
- 基线管理 -两个基线系统(秘密和快速注射)在捕捉真实威胁的同时跟踪已知发现
- 字段名称常量 -消除魔术串,减少基于拼写错误的安全问题
请求跟踪和调试
所有API请求都包含用于关联的唯一请求ID(8个字符的UUID):
[a1b2c3d4] Starting POST request to trials/proceedings/search
[a1b2c3d4] Request successful on attempt 1文档
SECURITY_GUIDELINES.md-全面的安全最佳实践SECURITY_SCANNING.md-自动秘密检测和预防指南tests/README.md-API密钥设置的完整测试指南- 带有请求ID的增强错误消息,以获得更好的支持
📝 贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
📄 许可证
MIT许可证
⚠️ 免责声明
本软件按“原样”提供,不提供任何形式的保修。
独立项目通知:这是一个独立的个人项目,不隶属于美国专利商标局(USPTO),也不受其认可或赞助。
作者不作任何明示或暗示的陈述或保证,包括但不限于:
- 准确性和人工智能生成的内容:不保证数据的准确性、完整性或适用于任何目的。特别提醒用户,人工智能(AI)组件生成或辅助的输出,包括但不限于文本、数据或分析,可能不准确、不完整、虚构,或代表AI模型的“幻觉”(虚构)。
- 可用性:USPTO API和Mistral API依赖关系可能会导致服务中断。
- 法律合规用户全权负责确保其对本软件的使用,以及基于其输出所做的任何提交或操作,严格遵守所有适用的法律、法规和政策,包括但不限于:
- 最新的 美国专利商标局关于人工智能工具在实践中的使用指南 (美国专利商标局指南)。 - 美国专利商标局的坦诚和诚信义务(例如,《美国联邦法规》第37篇第1.56、11.303节),其中包括披露重要信息和纠正错误的义务。 - 美国专利商标局的签名要求(例如,37 CFR 1.4(d)、2.193(c)、11.18),证明人工审查和合理询问。 - 所有关于发明权的规则(例如,每项要求保护的发明必须至少有一名人类发明人)。
- 法律咨询:此工具仅提供数据访问和处理,不提供法律顾问。所有结果必须由合格的法律专业人员独立验证、批判性分析和专业判断。
- 商业用途:用户必须验证USPTO和Mistral的商业应用条款。
- 保密和数据安全:作者对用户输入软件人工智能组件或传输给第三方人工智能服务(如Mistral API)的任何数据(包括客户敏感或技术信息)的机密性或安全性不作任何陈述。用户有责任理解和接受任何集成的第三方人工智能服务的隐私政策、数据保留做法和安全措施。
- 外国备案许可证和出口管制用户全权负责确保通过本软件的人工智能组件输入或处理任何数据,特别是技术信息,不违反美国外国申请许可证要求(例如,35 U.s.C.184、37 CFR第5部分)或出口管制法规(例如,EAR、ITAR)。这包括如果外国人访问此类数据或人工智能服务器位于美国境外,则应意识到潜在的“视为出口”。
责任限制: 在任何情况下,作者均不对因使用本软件而产生的任何直接、间接、附带、特殊或后果性损害承担责任,即使已被告知此类损害的可能性。
用户责任:您对USPTO之前提交的所有文件和采取的行动的完整性和合规性负全部责任。
- 独立验证:在依赖、采取行动或提交给美国专利商标局或任何其他实体之前,本软件中人工智能生成或协助的所有输出、分析和内容都必须经过彻底审查、独立验证和纠正。这包括事实陈述、法律争论、引用、证据支持和技术披露。
- 诚实守信的义务:您必须遵守与美国专利商标局坦诚相待的义务,包括披露任何重要信息(例如,关于发明或错误),并及时纠正记录中的任何不准确之处。
- 签名与认证:根据《美国联邦法规》第37篇第11.18(b)条的要求,您必须亲自在提交给美国专利商标局的任何信件上签名或插入您的签名,证明您对其内容的个人审查和合理查询。人工智能工具不能签署文件,也不能执行所需的人工查询。
- 机密信息:未经客户完全同意并清楚了解底层人工智能提供商的数据处理实践,不得将机密、专有或客户敏感信息输入本软件的人工智能组件。您有责任防止无意或未经授权的披露。
- 出口管制:在使用此工具处理敏感技术数据时,请注意并遵守所有外国备案许可证和出口管制规定。
- 服务合规性:确保遵守所有USPTO(例如,USPTO网站的使用条款、USPTO.gov帐户政策、对自动数据挖掘的限制)和Mistral服务条款。人工智能工具无法获取USPTO.gov帐户。
- 安全:维护API凭证和客户端信息的安全处理。
- 测试:在生产使用前进行彻底测试。
- 专业判断:此工具是对您自己的专业判断和专业知识的补充,而不是替代。
使用本软件即表示您承认已阅读本免责声明,并同意自行承担使用该软件的风险,对所有结果承担全部责任,并遵守相关的法律和道德义务。
法律专业人士须知: 虽然该工具提供了对法律实践中常用的专利研究工具的访问,但它只是一个数据检索和人工智能辅助处理系统。所有结果都需要独立验证、关键的专业分析,不能替代合格的法律顾问或美国专利商标局人工智能使用指南中概述的个人专业判断和职责的行使。
🔗 相关链接
💝 支持这个项目
如果您发现此USPTO PTAB MCP服务器有用,请考虑支持开发!这个项目是在我个人时间里开发的,耗时数小时,为专利界提供了一个全面的、可生产的工具。

您的支持有助于为专利界的每个人维护和改进这个开源工具。非常感谢。
致谢
- 美国专利商标局 用于提供PTAB开放数据门户API
- 模型上下文协议 对于MCP规范
- 克劳德代码 在整个项目中提供卓越的开发协助、架构指导、文档创建、PowerShell自动化、测试组织和全面的代码开发
- 克劳德桌面版 获取额外的开发支持和测试协助
______________________________________________________________________
问题? 看 安装.md 获取完整的跨平台安装指南,或查看工作示例的测试脚本。
