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_PARAMSLLM에 표시되는 스키마에서 숨길 검색 매개변수를 쉼표로 구분해 지정합니다.
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을 설치하려는 버전으로 바꾸세요).