Skip to content

An AI-ready search and fetch tool for Google Patents, designed for both humans and AI agents

License

Notifications You must be signed in to change notification settings

sonesuke/google-patent-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Patent CLI - AI-ready

An AI-ready search and fetch tool for Google Patents, designed for both humans and AI agents. It extracts structured data including title, abstract, filing date, assignee, description paragraphs, claims, and images.

Features

  • Search patents by free-text query, assignee, country, and date.
  • Fetch patent details by patent number (e.g., "US10000000").
  • Formatted JSON output including description_paragraphs and claims.
  • Pagination support via --limit option.
  • Date filtering with --before and --after.
  • Country filtering with --country (e.g., JP, US, CN).
  • Language/locale support with --language (e.g., ja, en).
  • Raw HTML output with --raw flag for debugging.
  • Headless mode by default; use --head to show the browser.
  • Model Context Protocol (MCP) support to integrate with AI agents.
  • Robust formatting: Uses structured JSON for easy machine consumption.

Installation

Easy Install (Recommended)

Linux & macOS:

curl -fsSL https://raw.githubusercontent.com/sonesuke/google-patent-cli/main/install.sh | bash

Note: On Linux, this installs to ~/.local/bin without requiring sudo. Make sure ~/.local/bin is in your PATH.

Windows (PowerShell):

irm https://raw.githubusercontent.com/sonesuke/google-patent-cli/main/install.ps1 | iex

From Source (Cargo)

If you have Rust installed, you can build from source:

cargo install --path .

Model Context Protocol (MCP)

google-patent-cli supports the Model Context Protocol, allowing AI agents (like Claude Desktop) to search and fetch patents directly.

Available Tools

Tool Name Description Parameters
search_patents Search Google Patents matching a query, assignee, and date filters. query, assignee, limit, before, after, country, language
fetch_patent Fetch details (metadata, description, claims) of a specific patent. patent_id (required, e.g., "US9152718B2"), language, raw

Usage

To start the MCP server over stdio:

google-patent-cli mcp

Configuration for Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "google-patent-cli": {
      "command": "/path/to/google-patent-cli",
      "args": ["mcp"]
    }
  }
}

CLI Usage

CLI Commands

Command Description Example
search Search for patents matching a query/assignee. google-patent-cli search --query "machine learning" --limit 10
fetch Fetch a single patent's metadata and data. google-patent-cli fetch US9152718B2
config Manage configuration settings. google-patent-cli config --set-browser "/path/to/chrome"
mcp Start the MCP server over stdio. google-patent-cli mcp

Search by query

Search for patents matching a query.

google-patent-cli search --query "machine learning" --limit 10

Filter by assignee

google-patent-cli search --query "AI" --assignee "Google"

Filter by date and country

# Patents filed after 2024-01-01 in Japan
google-patent-cli search --query "camera" --after "2024-01-01" --country JP
 
# Patents filed between 2023-01-01 and 2023-12-31
google-patent-cli search --query "blockchain" --after "2023-01-01" --before "2023-12-31"

Fetch patent details

Fetch a single patent's metadata, description, and claims.

google-patent-cli fetch US9152718B2

Language/locale support

Fetch or search using a specific language locale.

google-patent-cli fetch US9152718B2 --language ja

Output raw HTML (debug)

Prints the full HTML source instead of structured JSON.

google-patent-cli fetch US9152718B2 --raw > patent.html

Show the browser window

Useful for debugging.

google-patent-cli search --query "AI" --head

Configuration

This tool relies on a compatible Chrome/Chromium installation for scraping.

Manage Configuration

You can manage the configuration via CLI:

# Show current configuration and config file path
google-patent-cli config
 
# Set custom browser path
google-patent-cli config --set-browser "/path/to/chrome"

Configuration File

The configuration file is located at:

  • Linux/macOS: ~/.config/google-patent-cli/config.toml
  • Windows: %APPDATA%\google-patent-cli\config.toml

You can manually edit the TOML file to configure additional Chrome arguments:

# Path to Chrome/Chromium executable
browser_path = "/usr/bin/google-chrome"

# Additional Chrome arguments (useful for Docker/CI environments)
chrome_args = [
    "--no-sandbox",
    "--disable-setuid-sandbox"
]

Docker/DevContainer Environment

When running in Docker containers or devcontainers, Chrome requires additional flags to work properly. You can configure these flags via chrome_args in your config file:

chrome_args = [
    "--no-sandbox",
    "--disable-setuid-sandbox",
    "--disable-gpu"
]

Alternatively, set the CI=true environment variable to automatically add these flags.

License

MIT

About

An AI-ready search and fetch tool for Google Patents, designed for both humans and AI agents

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •