Google Patents MCP Server

by KunihiroS
Verified

Integrations

  • Supports configuration via .env files, allowing users to securely provide API keys and configure logging levels without exposing sensitive information.

  • Provides a tool for searching Google Patents information, allowing users to query patent data with various filters like dates, inventors, assignees, countries, and languages via the SerpApi Google Patents API.

  • Offers optional inclusion of Google Scholar results when searching for patents, allowing users to retrieve academic research related to patent searches.

Google Patents MCP 서버( google-patents-mcp )

이 프로젝트는 SerpApi Google Patents API를 통해 Google Patents 정보를 검색할 수 있는 MCP(Model Context Protocol) 서버를 제공합니다.

특징

  • Google Patents를 검색하기 위한 MCP 도구 search_patents 제공합니다.
  • 백엔드로 SerpApi를 사용합니다.
  • 로컬 설치 없이 npx 사용하여 직접 실행할 수 있습니다.

필수 조건

  • Node.js: 버전 18 이상을 권장합니다.
  • npm: npx 명령을 실행하는 데 필요합니다.
  • SerpApi API 키: Google Patents API를 사용하려면 SerpApi 의 유효한 API 키가 필요합니다.

빠른 시작(npx 사용)

이 서버를 실행하는 가장 쉬운 방법은 npx 사용하는 것입니다. 이 명령은 (필요한 경우) 서버를 직접 다운로드하고 실행합니다.

지엑스피1

참고: @kunihiros/google-patents-mcp 실제 게시된 패키지 이름으로 바꾸세요(다른 경우).

서버가 시작되어 표준 입출력에서 MCP 요청을 수신합니다.

구성

