Kagi MCP Server logo

Kagi MCP Server

by elliottlawson

A Node.js implementation of the Kagi MCP server that provides web search capabilities to AI assistants using the Kagi search API. It's pre-built and ready to use, requiring no build step.

View on GitHub

Last updated: N/A

Kagi MCP Server (Node.js)

A Node.js implementation of the Kagi MCP server that provides web search capabilities to AI assistants using the Kagi search API.

Features

  • Web search using the Kagi API
  • Support for multiple search queries in parallel
  • Formatted search results
  • Built with TypeScript and the official MCP SDK
  • Pre-built and ready to use (no build step required)
  • Unique tool name (kagi_web_search) to avoid conflicts with other MCP servers

Setup Instructions

Before anything, ensure you have access to the search API. It is currently in closed beta and available upon request. Please reach out to [email protected] for an invite.

Prerequisites

  • Node.js 18 or higher
  • Kagi API key

Quick Start (No Installation)

You can run the server directly without installing it using npx:

KAGI_API_KEY=your_api_key_here npx github:elliottlawson/kagi-mcp-server

Installation

  1. Clone the repository:
git clone https://github.com/elliottlawson/kagi-mcp-server.git
cd kagi-mcp-server
  1. Run directly (no build required):
KAGI_API_KEY=your_api_key_here node build/index.js

If you want to modify the code, you'll need to install dependencies and rebuild:

npm install
npm run build

Setup with Claude Desktop

Add the following MCP config to your Claude Desktop configuration:

{
  "mcpServers": {
    "kagi": {
      "command": "npx",
      "args": ["github:elliottlawson/kagi-mcp-server"],
      "env": {
        "KAGI_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Alternatively, if you've cloned the repository:

{
  "mcpServers": {
    "kagi": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_REPO/build/index.js"],
      "env": {
        "KAGI_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Setup with Cursor

  1. Go to Cursor Settings -> MCP -> Add new MCP server
  2. Configure your MCP:
    • Name: Kagi Search
    • Type: command
    • Command: npx github:elliottlawson/kagi-mcp-server
    • Environment Variables: KAGI_API_KEY=YOUR_API_KEY_HERE

Ask an AI Assistant a Question Requiring Search

For example: "Use Kagi to search for who was time's 2024 person of the year?"

The AI will use the kagi_web_search tool to perform the search, avoiding conflicts with other search tools.

Debugging

Run the MCP Inspector to debug the server:

npx @modelcontextprotocol/inspector npx github:elliottlawson/kagi-mcp-server

Or if you've cloned the repository:

npx @modelcontextprotocol/inspector node build/index.js

Then access MCP Inspector at http://localhost:5173. You may need to add your Kagi API key in the environment variables in the inspector under KAGI_API_KEY.

Development

Project Structure

kagi-mcp-server/
├── src/
│   ├── index.ts           # Main entry point
│   ├── kagi-client.ts     # Kagi API client
│   └── utils/
│       └── formatter.ts   # Result formatting utilities
├── build/                 # Pre-built JavaScript files
│   ├── index.js           # Executable entry point
│   ├── kagi-client.js
│   └── utils/
│       └── formatter.js
├── package.json
├── tsconfig.json
└── README.md

Building

If you make changes to the TypeScript code, rebuild the project:

npm run build

Running

To run the server:

npm start

Notes

  • The log level can be adjusted through the DEBUG environment variable
  • The server uses stdio for communication with the MCP client
  • The repository includes pre-built JavaScript files, so no build step is required to use it
  • The tool is named kagi_web_search to avoid conflicts with other MCP servers that might have a generic search tool