Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ac3xx/mcp-servers-kagi
A Model Context Protocol server implementation for Kagi's API
https://github.com/ac3xx/mcp-servers-kagi
kagi model-context-protocol
Last synced: 22 days ago
JSON representation
A Model Context Protocol server implementation for Kagi's API
- Host: GitHub
- URL: https://github.com/ac3xx/mcp-servers-kagi
- Owner: ac3xx
- License: mit
- Created: 2024-11-27T13:54:32.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2024-11-27T14:00:10.000Z (25 days ago)
- Last Synced: 2024-11-27T14:46:01.469Z (25 days ago)
- Topics: kagi, model-context-protocol
- Language: TypeScript
- Homepage: https://modelcontextprotocol.io/
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - Kagi Search - TypeScript-based MCP server that integrates the Kagi Search API (🔍 <a name="search-web"></a>Search & Web)
- awesome-mcp - Kagi - A Model Context Protocol server implementation for Kagi's API. (Servers / Typescript)
- awesome-mcp-servers - Kagi - Kagi search API integration (Community Servers)
- awesome-mcp-servers - Kagi - Kagi search API integration (Community Servers)
README
# 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 text
- `kagi_fastgpt` - Get quick responses using Kagi's FastGPT
- `kagi_enrich` - Fetch enriched news results on specific topics## Development
Install dependencies:
```bash
npm install
```Build the server:
```bash
npm run build
```For development with auto-rebuild:
```bash
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
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````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](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
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:
1. Ask Claude: "Can you search for information about the latest advancements in quantum computing?"
2. Claude will use the `kagi_search` tool to fetch results from Kagi's API.
3. 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_summarize` tool for webpage and text summarization
- Implement `kagi_fastgpt` tool for quick responses
- Implement `kagi_enrich` tool 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