Skip to main content
Glama

SerpMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

AceDataCloud API를 통해 SERP API를 사용하는 Model Context Protocol (MCP) 서버입니다.

Claude, VS Code 또는 MCP 호환 클라이언트에서 직접 Google 검색을 수행하고 구조화된 결과를 얻을 수 있습니다.

기능

  • 웹 검색 - 구조화된 결과를 제공하는 일반 Google 웹 검색

  • 이미지 검색 - URL 및 썸네일이 포함된 이미지 검색

  • 뉴스 검색 - 모든 주제에 대한 최신 뉴스 기사 검색

  • 비디오 검색 - YouTube 및 기타 소스의 비디오 찾기

  • 장소 검색 - 지역 업체 및 장소 검색

  • 지도 검색 - 위치 및 지리 정보 찾기

  • 지식 그래프 - 구조화된 엔티티 정보 가져오기

  • 지역화 - 여러 국가 및 언어 지원

  • 시간 필터링 - 시간 범위별 결과 필터링

도구 참조

도구

설명

serp_google_search

Google을 검색하고 SERP API를 사용하여 구조화된 결과를 가져옵니다.

serp_google_images

Google 이미지를 검색하고 이미지 결과를 가져옵니다.

serp_google_news

Google 뉴스를 검색하고 뉴스 기사 결과를 가져옵니다.

serp_google_videos

Google 비디오를 검색하고 비디오 결과를 가져옵니다.

serp_google_places

지역 장소 및 업체를 위해 Google을 검색합니다.

serp_google_maps

위치를 위해 Google 지도를 검색합니다.

serp_list_search_types

사용 가능한 모든 Google 검색 유형을 나열합니다.

serp_list_countries

Google 검색에 일반적으로 사용되는 국가 코드를 나열합니다.

serp_list_languages

Google 검색에 일반적으로 사용되는 언어 코드를 나열합니다.

serp_list_time_ranges

Google 검색에 사용 가능한 시간 범위 필터를 나열합니다.

serp_get_usage_guide

Google SERP 도구 사용을 위한 포괄적인 가이드를 가져옵니다.

빠른 시작

1. API 토큰 받기

  1. AceDataCloud 플랫폼에 가입합니다.

  2. API 문서 페이지로 이동합니다.

  3. **"Acquire"**를 클릭하여 API 토큰을 받습니다.

  4. 아래에서 사용할 토큰을 복사합니다.

2. 호스팅된 서버 사용 (권장)

AceDataCloud는 관리형 MCP 서버를 호스팅하며, 로컬 설치가 필요하지 않습니다.

엔드포인트: https://serp.mcp.acedata.cloud/mcp

모든 요청에는 Bearer 토큰이 필요합니다. 1단계에서 받은 API 토큰을 사용하세요.

Claude.ai

OAuth를 사용하여 Claude.ai에 직접 연결하세요. API 토큰이 필요하지 않습니다:

  1. Claude.ai 설정 → 통합 → 더 추가하기로 이동합니다.

  2. 서버 URL 입력: https://serp.mcp.acedata.cloud/mcp

  3. OAuth 로그인 흐름을 완료합니다.

  4. 대화에서 도구 사용을 시작합니다.

Claude Desktop

설정 파일(~/Library/Application Support/Claude/claude_desktop_config.json, macOS 기준)에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor / Windsurf

MCP 설정(.cursor/mcp.json 또는 .windsurf/mcp.json)에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code (Copilot)

VS Code MCP 설정(.vscode/mcp.json)에 추가하세요:

