A CLI and MCP server for searching and fetching Google Patents with detailed patent information extraction
This server defines 3 tools with basic structure but significant quality gaps. Tool names are reasonably clear (search_patents, fetch_patent, execute_cypher), but descriptions are minimal and lack LLM-optimized guidance. Input schemas are present with type definitions, but parameter descriptions are sparse or generic. The execute_cypher tool is particularly problematic, exposing raw query execution without constraints or validation is a security risk. Output schemas are not documented, making it impossible for agents to plan downstream operations. Error handling is absent, no guidance on recovery, retryability, or what to do when a patent is not found. Overall, this reads as a minimal CLI wrapper converted to MCP without agent-centric design.
Execute Cypher queries on patent datasets
Fetch detailed information about a specific patent by ID
Search for patents on Google Patents with various filters
execute_cypher tool exposes raw query execution with no validation, constraints, or input sanitization. An agent can pass arbitrary Cypher queries, risking data loss or performance degradation.
No output schemas documented for any tool. Agents cannot plan downstream operations or know what fields to extract. This violates the agent-centric design principle.
Tool descriptions are minimal (25 - 55 chars) and lack WHEN/WHY guidance. They do not explain return structure, relate to other tools, or guide LLM selection.
Parameter descriptions are sparse or generic. No enum constraints, format specifications, or range limits. E.g., 'country' param lists 'JP, US, CN, etc.' in description, should be enum.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | 2024-11-05+ | v1 |
No error handling guidance. No recovery hints ('if patent not found, try search_patents'). No retryability classification (is a 404 retryable?). Agents cannot reason about failures.
search_patents has no pagination documentation. Does 'limit' default to anything? What is max? If results exceed limit, are there more available? Agents cannot handle large result sets.
Date parameters (priority_after, publication_after, etc.) lack format specification. ISO 8601 (YYYY-MM-DD) is shown in description but not enforced in schema, no format constraint visible.
execute_cypher 'dataset' parameter description is too vague ('Dataset name to query'). What are valid datasets? Are they user-defined or predefined? No enum provided.