mcp server
SearchInlet
SearchInlet is a high-performance, self-hosted MCP (Model Context Protocol) Gateway for SearXNG. It provides AI Agents with a secure, LLM-optimized interface for searching the internet, featuring adva
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 23, 2026SearchInlet 🌊
SearchInlet is a high-performance, self-hosted MCP (Model Context Protocol) Gateway for SearXNG. It provides AI Agents with a secure, LLM-optimized interface for searching the internet, featuring advanced distillation, token management, and simple access control.
🚀 Key Features
- MCP Native: Built using the official Go MCP SDK for seamless integration with Claude Desktop, Cursor, and other AI Agents.
- SearXNG Powered: Aggregates results from 70+ search engines while maintaining privacy. Supports multiple backend URLs with automatic failover.
- LLM Optimized:
- Sanitization: Strips boilerplate, HTML, and scripts for clean context.
- Truncation: Token-aware trimming using
tiktokento fit your model's context window. - Local Distillation: Intelligent relevance scoring and snippet extraction using local Ollama models (e.g. Qwen, Llama).
- Self-Hosted Utility: Designed to be run on your own VPS. Includes a simple Admin UI for generating access tokens, setting basic rate limits, and managing local LLM models.
- High Performance: Written in Go for low-latency concurrent processing.
- Modern Dashboard: Real-time tracking of model downloads and usage statistics.
🛠 Architecture
SearchInlet acts as a bridge between your AI Agent and a local search backend, now featuring a dedicated distillation layer.
graph LR
Agent[AI Agent / MCP Client] <--> Caddy[Caddy SSL]
Caddy <--> SI[SearchInlet Gateway]
SI <--> SX[SearXNG Backend]
SI <--> OL[Ollama Service]
subgraph "SearchInlet Internal"
SI_MCP[MCP Server Layer]
SI_Auth[Auth & Rate Limiting]
SI_Proc[Optimization Pipeline]
SI_DB[(SQLite Database)]
end
Detailed architecture can be found in docs/Architecture.md.
📅 Roadmap & Phases
The project has successfully completed its core development phases:
- Phase 1: Core Foundation - Basic MCP gateway, SearXNG client, and sanitization logic. (✅ Completed)
- Phase 2: Access Control & Admin Layer - SQLite DB, Token generation, SSE transport, and simple Admin UI. (✅ Completed)
- Phase 3: Local Distillation - Advanced context optimization using small local LLMs via Ollama. (✅ Completed)
- Phase 4: Interaction & Performance -
read_pagetool, streaming responses, and progress tracking. (✅ Completed)
[!WARNING] Performance Note: Local distillation is CPU and RAM intensive. On standard VPS instances, it may take 30-60 seconds to process a single search. If your AI Agent returns a
Request timed outerror, consider disabling distillation or upgrading to a VPS with more CPU cores or a GPU.
🏃 Quick Start (Linux / Server Deployment)
Prerequisites
- Docker & Docker Compose installed.
Installation
Deploying the SearXNG backend and building the MCP server takes just one command.
curl -sSL https://raw.githubusercontent.com/webdunesurfer/SearchInlet/main/install.sh | bash
The script will automatically:
- Clone the repository (if not already downloaded).
- Generate a secure, random
SEARXNG_SECRETto protect sessions. - Boot a local, privacy-respecting SearXNG instance using Docker.
- Cross-compile the Go MCP server binary (no local Go installation required).
Connecting your AI Agent (Cursor / Claude Desktop)
Option A: HTTPS / SSE (Recommended)
- Log into your dashboard at
https://searchinlet.com. - Generate an Access Token.
- Add the following to your Agent's MCP config:
{
"mcpServers": {
"searchinlet": {
"url": "https://searchinlet.com/sse",
"headers": {
"Authorization": "Bearer sk-YOUR_TOKEN_HERE"
}
}
}
}
Option B: SSH Tunnel (Legacy)
If you prefer not to expose the server via HTTPS, you can still connect via SSH:
{
"mcpServers": {
"searchinlet": {
"command": "ssh",
"args": [
"user@your-server-ip",
"SEARXNG_URL=http://localhost:8088/search /home/user/SearchInlet/bin/mcp-server-linux"
]
}
}
}
🧪 Testing with MCP Inspector
You can test the server using the official MCP Inspector:
npx @modelcontextprotocol/inspector ./bin/mcp-server
📄 License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details.