Kagi Search MCP Server
공식Kagi의 검색 API를 사용하여 웹을 검색합니다.
문서
Kagi MCP 서버
Kagi API를 기반으로 하는 MCP 서버입니다. MCP 호환 클라이언트에 검색 및 추출 도구를 제공합니다.
도구
kagi_search_fetch- 선택적 페이지 추출, 필터 및 Kagi 렌즈를 포함한 웹, 뉴스, 동영상, 팟캐스트 및 이미지 검색.kagi_extract- 페이지의 전체 콘텐츠를 마크다운으로 가져옵니다.
참고: 이전
kagi_fastgpt및kagi_summarizer도구는 제거되었습니다. 두 도구 모두 향후 릴리스에서 다시 제공될 예정입니다.
호스팅 서버
https://mcp.kagi.com/mcp 에서 호스팅 MCP 서버를 운영 중이므로 설치가 필요 없습니다. HTTP 지원 MCP 클라이언트를 이 주소로 지정하고 Kagi API 키로 인증하세요.
OAuth2는 아직 지원되지 않으며(로드맵에 포함되어 있음), 현재는 대시보드에서 API 키를 가져와 Bearer HTTP 인증을 통해 전달하세요.
Claude Code 예시:
claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header "Authorization: Bearer $(read -sp 'API key: ' k; echo $k)" --scope user
직접 실행하고 싶으신가요? 로컬 uvx 설치 방법은 클라이언트 설정을, 자체 인프라에서 HTTP 서버를 호스팅하는 방법은 자체 호스팅을 참조하세요.
요구 사항
KAGI_API_KEY의 Kagi API 키.- 권장
uvx설치 경로를 위한uv.
uv 설치:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
클라이언트 설정
Codex CLI
codex mcp add kagi --env KAGI_API_KEY=<YOUR_API_KEY_HERE> -- uvx kagimcp
Codex는 MCP 구성을 ~/.codex/config.toml 에 기록합니다.
Claude Desktop
먼저 uv를 설치하세요.
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
그런 다음 Claude Desktop 구성(설정 -> 개발자 -> 구성 편집에서 찾을 수 있음)에서:
{
"mcpServers": {
"kagi": {
"command": "uvx",
"args": ["kagimcp"],
"env": {
"KAGI_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Claude Code
claude mcp add kagi -e KAGI_API_KEY="YOUR_API_KEY_HERE" -- uvx kagimcp
Smithery
npx -y @smithery/cli install kagimcp --client claude
Kiro
Claude Desktop과 동일한 mcpServers JSON을 사용하여 Kiro MCP 구성 파일(전역의 경우 ~/.kiro/settings/mcp.json, 프로젝트 범위의 경우 .kiro/settings/mcp.json)에 추가하세요. 자세한 내용은 Kiro MCP 문서를 참조하세요.
OpenCode
~/.config/opencode/opencode.json 에 있는 OpenCode 구성 파일을 편집하고 다음을 추가하세요:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
}
}
}
}
사용 예시
- 검색:
Who was Time's 2024 person of the year? - 추출:
extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
구성
| 환경 변수 | 설명 |
|---|---|
KAGI_API_KEY | 필수 Kagi API 키. |
FASTMCP_LOG_LEVEL | 로깅 레벨 (예: ERROR). |
KAGI_SEARCH_TIMEOUT | 검색 제한 시간(초). 기본값은 10. |
KAGI_EXTRACT_TIMEOUT | 추출 제한 시간(초). 기본값은 30. |
KAGI_MAX_RETRIES | 첫 번째 요청 이후 최대 재시도 횟수. 기본값은 2; 재시도를 비활성화하려면 0 로 설정. |
KAGI_HIDDEN_PARAMS | LLM 대상 스키마에서 숨길 쉼표로 구분된 검색 매개변수. |
숨길 수 있는 검색 매개변수:
workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id
예시:
KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"
로컬 개발
git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync
stdio를 통해 로컬에서 실행:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp
스트리밍 가능한 HTTP 전송으로 실행:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
자체 호스팅
HTTP 모드는 멀티 테넌트입니다: 각 요청은 서버 전체 환경 변수 대신
Authorization: Bearer <key> 헤더를 통해 API 키를 제공하므로 하나의
인스턴스가 여러 사용자에게 서비스를 제공할 수 있습니다. 저장소는 PyPI에서 고정된 kagimcp 을 설치하고
HTTP 모드로 실행하는 Dockerfile 을 제공합니다. 컨테이너는 $PORT 을 준수하므로
이를 주입하는 모든 플랫폼(Railway, Render, Cloud Run, Fly.io 등)에서 작동합니다.
로컬에서 빌드 및 실행:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
스모크 테스트:
curl -sL http://127.0.0.1:8000/mcp -X POST \
-H "authorization: Bearer $KAGI_API_KEY" \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
프로덕션에서 버전을 올리려면 Dockerfile 의 핀을 편집하고 재배포하세요.
디버깅
게시된 패키지 검사:
npx @modelcontextprotocol/inspector uvx kagimcp
로컬 체크아웃 검사:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
검사기는 일반적으로 http://localhost:5173 에서 사용할 수 있습니다.
사전 출시 지침
사전 출시 빌드를 사용하는 경우 동일한 설치 지침이 적용되지만, uvx kagimcp 대신 uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp 을 사용하세요 (1.0.0rc2 을 설치하려는 버전으로 교체).