빠른 답변
MCP 서버로 Claude Desktop이나 Cursor에 Google 검색을 추가하려면 어떻게 하나요?
아래 40줄짜리 Python 서버를 저장하고 mcp[cli]와 httpx을 설치한 뒤, 클라이언트의 MCP 설정에서 SerpCrypto API 키를 env에 넣어 등록하세요. 그러면 클라이언트는 실시간 Google 검색 결과를 반환하는 google_search 도구를 갖게 됩니다. 도구 호출 한 번은 US$0.30/1K 검색에서의 검색 한 번으로 1 크레딧이며, 크레딧은 KYC 없이 암호화폐로 결제합니다.
MCP 서버 한눈에 보기
| 언어 | 공식 mcp SDK(FastMCP)와 httpx을 사용하는 Python 3.10+ |
|---|---|
| 전송 | stdio: 클라이언트가 스크립트를 시작하고 통신합니다 |
| 도구 | google_search(query, gl, hl, num_results) |
| 출력 | AI Overview 텍스트(표시되는 경우), 그다음 결과별 제목, 링크, 스니펫 |
| 키 | 클라이언트 설정에 지정하는 환경 변수 SERPCRYPTO_API_KEY |
| 비용 | 성공한 도구 호출당 1 크레딧, 오류는 무료 |
서버는 무엇을 하나요?
Model Context Protocol을 통해 google_search라는 도구 하나를 제공합니다. 모델이 이 도구를 호출하면 서버가 https://serpcrypto.com/api/v1/search에 요청 하나를 보낸 뒤 JSON을 짧은 일반 텍스트로 변환합니다: Google이 AI Overview를 보여줬다면 그 내용과, 상위 결과의 제목, 링크, 스니펫입니다.
짧은 텍스트가 중요합니다. JSON으로 된 전체 결과 페이지는 길고, 모델로 돌려보내는 모든 문자는 컨텍스트를 사용합니다. 서버는 최대 10개의 결과를 유지하고 AI Overview는 800자에서 자릅니다. 클라이언트에 여유가 있다면 코드에서 이 제한을 변경하세요.
이것은 복사-붙여넣기용 코드이며 배포된 패키지가 아닙니다: 설치할 공식 SerpCrypto MCP 패키지는 없습니다. 파일은 직접 소유하며, 예를 들어 engine=google_news용 도구를 추가할 수 있습니다.
"""serpcrypto_mcp.py: an MCP server that gives AI clients a Google search tool.
Install once: pip install "mcp[cli]" httpx
Run by your MCP client over stdio; the API key comes from the environment.
"""
import os
import httpx
from mcp.server.fastmcp import FastMCP
API_URL = "https://serpcrypto.com/api/v1/search"
mcp = FastMCP("serpcrypto-search")
@mcp.tool()
async def google_search(query: str, gl: str = "us", hl: str = "en", num_results: int = 5) -> str:
"""Search Google and return the top results (title, link, snippet) and the AI Overview text if any.
gl is a two-letter country code (us, gb, de...), hl a language code (en, de, pt-BR...).
Each call uses one SerpCrypto search credit.
"""
headers = {"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]}
params = {"q": query, "gl": gl, "hl": hl}
async with httpx.AsyncClient(timeout=90) as client:
r = await client.get(API_URL, params=params, headers=headers)
if r.status_code != 200:
return f"Search failed with HTTP {r.status_code}: {r.text[:300]}"
data = r.json()
lines = []
overview = data.get("ai_overview") or {}
if overview.get("text"):
lines.append("AI Overview: " + overview["text"][:800])
for item in data.get("organic_results", [])[: max(1, min(num_results, 10))]:
lines.append(f"{item['position']}. {item['title']}\n{item['link']}\n{item.get('snippet', '')}")
return "\n\n".join(lines) or "No results."
if __name__ == "__main__":
mcp.run() # stdio transport도구 이름이 web_search가 아니라 google_search인 이유는 무엇인가요?
여러 클라이언트가 이미 자체 제공자를 사용하는 web_search라는 이름의 도구를 제공합니다. 이름을 다르게 하면 충돌을 피하고 모델에 무엇을 받는지 알려줍니다: 모델이 선택한 국가와 언어에 대한 Google 검색 결과입니다. docstring은 모델이 읽는 설명이므로, 여기에 파라미터와 호출 비용을 명시합니다.
Claude Desktop에 추가하려면 어떻게 하나요?
설정 파일 claude_desktop_config.json을 여세요: macOS에서는 ~/Library/Application Support/Claude/에, Windows에서는 %APPDATA%\Claude\에 있습니다. mcpServers 아래에 서버를 추가하고 스크립트의 절대 경로와 env에 키를 넣은 뒤 Claude Desktop을 재시작하세요.
Claude Desktop이 인식하는 경로에 python이 없다면 인터프리터의 전체 경로를 사용하세요. 예를 들어 가상 환경 내부의 경로를 사용하면 됩니다.
{
"mcpServers": {
"serpcrypto-search": {
"command": "python",
"args": ["/absolute/path/to/serpcrypto_mcp.py"],
"env": {
"SERPCRYPTO_API_KEY": "paste-your-key-here"
}
}
}
}Claude Code와 Cursor에 추가하려면 어떻게 하나요?
Claude Code에서는 터미널에서 claude mcp add로 등록합니다. -e는 환경 변수를 설정하고, -- 뒤에 오는 모든 내용이 실행할 명령입니다. Cursor에서는 위와 동일한 mcpServers 블록을 모든 프로젝트에 적용하려면 ~/.cursor/mcp.json에, 프로젝트 하나에만 적용하려면 .cursor/mcp.json에 넣습니다.
stdio 서버를 실행하는 다른 MCP 클라이언트도 같은 세 가지를 받습니다. 명령, 인수, 환경 변수입니다. OpenClaw 페이지에 OpenClaw용 명령이 나와 있습니다.
claude mcp add serpcrypto-search \
-e SERPCRYPTO_API_KEY=paste-your-key-here \
-- python /absolute/path/to/serpcrypto_mcp.pyAPI 키는 어떻게 안전하게 보관하나요?
클라이언트 설정의 env 블록이나 셸 프로필에 보관하고, serpcrypto_mcp.py 안에는 절대 넣지 마세요. 그래야 키 없이 스크립트를 공유하거나 커밋할 수 있습니다. 키가 유출되면 대시보드에서 폐기하고 새로 만드세요: 대시보드에서 언제든지 생성하고 폐기할 수 있는 API 키.
MCP 서버에는 전용 키를 발급하세요. 그러면 키별 사용량에서 스크립트와 별도로 어시스턴트가 몇 번 검색하는지 확인할 수 있습니다.
어시스턴트는 크레딧을 얼마나 사용하나요?
성공한 툴 호출마다 1크레딧입니다. 모델이 세 번 검색하는 채팅은 3크레딧입니다. US$18.75의 검색 25,000회 팩이라면 수천 건의 어시스턴트 질문에 해당하고, 선불 검색 크레딧은 만료되지 않습니다: 사용하지 않은 검색은 사용할 때까지 계정에 남아 있습니다.
사용량을 제한하려면 num_results을 낮추세요(가격은 그대로지만 답변이 짧아집니다). 그리고 지침에서 모델에게 최신 정보가 필요할 때만 검색하라고 알려주세요.
MCP 질문
서버가 원격 MCP 클라이언트와도 작동하나요?
이 버전은 stdio를 사용하므로 클라이언트가 같은 머신에서 실행해야 합니다. FastMCP는 HTTP로도 서비스할 수 있습니다. 네트워크에 노출한다면 반드시 앞단에 인증을 두세요. 접근할 수 있는 사람은 누구나 여러분의 크레딧을 사용하기 때문입니다.
Bing이나 Google News로도 검색할 수 있나요?
네. engine 인수를 추가하거나, params에 engine=bing 또는 engine=google_news를 보내는 두 번째 툴을 추가하세요. 모든 엔진은 검색당 동일하게 1크레딧입니다.
클라이언트에서 툴이 실패했다고 나오는 이유는 무엇인가요?
같은 Python으로 스크립트를 직접 실행해 오류를 확인하세요. 흔한 원인은 mcp 또는 httpx 패키지 누락, 설정의 잘못된 경로, 비어 있는 SERPCRYPTO_API_KEY(API가 401를 응답합니다)입니다.
API 키 발급에 신용카드나 KYC가 필요한가요?
아니요. SerpCrypto는 BTC, USDT, USDC, ETH, SOL, LTC로 결제하는 선불 크레딧을 판매하며, 신분증도 셀피도 서류도 필요 없습니다. 계정 번호로 로그인하며 이메일은 선택 사항입니다.