서버에는 SerpApi API 키가 필요합니다. 다음 방법 중 하나로 키를 제공하세요.

  1. 환경 변수(MCP 호스트 권장): 서버를 실행할 때 SERPAPI_API_KEY 환경 변수를 설정하세요. MCP 호스트 구성에서 서버의 환경 변수를 설정할 수 있는 경우가 많습니다.MCP 호스트 구성 스니펫 예( config.json 또는 유사):
    { "mcpServers": { "google-patents-mcp": { "command": "npx", "args": [ "-y", // Skips confirmation if the package isn't installed locally "@kunihiros/google-patents-mcp" // Use the correct package name ], "env": { "SERPAPI_API_KEY": "YOUR_ACTUAL_SERPAPI_KEY" // Optional: Set log level // "LOG_LEVEL": "debug" } } } }
  2. .env 파일: npx 명령을 실행하는 디렉토리(로컬 테스트용 또는 MCP 호스트를 사용하지 않는 경우) 또는 홈 디렉토리( ~/.google-patents-mcp.env )에 다음 내용으로 .env 파일을 만듭니다.
    SERPAPI_API_KEY=YOUR_ACTUAL_SERPAPI_KEY # Optional: Set log level (e.g., debug, info, warn, error) # LOG_LEVEL=debug
    참고: 로컬 테스트에는 .env 파일을 사용하는 것이 편리하지만, 프로덕션 환경이나 MCP 호스트와의 통합 환경에서는 호스트 구성을 통해 환경 변수를 직접 설정하는 것이 권장되고 더 안전한 방법입니다. 주요 사용 사례는 npx 통한 실행이며, 이 경우 환경 변수는 일반적으로 호출 프로세스 또는 MCP 호스트에서 관리됩니다.

서버는 다음 순서로 .env 파일을 검색합니다. * ./.env npx 실행되는 위치를 기준으로) * ~/.google-patents-mcp.env (홈 디렉토리에 있음)

MCP 도구 제공

search_patents

SerpApi를 통해 Google 특허를 검색합니다.

입력 스키마:

{ "type": "object", "properties": { "q": { "type": "string", "description": "Search query (required). Although optional in SerpApi docs, a non-empty query is practically needed. Use semicolon (;) to separate multiple terms. Advanced syntax like '(Coffee) OR (Tea);(A47J)' is supported. See 'About Google Patents' for details." }, "page": { "type": "integer", "description": "Page number for pagination (default: 1).", "default": 1 }, "num": { "type": "integer", "description": "Number of results per page (default: 10). **IMPORTANT: Must be 10 or greater (up to 100).**", "default": 10, "minimum": 10, "maximum": 100 }, "sort": { "type": "string", "enum": ["relevance", "new", "old"], "description": "Sorting method. 'relevance' (default), 'new' (newest by filing/publication date), 'old' (oldest by filing/publication date).", "default": "relevance" }, "before": { "type": "string", "description": "Maximum date filter (e.g., 'publication:20231231', 'filing:20220101'). Format: type:YYYYMMDD where type is 'priority', 'filing', or 'publication'." }, "after": { "type": "string", "description": "Minimum date filter (e.g., 'publication:20230101', 'filing:20220601'). Format: type:YYYYMMDD where type is 'priority', 'filing', or 'publication'." }, "inventor": { "type": "string", "description": "Filter by inventor names. Separate multiple names with a comma (,)." }, "assignee": { "type": "string", "description": "Filter by assignee names. Separate multiple names with a comma (,)." }, "country": { "type": "string", "description": "Filter by country codes (e.g., 'US', 'WO,JP'). Separate multiple codes with a comma (,)." }, "language": { "type": "string", "description": "Filter by language (e.g., 'ENGLISH', 'JAPANESE,GERMAN'). Separate multiple languages with a comma (,). Supported: ENGLISH, GERMAN, CHINESE, FRENCH, SPANISH, ARABIC, JAPANESE, KOREAN, PORTUGUESE, RUSSIAN, ITALIAN, DUTCH, SWEDISH, FINNISH, NORWEGIAN, DANISH." }, "status": { "type": "string", "enum": ["GRANT", "APPLICATION"], "description": "Filter by patent status: 'GRANT' or 'APPLICATION'." }, "type": { "type": "string", "enum": ["PATENT", "DESIGN"], "description": "Filter by patent type: 'PATENT' or 'DESIGN'." }, "scholar": { "type": "boolean", "description": "Include Google Scholar results (default: false).", "default": false } }, "required": ["q"] }

산출:

SerpApi의 검색 결과를 포함하는 JSON 객체를 반환합니다. 구조는 SerpApi 응답 형식을 따릅니다.

예시 사용(MCP 요청):

{ "mcp_version": "1.0", "type": "CallToolRequest", "id": "req-123", "server_name": "google-patents-mcp", "params": { "name": "search_patents", "arguments": { "q": "organic light emitting diode", "num": 10, "language": "ENGLISH", "status": "GRANT", "after": "publication:20230101" } } }

개발

  1. (개발에 필요한 경우) 저장소를 복제합니다.
    # git clone <repository-url> # cd google-patents-mcp
  2. 종속성 설치:
    npm install
  3. .env 파일을 만듭니다. .env.example``.env 로 복사하고 SERPAPI_API_KEY 추가합니다.
  4. 짓다:
    npm run build
  5. 로컬로 실행:
    npm start
    또는 자동 재빌드를 사용한 개발의 경우:
    npm run dev

벌채 반출

  • 로그는 표준 오류로 출력됩니다.
  • 로그 수준은 LOG_LEVEL 환경 변수( error , warn , info , http , verbose , debug , silly )를 통해 제어할 수 있습니다. 기본값은 info 입니다.
  • 프로젝트 루트( google-patents-server.log ), 사용자 홈 디렉토리( ~/.google-patents-server.log ) 또는 /tmp/google-patents-server.log 에 로그 파일을 생성하려고 시도했습니다.

특허

MIT 라이센스(LICENSE 파일 참조)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

SerpApi Google Patents API를 통해 Google Patents 정보를 검색할 수 있는 모델 컨텍스트 프로토콜 서버로, 사용자는 다양한 필터와 정렬 옵션을 사용하여 특허 데이터를 쿼리할 수 있습니다.

  1. Features
    1. Prerequisites
      1. Quick Start (Using npx)
        1. Configuration
          1. Provided MCP Tool
            1. search_patents
          2. Development
            1. Logging
              1. License
                ID: 9la1udawol