Skip to main content
Glama
GPSS Patent Search MCP

GPSS Patent Search MCP

by hsiangjenli

GPSS Patent Search MCP

AI-ready MCP (Model Context Protocol) server for searching patents in the Global Patent Search System (GPSS).

Core Features

  • Flexible search across GPSS fields using keywords and boolean operators

  • Returns raw GPSS XML responses (parsed when available)

  • Code-first schemas (Pydantic) and autogenerated documentation (MkDocs)

  • Works locally or in Docker

Related MCP server: patents-mcp

Quick Start

Requirements: Python 3.12+ (Docker optional)

  1. Set credentials (example):

export USER_CODE=your_api_code_here
# or add to .env
  1. Run locally (stdio transport):

uv run --env-file=.env fastmcp run mcp_tools/main.py
  1. Run the included example client:

uv run --env-file=.env scripts/example.py

Docker

Build the image locally (or use ./scripts/build_image.sh to build+push):

# build locally
docker build -t mcp-tw-gpss:latest .

# or use the helper (this script also tags and pushes if configured)
./scripts/build_image.sh

Run the container using stdio (the image default CMD runs the MCP with stdio transport):

docker run -i --rm \
	-e USER_CODE=your_api_code_here \
	mcp-tw-gpss:latest

If you prefer the HTTP transport expose port 8000 and override the container command:

docker run -d --rm -p 8000:8000 \
	-e USER_CODE=your_api_code_here \
	mcp-tw-gpss:latest \
	uv run fastmcp run mcp_tools/main.py --transport http

VS Code MCP client example (stdio via docker):

Add to .vscode/settings.json or your MCP client config:

{
	"servers": {
		"tw-gpss": {
			"type": "stdio",
			"command": "docker",
			"args": [
				"run",
				"-i",
				"-e",
				"USER_CODE=YOUR_USER_CODE",
				"--rm",
				"hsiangjenli/mcp-tw-gpss:latest"
			]
		}
	},
}

Tools

  • search_patents — search patents with filters (keywords, fields, databases, date range, etc.)

  • get_available_databases — list supported database codes

  • get_search_examples — example payloads to use as templates

Docs & Details

Field mappings and full schema descriptions are authored in code (mcp_tools/schemas.py and FIELD_ALIAS_MAP in mcp_tools/main.py) and published to the site by MkDocs. To regenerate the docs locally:

chmod +x scripts/build_docs.sh
./scripts/build_docs.sh
uv run mkdocs serve
# then open http://127.0.0.1:8000

Reference

Available Tools

3 tools
tool_get_databases_tools_get_available_databases_postC

MCP Tool endpoint for getting available databases.

Responses:

  • 200 (Success): Successful Response

    • Content-Type: application/json

    • Response Properties:

      • databases: Mapping of region -> database code -> description. Each database entry is a human-friendly description derived from the PatDB enum.

    • Example:

{
  "success": true,
  "databases": {
    "key": "value"
  }
}

Inputs: no named parameters. Returns: success, databases

tool_get_examples_tools_get_search_examples_postC

MCP Tool endpoint for getting search examples.

Responses:

  • 200 (Success): Successful Response

    • Content-Type: application/json

    • Response Properties:

    • Example:

{
  "success": true,
  "examples": {
    "key": "value"
  }
}

Inputs: no named parameters. Returns: success, examples

tool_search_patents_tools_search_patents_postB

MCP Tool endpoint for patent search.

This tool searches the GPSS (Global Patent Search System) for patents matching your keywords. Authentication is handled automatically via the USER_CODE environment variable.

Simply provide your search keywords and optional filters. The tool will:

  1. Automatically read USER_CODE from the environment

  2. Send the request to GPSS API

  3. Return parsed results with patent numbers, titles, abstracts, and inventor info

Responses:

  • 200 (Success): Successful Response

    • Content-Type: application/json

    • Response Properties:

    • Example:

{
  "success": true,
  "data": "unknown_type",
  "request_params": "unknown_type"
}
  • 422: Validation Error

    • Content-Type: application/json

    • Response Properties:

    • Example:

{
  "detail": [
    "unknown_type"
  ]
}

Inputs: keywords (required), databases, max_results, patent_types, +4 more. Returns: Standard return model for MCP tool operations.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    The three tools serve clearly distinct purposes: searching patents, listing available databases, and retrieving search examples. There is no meaningful overlap in intent, so an agent can select the correct tool without confusion.

    Naming Consistency3/5

    All three names follow the same (verbatim auto-generated) pattern of 'tool_x_tools_x_post', so the convention is technically consistent. However, the redundant, verbose, and double-encoded structure is awkward and hard to read, making names less predictable than a clean verb_noun scheme.

    Tool Count4/5

    Three tools—one core search plus two metadata helpers—is slightly thin but well-scoped for a focused patent search server. Nothing extraneous is present.

    Completeness3/5

    The core search, database listing, and example retrieval are covered, but there is no tool to fetch full details for a specific patent number and no apparent support for citation, family, or document retrieval. These are notable gaps for a patent-search domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server for USPTO patent prior-art search, enabling keyword search, ranking, and date filtering via Claude, Cursor, or Windsurf.
      -
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for patent search and prior art discovery powered by Google Patents public dataset on BigQuery. Supports searching patents, fetching full patent details with CPC codes and citations, and retrieving legal claims text.
      3
      6
      MIT
    • -
      license
      Not graded
      quality
      C
      maintenance
      Multi-source patent search MCP server that allows AI agents to search global patent databases (Google Patents, BigQuery, EPO OPS) via natural language queries.
      -