Kagi Search

listing.by

Search the web, news, videos, podcasts and images with Kagi, and extract full page content as markdown.

state.key.long (state.key.title)Streamable HTTP

listing.connect

listing.explain.api_key

https://mcp.kagi.com/mcp

listing.note.key_header listing.note.key_where

listing.share.h

listing.share.p

mcp.tc/i/kagi

listing.about

Connects an assistant to the Kagi API. It can run web, news, video, podcast and image searches with optional page extracts, filters and Kagi lenses, and fetch the full content of a page as markdown.

Kagi hosts a streamable HTTP endpoint at https://mcp.kagi.com/mcp. It needs a Kagi API key sent as a Bearer token in the Authorization header. OAuth is not supported yet. The same server can be run locally with uvx kagimcp, or self-hosted with the Dockerfile in the repository.

listing.can

  • Search the web, news, videos, podcasts and images
  • Include page extracts in search results
  • Filter by domain, date, file type or Kagi lens
  • Extract the full content of a page as markdown

listing.tools

listing.notools.key

listing.prompts

  • Who was Time's 2024 person of the year?

  • Extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol

  • Search recent news about open source LLMs and summarize the top results

  • Find podcasts about home networking from the last year

listing.setup.h

listing.setup.remote

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http kagi https://mcp.kagi.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
  1. Replace the placeholder with your key before you run it, then check it with /mcp inside Claude Code.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Custom connectors can't send this server's key header, so use the mcp-remote bridge. Open Settings → Developer → Edit Config and add:
claude_desktop_config.json
{
  "mcpServers": {
    "kagi": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.kagi.com/mcp",
        "--header",
        "Authorization: Bearer <YOUR_API_KEY>"
      ]
    }
  }
}
  1. Replace the placeholder with your key and restart Claude Desktop.

The bridge needs Node.js on your computer.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "kagi": {
      "url": "https://mcp.kagi.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

VS Code

Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "kagi": {
      "type": "http",
      "url": "https://mcp.kagi.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "api-key",
      "description": "API key",
      "password": true
    }
  ]
}

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "kagi": {
      "serverUrl": "https://mcp.kagi.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add kagi --url https://mcp.kagi.com/mcp --bearer-token-env-var KAGI_API_KEY

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.kagi]
url = "https://mcp.kagi.com/mcp"
bearer_token_env_var = "KAGI_API_KEY"

Set KAGI_API_KEY to your key in the shell that runs Codex.

Gemini CLI

gemini mcp add --transport http --header "Authorization: Bearer <YOUR_API_KEY>" kagi https://mcp.kagi.com/mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.

{
  "mcpServers": {
    "kagi": {
      "type": "http",
      "url": "https://mcp.kagi.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.kagi.com/mcp.

listing.faq

Can I paste mcp.tc/i/kagi into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://mcp.kagi.com/mcp, so your client talks to Kagi Search directly. Your key goes there too, never to mcp.tc. The quick link is for sharing: it opens this page, with setup steps for every client.

Does Kagi Search need an API key or a sign-in?

Yes. Kagi Search needs an API key, sent as the Authorization header. Get one from Kagi and keep it in your client's config, never in a shared file.

Is Kagi Search a remote or a local server?

Remote. Kagi hosts it at https://mcp.kagi.com/mcp, and it speaks Streamable HTTP. There's nothing to install.

What can Kagi Search do?

You can search the web, news, videos, podcasts and images, include page extracts in search results and filter by domain, date, file type or Kagi lens.

Which clients can use it?

Any client that supports remote MCP servers and can send your key: Claude Code, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others, and Claude Desktop through the mcp-remote bridge. claude.ai and ChatGPT can't send a key, so they can't use it.

Who wrote this page?

mcp.tc's robot read Kagi Search's own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Kagi Search on mcp.tc](https://mcp.tc/i/kagi/badge.svg)](https://mcp.tc/i/kagi)
HTML
<a href="https://mcp.tc/i/kagi"><img src="https://mcp.tc/i/kagi/badge.svg" alt="Kagi Search on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/kagi.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/kagi" title="Kagi Search on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json

https://mcp.tc/i/kagi.json

listing.em.fields

listing.disclaimer_checked