Annolux Search
概览
作者提供的说明(英文原文)
Search a curated English and Chinese web index through one read-only MCP tool.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 搜索与 AI 记忆
- 你需要填写:ANNOLUX_API_KEY
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
ANNOLUX_API_URL,ANNOLUX_API_KEY
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- Docker已安装 Docker
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"annolux": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ANNOLUX_API_URL",
"-e",
"ANNOLUX_API_KEY",
"ghcr.io/eason4kim-rocket/annolux-mcp:0.1.2"
],
"env": {
"ANNOLUX_API_URL": "your-value",
"ANNOLUX_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add annolux --env ANNOLUX_API_URL=your-value --env ANNOLUX_API_KEY=your-value -- docker run -i --rm -e ANNOLUX_API_URL -e ANNOLUX_API_KEY ghcr.io/eason4kim-rocket/annolux-mcp:0.1.2运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"annolux": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ANNOLUX_API_URL",
"-e",
"ANNOLUX_API_KEY",
"ghcr.io/eason4kim-rocket/annolux-mcp:0.1.2"
],
"env": {
"ANNOLUX_API_URL": "your-value",
"ANNOLUX_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"annolux": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ANNOLUX_API_URL",
"-e",
"ANNOLUX_API_KEY",
"ghcr.io/eason4kim-rocket/annolux-mcp:0.1.2"
],
"env": {
"ANNOLUX_API_URL": "your-value",
"ANNOLUX_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
ANNOLUX_API_URLenvAnnolux API origin.- Annolux API key created in the account dashboard.
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 eason4kim-rocket 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5684 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 5684 个服务器的 33% 更新
- 基础检查结果等于或优于此分类中其他 5684 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Annolux Search 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:ANNOLUX_API_KEY
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.1.2)于3个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Exa
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
⚡ Annolux
Curated English & Chinese Search API and MCP for AI Agents & RAG Systems
*Search that can show its work. Every result carries an explicit fetched_at timestamp and provenance.*
🌐 Website • 📖 API Docs • ⚡ MCP Quickstart • 📊 Frozen Benchmarks • 📁 Examples • 🇨🇳 中文文档
💡 Why Annolux?
Current web search APIs for AI agents suffer from three fatal flaws:
- Garbage in, garbage out: Commercial search engines index millions of SEO farms, scraped spam, and auto-generated noise that pollute LLM context windows.
- Missing time-provenance: LLMs hallucinate current state because search APIs omit the exact snapshot timestamp (
fetched_at). - Predatory billing: Paying full price for failed requests, empty outputs, or rate-limited retries.
Annolux solves this with an agent-first curated approach:
- 🛡️ Curated Bilingual Technical Index: High-signal English & Chinese corpus (Rust, Go, Python, AI/ML, Official Docs, RFCs, GitHub, arXiv).
- 🕒 Explicit `fetched_at` Timestamp: Every ranked hit reveals the exact second it was ingested—enabling grounded citations and temporal reasoning.
- 🎯 Predictable Ledger Billing: Exactly 1 credit per successful 2xx response. Errors, timeouts (504), rate limits (429), and bad requests cost 0 credits.
- 🧩 Native Model Context Protocol (MCP): Zero setup across Claude Code, Cursor, Windsurf, Cline, Zed, and Claude Desktop.
- 🚀 1,000 Free Credits Every Month: Sign in with GitHub or Google at annolux.com and start querying in 30 seconds.
🥊 Comparison: Annolux vs. Generic Search APIs
| Feature / Metric | Annolux | Exa (Metaphor) | Tavily | Serper / Google |
|---|---|---|---|---|
| Index Quality | Curated Tech & Knowledge (EN/ZH) | Web-wide neural | Web-wide aggregator | Entire Web (noisy SEO) |
| Chinese (ZH) Tech Corpus | First-class native bilingual FTS | Moderate | Weak / Translated | Mixed with content farms |
| Explicit Snapshot Timestamp | ✅ `fetched_at` on every result | ❌ Inconsistent | ❌ Omitted | ❌ Snippet approximate only |
| Billing Guarantee | ✅ 1 credit only on 2xx success | Request-based | Request-based | Request-based |
| Failed / Timeout Queries | 🆓 0 Credits charged | ❌ Billed | ❌ Billed | ❌ Billed |
| MCP Tool Surface | Single lean `search_web` (Minimal token waste) | Multiple bulky tools | Multi-step tools | Needs custom bridge |
| Domain Restriction | ✅ Exact hostname filtering (`domains`) | ✅ Supported | ✅ Supported | Limited site: query |
| Free Starter Tier | 1,000 credits / month | Limited trial | 1,000 / mo | 2,500 one-time |
📦 Quick Installation
Node.js 18+ is the only prerequisite. Start in the zero-config sandbox—no account or API key is required:
npx -y annolux-mcp
For the full monthly allowance, create a free key at annolux.com and pass it through the process environment:
ANNOLUX_API_KEY=ann_live_YOUR_API_KEY npx -y annolux-mcp
🔌 MCP Integration
Annolux implements the official Model Context Protocol (MCP) specification with a single, high-efficiency tool: search_web.
⚡ 1-Click Installation (Cursor & Smithery)
- Cursor: Click to install natively via deep link.
- Smithery CLI:
npx -y @smithery/cli install annolux-mcp --client claude
npx -y @smithery/cli install annolux-mcp --client cursor
- **Glama Online Playground**: Test queries instantly without local setup on [Glama.ai](https://glama.ai/mcp/servers/eason4kim-rocket/annolux).
1. Claude Code
claude mcp add annolux -- npx -y annolux-mcp
This starts in sandbox mode. To use an account key, add it with -e ANNOLUX_API_KEY=ann_live_YOUR_API_KEY before --.
2. Cursor / Windsurf
Add to your project .cursor/mcp.json or global configuration:
{
"mcpServers": { "annolux": { "command": "npx", "args": ["-y", "annolux-mcp"], "env": { "ANNOLUX_API_KEY": "ann_live_YOUR_API_KEY" } } } }
3. Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": { "annolux": { "command": "npx", "args": ["-y", "annolux-mcp"], "env": { "ANNOLUX_API_URL": "https://api.annolux.com", "ANNOLUX_API_KEY": "ann_live_YOUR_API_KEY" } } } }
🚀 HTTP API Quickstart
Standard Search Endpoint
POST https://api.annolux.com/api/v1/search
Authorization: Bearer ann_live_YOUR_API_KEY Content-Type: application/json
{
"query": "tokio async runtime memory model", "domains": ["tokio.rs", "docs.rs", "github.com"], "deduplicate": true, "limit": 5, "timeout": 10, "ranking": "default" }
Python
import os
import requests
response = requests.post( "https://api.annolux.com/api/v1/search", headers={"Authorization": f"Bearer {os.environ.get('ANNOLUX_API_KEY')}"}, json={ "query": "DeepSeek R1 architecture reinforcement learning", "limit": 5, "deduplicate": True }, timeout=15 )
data = response.json() for result in data.get("results", []): print(f"[{result['fetched_at']}] {result['title']} -> {result['url']}")
TypeScript / Node.js
const res = await fetch("https://api.annolux.com/api/v1/search", {
method: "POST", headers: { "Authorization": Bearer ${process.env.ANNOLUX_API_KEY}, "Content-Type": "application/json" }, body: JSON.stringify({ query: "vLLM PagedAttention implementation details", limit: 5, deduplicate: true }) });
const data = await res.json(); console.log(Credits Remaining: ${res.headers.get("X-Annolux-Credits-Remaining")}); console.log(data.results);
cURL
curl -s -X POST https://api.annolux.com/api/v1/search \
-H "Authorization: Bearer ann_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "Go sync.Pool benchmark best practices", "limit": 3 }' | jq .
🏛️ Architecture & Mechanics
┌─────────────────────────────────────────────────────────────┐
│ AI Agent / RAG Application │ │ (Claude Code / Cursor / LangChain / Custom LLM) │ └──────────────────────────────┬──────────────────────────────┘ │ Stdio MCP / HTTPS REST Request │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Annolux Gateway API Engine │ │ ┌─────────────────────────┐ ┌───────────────────────┐ │ │ │ 1. Account & Rate Limit │ ──► │ Reserve 1 Credit │ │ │ │ (5 RPS, Burst 10) │ │ in /data/accounts.db │ │ │ └─────────────────────────┘ └───────────────────────┘ │ │ │ │ │ ▼ │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ 2. Bilingual FTS Ranker (/data/index.db) │ │ │ │ • Curated English & Chinese Corpus │ │ │ │ • SimHash Content-Deduplication Engine │ │ │ │ • Domain Filter & Exact Substring Match │ │ │ └───────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ 3. Atomic Response & Ledger Settlement │ │ │ │ • 2xx Success ──► Commit 1 Credit & Attach Timing │ │ │ │ • 4xx/5xx Err ──► Release Reservation (0 Cost) │ │ │ └───────────────────────────────────────────────────────┘ │ └──────────────────────────────┬──────────────────────────────┘ │ JSON with exact fetched_at & verified URL │ ▼ [ Grounded LLM Response ]
📊 Search Quality & Frozen Benchmarks
Annolux evaluates search retrieval performance against an immutable, frozen blind set of 40 complex bilingual queries. The ranking weights are never tuned on the test set.
| Metric | First Gate Baseline | Prelaunch Verification Gate |
|---|---|---|
| Hit@1 | 72.5% | `72.5%` |
| Hit@3 | 82.5% | `82.5%` |
| Hit@10 | 85.0% | `85.0%` |
| MRR@10 | 0.78125 | `0.78125` |
| P95 Latency | 532 ms | `356 ms` |
| 5xx Error Rate | 0.00% | `0.00%` |
*All benchmarks are evaluated client-side under full concurrency load.*
💳 Transparent Pricing
| Plan | Price | Credits | Rate Limits | Billing Rules |
|---|---|---|---|---|
| Free | $0 | 1,000 / month | 5 RPS / Burst 10 | Free forever, no credit card required |
| Pro | $29 / mo | 20,000 / mo | 5 RPS / Burst 10 | 1 success = 1 credit, no rollover |
| Scale | $99 / mo | 100,000 / mo | 5 RPS / Burst 10 | 1 success = 1 credit, no rollover |
- No overage charges.
- Errors, rate-limits, and timeouts are 100% free (0 credit charged).
- Up to 3 active API keys per account.
📁 Examples & Recipes
Check the examples/ directory for production-ready starters:
01-claude-code-literature-research: Automated technical survey agent with timestamped citations.02-cursor-authority-domain-refactor: Restrict search to official doc domains (react.dev,go.dev) for zero-hallucination refactoring.03-production-rag-temporal-pipeline: Production RAG hybrid search pipeline with fallback retrieval.04-n8n-ai-research-agent: Ready-to-import n8n AI Agent workflow with community node (n8n-nodes-annolux) and temporal citations.
🤝 Community & Support
- File bug reports or feature requests on GitHub Issues.
- Review SECURITY.md for private vulnerability reporting.
- Public OpenAPI specification: [annolux.com/openapi.json](https://annolux.
只显示了开头部分;其余内容请在仓库中阅读