Kagi Search
공식Kagi의 검색 API를 사용하여 웹을 검색합니다.
Kagi Search MCP(으)로 무엇을 할 수 있나요?
- 웹 검색 —
kagi_search_fetch를 통해 웹, 뉴스, 동영상, 팟캐스트 또는 이미지를 검색하도록 어시스턴트에게 요청하세요. - 필터링 검색 —
kagi_search_fetch를 통해 도메인 포함/제외, 날짜 범위, 파일 형식 또는 Kagi 렌즈로 검색 결과를 좁히세요. - 페이지 발췌 —
kagi_search_fetch를 사용해 검색 결과와 함께 선택적으로 페이지 발췌를 요청하세요. - 전체 페이지 추출 —
kagi_extract를 사용해 페이지의 전체 콘텐츠를 마크다운으로 가져오도록 어시스턴트에게 요청하세요. - 호스팅 엔드포인트 — HTTP를 지원하는 MCP 클라이언트를
https://mcp.kagi.com/mcp에 연결하고Bearer인증으로 Kagi API 키를 사용해 인증하세요.
문서
Kagi MCP Server
Kagi API를 기반으로 하는 MCP 서버입니다. MCP 호환 클라이언트에 검색 및 추출 도구를 제공합니다.
도구
kagi_search_fetch- 웹, 뉴스, 동영상, 팟캐스트, 이미지 검색을 지원하며, 선택적으로 페이지 추출, 필터, Kagi 렌즈를 사용할 수 있습니다.kagi_extract- 페이지의 전체 콘텐츠를 마크다운으로 가져옵니다.
참고: 이전의
kagi_fastgpt및kagi_summarizer도구는 제거되었습니다. 두 도구 모두 향후 릴리스에서 다시 제공될 예정입니다.
호스팅 서버
설치 없이 사용할 수 있는 호스팅 MCP 서버 **https://mcp.kagi.com/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 구성 파일(Settings -> Developer -> Edit Config에서 찾을 수 있음)에 다음을 추가합니다.
{
"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
Kiro MCP 구성 파일(전역 설정은 ~/.kiro/settings/mcp.json, 프로젝트 범위 설정은 .kiro/settings/mcp.json)에 Claude Desktop과 동일한 mcpServers 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에 표시되는 스키마에서 숨길 검색 매개변수를 쉼표로 구분해 지정합니다. |
KAGI_SEARCH_FORMAT | 검색 결과 형식입니다. json(기본값) 또는 markdown(Search API 자체의 마크다운을 그대로 전달)입니다. |
숨길 수 있는 검색 매개변수:
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 키를 전달하므로, 하나의 인스턴스에서 여러 사용자를
지원할 수 있습니다. 저장소에는 고정된 kagimcp을 PyPI에서 설치하고
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을 설치하려는 버전으로 바꾸세요).