关于 Patent by Ouroboros Apps
Patent by Ouroboros Apps 是面向发明者、工程师、创业者及专利从业者的远程 MCP 服务,用于检索美国专利记录。它查询 USPTO 数据并提供记录详情和引证信息;结果不构成法律意见。
主要功能
- 01按关键词、权利要求、CPC、申请人、发明人或日期搜索美国专利
- 02读取摘要、权利要求、状态、专利族和引证
- 03查找引用某专利及被其引用的文献
- 04根据创意描述搜索现有技术
适用场景
- 01检查创意是否出现在公开的美国专利记录中
- 02查看专利的权利要求、状态和引证历史
- 03为发明构想查找相关 USPTO 记录
MCP 相关
通过 Streamable HTTP 向 MCP 客户端提供四种专利检索工具,并支持 OAuth 登录。托管服务检索 USPTO Open Data Portal 中的美国专利记录。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://patent-mcp.vercel.app/mcpclaude mcp add --transport http lahutchins91-patent https://patent-mcp.vercel.app/mcp{"mcpServers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}在 Cursor 中打开{"servers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"lahutchins91-patent":{"type":"http","url":"https://patent-mcp.vercel.app/mcp"}}}{"mcpServers":{"lahutchins91-patent":{"serverUrl":"https://patent-mcp.vercel.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cpc | string | 否 | CPC 符号,例如 H04L 或 C07H19/207。 |
| limit | integer | 否 | 最大结果数,1 至 25。 |
| claims | string | 否 | 权利要求文本。USPTO 会在整个案卷中匹配这些词语。 |
| dateTo | string | 否 | 授权或公开日期截止,格式为 YYYY-MM-DD。 |
| assignee | string | 否 | 申请人或受让人名称。 |
| dateFrom | string | 否 | 授权或公开日期起始,格式为 YYYY-MM-DD。 |
| inventor | string | 否 | 发明人姓名。 |
| keywords | string | 否 | 用于在申请文本、标题或摘要中查找的词语。 |
详细介绍
Ouroboros 专利
Ouroboros 专利是一个远程 MCP 服务,面向发明者、初创公司创始人、专利代理师和律师,以及需要检查某个创意是否已出现在公开专利记录中的工程师。
它会在 USPTO Open Data Portal 上搜索美国专利记录。Google Patents 仅用作链接。工具结果中的每个专利号都直接复制自 USPTO 的响应。如果 USPTO 未返回号码,服务不会自行补上。
这不是法律建议。 它不能替代注册专利律师或代理师。搜索结果不构成关于可专利性、侵权、有效性或实施自由的意见。
托管服务
- MCP 服务 URL:
https://patent-mcp.vercel.app/mcp(在线,Streamable HTTP,OAuth 登录) - 健康检查:https://patent-mcp.vercel.app/health
- 受保护资源元数据:https://patent-mcp.vercel.app/.well-known/oauth-protected-resource
- 连接指南:https://patent-mcp.vercel.app/connect
- 文档:https://ouroborosapps.com/docs/patent
- 托管服务的覆盖范围:USPTO Open Data Portal 上的美国专利。
- 注册表名称:
io.github.LAHutchins91/patent
连接
托管 MCP 地址为 https://patent-mcp.vercel.app/mcp。自托管副本使用其自身的来源地址并加上 /mcp。本地地址为 http://127.0.0.1:8787/mcp。
助手打开 OAuth 时请登录。客户端 ID 和密钥留空。服务支持 OAuth 2.1 动态客户端注册和 PKCE(S256)。请勿将密码或办公室 API 密钥粘贴到助手中。
Cursor,配置文件位于 ~/.cursor/mcp.json 或项目中的 .cursor/mcp.json:
{
"mcpServers": {
"patent": {
"url": "https://patent-mcp.vercel.app/mcp"
}
}
}
Claude Code:
claude mcp add --transport http patent https://patent-mcp.vercel.app/mcp
对于 ChatGPT、Claude、Gemini、Grok 及任何其他 Streamable HTTP 客户端:添加相同的 URL,选择 OAuth,并将客户端 ID 和密钥留空。完整步骤请参阅 /connect。
新账户包含 14 天的搜索权限。试用期结束后,可通过 Stripe Checkout 继续使用 Pro。金额由 Stripe 显示,不会在此代码仓库中列出。
server.json 是 MCP Registry 清单(io.github.LAHutchins91/patent)。其 remotes[0].url 是托管服务地址 https://patent-mcp.vercel.app/mcp,图标为 https://patent-mcp.vercel.app/logo.jpg。自托管副本应将两者都指向其自身的来源地址。
工具
search_patents— 按关键词、权利要求文本、CPC 分类、受让人、发明人和日期搜索get_patent— 获取一条记录的摘要、权利要求、状态、专利族和引用find_patent_citations— 查找引用某项专利的文档,以及该专利引用的文档search_prior_art— 输入创意描述,获取最接近的 USPTO 记录及其 Google Patents 链接
引用覆盖范围包括 USPTO 授权文件和 USPTO 审查意见中的引用。PatentsView 引用图谱目前已暂停:PatentsView 于 2026 年 3 月 20 日迁移至 Open Data Portal 时,USPTO 暂停了 PatentsView PatentSearch API。
本地运行
npm install
cp .env.example .env
npm run dev
服务监听端口 8787。GET /health 会返回 JSON。只有在 STRIPE_SECRET_KEY、STRIPE_PRICE_MONTHLY 和 STRIPE_PRICE_YEARLY 均已设置时,billingConfigured 才为 true。
npm test
npm run typecheck
测试会调用 USPTO 公共主机。需要密钥的办公室响应数据会通过模拟提供。如果环境中设置了 USPTO_API_KEY,实时测试将使用该密钥,而不是预期未经身份验证的响应。
环境
Lawrence 需要提供:
| 变量 | 用途 |
|---|---|
APP_BASE_URL | 用作 OAuth 发行方和 Stripe 返回 URL 的公共来源 |
AUTH_SECRET | 用于签署浏览器会话。生产环境中必需 |
USPTO_API_KEY | USPTO Open Data Portal 密钥,通过 X-API-KEY 发送。这是托管服务使用的密钥。 |
EPO_CONSUMER_KEY | 在托管服务上留空。未使用的客户端只有在同时设置了密钥时才会读取它。 |
EPO_CONSUMER_SECRET | 在托管服务上留空。搜索范围仍限于 USPTO 的美国专利。 |
STRIPE_SECRET_KEY | 现有 Stripe 密钥 |
STRIPE_PRICE_MONTHLY | 现有月付价格 ID |
STRIPE_PRICE_YEARLY | 现有年付价格 ID |
STRIPE_WEBHOOK_SECRET | Stripe webhook 签名密钥 |
STORAGE_BACKEND | memory(默认)、file、http 或 blob |
STORAGE_PATH | 后端为 file 时使用的 JSON 文件 |
STORAGE_URL | 后端为 http 时用于一个 JSON 文档的 GET/PUT URL |
STORAGE_TOKEN | 该 URL 可选的 bearer 令牌 |
BLOB_READ_WRITE_TOKEN | Vercel Blob 读写令牌。关联存储时由 Vercel 注入。STORAGE_BACKEND=blob 时必需 |
STORAGE_BLOB_PATH | 账户文档的 Blob 路径名。默认值为 patent/accounts.json |
不要在此应用中创建 Stripe 产品或价格。不要提交密钥。
USPTO 密钥
- 创建 USPTO.gov 账户。
- 验证并关联 ID.me。此关联只能进行一次。
- 打开 Open Data Portal 入门指南 并申请 API 密钥。
- 设置
USPTO_API_KEY。
旧版 PatentsView API 密钥无法用于 Open Data Portal。
账户和存储
专利工具是在 USPTO Open Data Portal 上对美国专利执行的无状态搜索。试用和订阅状态、OAuth 客户端及令牌都存储在 AccountStore 背后的一个 JSON 文档中。
memory将该文档保存在进程中。这是默认设置,也是本地测试使用的设置。进程重启或启动第二个无服务器实例后,数据不会保留。file写入STORAGE_PATH(默认值为./data/patent-store.json)。适用于 Docker 或长期运行的 Node 进程。http在STORAGE_URL指向的位置对同一文档执行 GET 和 PUT。将它指向你已有的存储。本服务不会创建数据库。blob将同一文档存储在 Vercel Blob 的STORAGE_BLOB_PATH中(默认值为patent/accounts.json)。在 Vercel 上设置STORAGE_BACKEND=blob。Blob 客户端使用BLOB_READ_WRITE_TOKEN;连接 Blob 存储时,该令牌由 Vercel 注入。读取时会绕过 CDN 缓存。写入时会发送ifMatch,并在另一实例先更新文档时重试。
OAuth 客户端、授权码、访问令牌和刷新令牌都是该文档中的字段。用户在同意页面批准授权时,页面会连同授权请求一起提交;授权信息不会保存在进程内存中。每次写入时都会移除过期的授权码和刷新令牌。
部署
Vercel:Express 应用是 api/index.ts 的默认导出。vercel.json 会将所有路径发送到该函数,并将 logo.jpg 打包到其中,因此 /logo.jpg 由应用提供,而 /package.json 等仓库文件不是静态资源。设置上述环境变量,包括 STORAGE_BACKEND=blob。将 Stripe webhook 指向 https://<your-host>/billing/webhook。
Docker:
docker build -t patent-mcp .
docker run --env-file .env -p 8787:8787 patent-mcp
已验证内容
本地通过 Streamable HTTP 验证了:tools/list 和四个工具各自的功能、使用 PKCE 的 OAuth 注册、试用到期、Stripe 结账请求格式,以及 webhook 签名验证。测试中未进行实际 Stripe 扣款。
托管环境:服务已部署在 https://patent-mcp.vercel.app。无需令牌即可调用 tools/list;未签名的工具调用会返回带有 WWW-Authenticate 标头的 401;/.well-known/oauth-protected-resource 返回 200;/health 报告 USPTO 密钥已配置。
Patent by Ouroboros。了解更多 Ouroboros 信息:https://ouroborosapps.com
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。