Skip to main content
Glama

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

npm 버전

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

변경 사항

v0.2.0 (2025년 4월 17일)

  • 수정 사항: resources/listprompts/list MCP 메서드에 대한 빈 핸들러를 구현했습니다.

  • 수정: 서버 초기화 시 prompts 기능을 선언했습니다.

  • 집안일: 종속성 업데이트.

이러한 변경 사항은 Claude Desktop과 같은 MCP 클라이언트와의 호환성을 개선하는 것을 목표로 하며, 이러한 클라이언트는 표준 엔드포인트를 필요로 할 수 있지만 Claude Desktop을 통한 직접 테스트는 아직 수행되지 않았습니다.

Related MCP server: MCP Server for Google Search

특징

  • 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 파일 참조)

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KunihiroS/google-patents-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server