Kagi
Kagi search API integration
kagi-server MCP Server
MCP server for Kagi API integration
This is a TypeScript-based MCP server that integrates the Kagi Search API. It demonstrates core MCP concepts by providing:
- Tools for performing web searches and other operations using Kagi's API (currently in private beta)
Features
Implemented Tools
kagi_search- Perform web searches using Kagi- Takes a query string and optional limit as parameters
- Returns search results from Kagi's API
Planned Tools (Not Yet Implemented)
kagi_summarize- Generate summaries of web pages or textkagi_fastgpt- Get quick responses using Kagi's FastGPTkagi_enrich- Fetch enriched news results on specific topics
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Environment Setup
Create a .env file in the root directory with your Kagi API key:
KAGI_API_KEY=your_api_key_here
Make sure to add .env to your .gitignore file to keep your API key secure.
Installation
Installing via Smithery
To install Kagi Server for Claude Desktop automatically via Smithery:
npx @smithery/cli install kagi-server --client claude
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"kagi-server": {
"command": "/path/to/kagi-server/build/index.js",
"env": {
"KAGI_API_KEY": "your_api_key_here"
}
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Usage
Once the server is running and connected to Claude Desktop, you can use it to perform web searches. For example:
- Ask Claude: "Can you search for information about the latest advancements in quantum computing?"
- Claude will use the
kagi_searchtool to fetch results from Kagi's API. - Claude will then summarize or analyze the search results for you.
Note: The planned tools (summarize, fastgpt, enrich) are not yet implemented and cannot be used.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Some areas for contribution include:
- Implementing the planned tools (summarize, fastgpt, enrich)
- Improving error handling and input validation
- Enhancing documentation and usage examples
License
This project is licensed under the MIT License.
Roadmap
- Implement
kagi_summarizetool for webpage and text summarization - Implement
kagi_fastgpttool for quick responses - Implement
kagi_enrichtool for fetching enriched news results - Improve error handling and add more robust input validation
- Add more comprehensive usage examples and documentation
- Publish the package to npm for easy installation and use with Claude Desktop and npx
Máy chủ liên quan
Geocoding
Provides geocoding services by integrating with the Nominatim API.
Brave Search
Integrates the Brave Search API for both web and local search capabilities. Requires a BRAVE_API_KEY.
Google PSE/CSE
A Model Context Protocol (MCP) server providing access to Google Programmable Search Engine (PSE) and Custom Search Engine (CSE).
Lancelot-MCP
A containerized MCP server for LanceDB vector search, featuring hybrid processing with Gemini and Ollama.
招投标大数据服务
Provides comprehensive bidding and tender information query services, including statistics, searches, and planned project queries.
Scientific Paper Harvester
Harvests scientific papers from arXiv and OpenAlex, providing real-time access to metadata and full text.
Simple arXiv
Search and retrieve academic papers from the arXiv repository via its API.
Mastra Docs Server
Provides AI assistants with direct access to Mastra.ai's complete knowledge base.
Tavily
A comprehensive search API for real-time web search, data extraction, and crawling, requiring a Tavily API key.
Perplexity MCP Zerver
Interact with Perplexity.ai using Puppeteer without an API key. Requires Node.js and stores chat history locally.