About Kagi MCP Server (Node.js)
A Node.js MCP server that gives AI assistants access to Kagi web search. It supports parallel queries and formats results for use through a dedicated search tool.
Key features
- 01Kagi API web search
- 02Parallel search queries
- 03Formatted search results
- 04Dedicated `kagi_web_search` tool
- 05Prebuilt JavaScript; no build step
Use cases
- 01Search the web from an AI assistant
- 02Run several related searches in parallel
MCP support
Exposes Kagi web search to MCP clients through the `kagi_web_search` tool. Communicates over stdio and requires a Kagi API key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y github:elliottlawson/kagi-mcp-serverKAGI_API_KEYSecretLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEKagi 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
- Clone the repository:
git clone https://github.com/elliottlawson/kagi-mcp-server.git
cd kagi-mcp-server
- 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
- Go to Cursor Settings -> MCP -> Add new MCP server
- Configure your MCP:
- Name: Kagi Search
- Type: command
- Command: npx github:elliottlawson/kagi-mcp-server
- Environment Variables: KAGI_API_KEY=YOUR_API_KEY_HERE
Setup with Claude Code
claude mcp add --transport stdio kagi --env KAGI_API_KEY=YOUR_API_KEY_HERE -- npx github:elliottlawson/kagi-mcp-server
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
DEBUGenvironment 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_searchto avoid conflicts with other MCP servers that might have a genericsearchtool
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.