{
  "servers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

또는 VS Code용 Ace Data Cloud MCP 확장 프로그램을 설치하세요. 15개의 모든 MCP 서버를 클릭 한 번으로 설정할 수 있습니다.

JetBrains IDE

  1. **설정 → 도구 → AI Assistant → Model Context Protocol (MCP)**로 이동합니다.

  2. 추가HTTP를 클릭합니다.

  3. 붙여넣기:

{
  "mcpServers": {
    "serp": {
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Claude Code

Claude Code는 MCP 서버를 기본적으로 지원합니다:

claude mcp add serp --transport http https://serp.mcp.acedata.cloud/mcp \
  -h "Authorization: Bearer YOUR_API_TOKEN"

또는 프로젝트의 .mcp.json에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cline

Cline의 MCP 설정(.cline/mcp_settings.json)에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Amazon Q Developer

MCP 구성에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code

Roo Code MCP 설정에 추가하세요:

{
  "mcpServers": {
    "serp": {
      "type": "streamable-http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Continue.dev

.continue/config.yaml에 추가하세요:

mcpServers:
  - name: serp
    type: streamable-http
    url: https://serp.mcp.acedata.cloud/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Zed

Zed 설정(~/.config/zed/settings.json)에 추가하세요:

{
  "language_models": {
    "mcp_servers": {
      "serp": {
        "url": "https://serp.mcp.acedata.cloud/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

cURL 테스트

# Health check (no auth required)
curl https://serp.mcp.acedata.cloud/health

# MCP initialize
curl -X POST https://serp.mcp.acedata.cloud/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

3. 또는 로컬에서 실행 (대안)

자신의 컴퓨터에서 서버를 실행하려는 경우:

# Install from PyPI
pip install mcp-serp
# or
uvx mcp-serp

# Set your API token
export ACEDATACLOUD_API_TOKEN="your_token_here"

# Run (stdio mode for Claude Desktop / local clients)
mcp-serp

# Run (HTTP mode for remote access)
mcp-serp --transport http --port 8000

Claude Desktop (로컬)

{
  "mcpServers": {
    "serp": {
      "command": "uvx",
      "args": ["mcp-serp"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_token_here"
      }
    }
  }
}

Docker (셀프 호스팅)

docker pull ghcr.io/acedatacloud/mcp-serp:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-serp:latest

클라이언트는 자신의 Bearer 토큰으로 연결하며, 서버는 각 요청의 Authorization 헤더에서 토큰을 추출합니다.

사용 가능한 도구

검색 도구

도구

설명

serp_google_search

모든 옵션을 포함한 유연한 Google 검색

serp_google_images

이미지 검색

serp_google_news

뉴스 기사 검색

serp_google_videos

비디오 검색

serp_google_places

지역 장소/업체 검색

serp_google_maps

지도 위치 검색

정보 도구

도구

설명

serp_list_search_types

사용 가능한 검색 유형 나열

serp_list_countries

지역화를 위한 국가 코드 나열

serp_list_languages

지역화를 위한 언어 코드 나열

serp_list_time_ranges

시간 범위 필터 옵션 나열

serp_get_usage_guide

포괄적인 사용 가이드 가져오기

사용 예시

기본 웹 검색

User: Search for information about artificial intelligence

Claude: I'll search for information about AI.
[Calls serp_google_search with query="artificial intelligence"]

시간 필터를 사용한 뉴스 검색

User: What's the latest news about technology?

Claude: I'll search for recent tech news.
[Calls serp_google_news with query="technology", time_range="qdr:d"]

지역화된 검색

User: Find popular restaurants in Tokyo

Claude: I'll search for restaurants in Tokyo.
[Calls serp_google_places with query="popular restaurants Tokyo", country="jp"]

이미지 검색

User: Find images of the Northern Lights

Claude: I'll search for aurora borealis images.
[Calls serp_google_images with query="Northern Lights aurora borealis"]

검색 매개변수

검색 유형

유형

설명

search

일반 웹 검색 (기본값)

images

이미지 검색

news

뉴스 기사

maps

지도 결과

places

지역 업체

videos

비디오 결과

시간 범위 필터

코드

시간 범위

qdr:h

지난 1시간

qdr:d

지난 1일

qdr:w

지난 1주

qdr:m

지난 1개월

일반적인 국가 코드

코드

국가

us

미국

uk

영국

cn

중국

jp

일본

de

독일

fr

프랑스

일반적인 언어 코드

코드

언어

en

영어

zh-cn

중국어 (간체)

ja

일본어

es

스페인어

fr

프랑스어

de

독일어

응답 구조

일반 검색 결과

  • knowledge_graph: 엔티티 정보 (회사, 인물 등)

  • answer_box: 직접적인 답변

  • organic: 제목, 링크, 스니펫이 포함된 일반 검색 결과

  • people_also_ask: 관련 질문

  • related_searches: 관련 쿼리

이미지 검색 결과

  • images: URL 및 썸네일이 포함된 이미지 결과

뉴스 검색 결과

  • news: 출처 및 날짜가 포함된 뉴스 기사

구성

환경 변수

변수

설명

기본값

ACEDATACLOUD_API_TOKEN

AceDataCloud의 API 토큰

필수

ACEDATACLOUD_API_BASE_URL

API 기본 URL

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth 클라이언트 ID (호스팅 모드)

ACEDATACLOUD_PLATFORM_BASE_URL

플랫폼 기본 URL

https://platform.acedata.cloud

SERP_REQUEST_TIMEOUT

요청 시간 제한 (초)

30

LOG_LEVEL

로깅 레벨

INFO

명령줄 옵션

mcp-serp --help

Options:
  --version          Show version
  --transport        Transport mode: stdio (default) or http
  --port             Port for HTTP transport (default: 8000)

개발

개발 환경 설정

# Clone repository
git clone https://github.com/AceDataCloud/SerpMCP.git
cd SerpMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"

테스트 실행

# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration

코드 품질

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

빌드 및 배포

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

프로젝트 구조

SerpMCP/
├── core/                   # Core modules
│   ├── __init__.py
│   ├── client.py          # HTTP client for SERP API
│   ├── config.py          # Configuration management
│   ├── exceptions.py      # Custom exceptions
│   └── server.py          # MCP server initialization
├── tools/                  # MCP tool definitions
│   ├── __init__.py
│   ├── search_tools.py    # Search tools
│   └── info_tools.py      # Information tools
├── prompts/                # MCP prompt templates
│   └── __init__.py
├── tests/                  # Test suite
│   ├── conftest.py
│   ├── test_client.py
│   └── test_config.py
├── deploy/                 # Deployment configs
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

API 참조

이 서버는 AceDataCloud Google SERP API를 래핑합니다:

기여

기여를 환영합니다! 다음 단계를 따라주세요:

  1. 저장소를 포크합니다.

  2. 기능 브랜치를 생성합니다 (git checkout -b feature/amazing).

  3. 변경 사항을 커밋합니다 (git commit -m 'Add amazing feature').

  4. 브랜치에 푸시합니다 (git push origin feature/amazing).

  5. Pull Request를 엽니다.

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.

링크


AceDataCloud에서 사랑을 담아 제작함

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
45Releases (12mo)

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/AceDataCloud/SerpMCP'

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