GPSS Patent Search MCP
MCP server for searching patents in Taiwan's Global Patent Search System (GPSS) using keywords and boolean operators, returning raw XML responses.
README
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
Quick Start
Requirements: Python 3.12+ (Docker optional)
- Set credentials (example):
export USER_CODE=your_api_code_here
# or add to .env
- Run locally (stdio transport):
uv run --env-file=.env fastmcp run mcp_tools/main.py
- 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 codesget_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
- GPSS API Documentation: https://tiponet.tipo.gov.tw/gpss1/gpsskm/API/API_instructions.pdf
- MCP Protocol: https://modelcontextprotocol.io
- FastAPI: https://fastapi.tiangolo.com
- FastMCP: https://gofastmcp.com/getting-started/welcome
- Pydantic: https://docs.pydantic.dev
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.