Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://qsearch.pro/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http qsearch https://qsearch.pro/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"qsearch": {
"url": "https://qsearch.pro/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"qsearch": {
"type": "http",
"url": "https://qsearch.pro/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://qsearch.pro/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub theYahia ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.0) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
I built this for my own daily research. After running 100+ research sprints, my agent kept hallucinating because it read 200-char snippets. qsearch gives it full content with multi-engine provenance — running locally, owned by me.
AI agents lose 17–33% of facts to hallucination because they read 200-character snippets, not full pages (Stanford 2024). Existing search APIs hide *which engines agreed* on a result. Existing knowledge graphs are enterprise-priced or vendor-locked.
qsearch is the open-source search layer that gives agents full content with multi-engine provenance — running on your machine, owned by you, ready for MCP today.
✅ v0.4.0 live at [qsearch.pro](https://qsearch.pro). Multi-engine attribution, trust corpus with per-URL provenance (
engines[],sweep_count,trust_score), corpus viewer at/ui, MCP-over-HTTP for Claude Code and any spec-compliant client.
📖 Architecture: ARCHITECTURE.md · Vision: docs/VISION.md · Technical spec: docs/TRUST_MESH.md · Federation deep-dive: docs/FEDERATION_ARCHITECTURE.md
60-second tour:
/health(it's up, local) →/sweep(multi-engineengines[]attribution) →/verify(does the cited source actually support the claim?). Reproduce it locally withbash scripts/record-demo.shafternpm start— see docs/launch/README-demo-embed.md.
Run it in 5 minutes — free tier, no API key:
git clone https://github.com/theYahia/qsearch.git && cd qsearch
cp .env.example .env.local # works as-is on the $0 SearXNG tier docker compose up -d # Meilisearch + Qdrant + SearXNG npm install && npm start # → qsearch on http://localhost:8080
curl -X POST http://localhost:8080/sweep \ -H "Content-Type: text/plain" \ --data-binary $'t1|self-hosted search engine\n'
The broad sweep tier runs on self-hosted SearXNG and costs nothing. Add a Brave key only when you want the focused/critical tiers. Full setup (Brave key, Ollama, MCP server) below.
Full setup — Brave BYOK + local LLM + MCP server
# 1. Clone
git clone https://github.com/theYahia/qsearch.git cd qsearch
cp .env.example .env.local
docker compose up -d
ollama pull qwen2.5:7b-instruct # ~5GB, cleaner (used by /sweep_context) ollama pull nomic-embed-text # 274MB, embedding rerank (Phase B)
npm install npm start # → qsearch v0.4.0 on http://localhost:8080
npm run start:mcp # → http://0.0.0.0:8081
curl -X POST http://localhost:8080/sweep \ -H "Content-Type: text/plain" \ --data-binary $'t1|self-hosted search engine\n'
BYOK design: Brave key + SearXNG + Ollama all stay on your machine. No data exfiltration.
Every research sprint I run a dual sweep:
# Brave sweep (primary, authoritative)
python research/scripts/brave_sweep.py queries.txt _raw_data/topic_2026-04-28/brave/
curl -X POST http://localhost:8080/sweep?topic=my_topic \ -H "Content-Type: text/plain" --data-binary @queries.txt
After 10+ sprints on the same domain, /corpus/top?min_engines=3 shows which URLs survived multiple independent search engines across multiple sessions. Those are the ones I actually trust.
Every AI agent today hits the same broken loop:
Agent → Tavily/Exa/Serper API → 200-char snippets → hallucinated answer
Three failures:
qsearch addresses all three:
flowchart LR
A[Your agent] -->|query| Q[qsearch] Q -->|fan out| B[Brave Search API] Q -->|fan out| S["SearXNG\n(Google, DDG, Brave, Qwant, …)"] B -->|results| Q S -->|results + engines[]| Q Q -->|index by URL| C["Local corpus\n(Meilisearch + Qdrant)"] C -->|trust score| Q Q -->|re-ranked + full content + provenance| A
style C fill:#fde68a,stroke:#d97706,color:#000 style Q fill:#93c5fd,stroke:#2563eb,color:#000 style S fill:#86efac,stroke:#16a34a,color:#000
The yellow node is your private corpus. URLs found by 5 engines + 3 sweeps + 4 topics get a trust score that emerges naturally — no human ranking, no centralized authority, no cloud round-trip.
| Tavily | Exa | Serper | Brave API | SearXNG | qsearch | |
|---|---|---|---|---|---|---|
| Open source core | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Full content (not snippets) | partial | partial | ❌ | ❌ | ❌ | ✅ |
| Multi-engine attribution | ❌ | ❌ | ❌ | ❌ | partial | ✅ (engines[]) |
| Persistent local corpus | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Trust score per URL | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Self-hostable | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| MCP-native | partial | ✅ | ❌ | ✅ | ❌ | ✅ |
| BYOK upstream | ❌ | ❌ | ❌ | N/A | ✅ | ✅ |
| Endpoint | Description | Backend |
|---|---|---|
POST /search | Web search + corpus first, trust-weighted re-rank | Brave or SearXNG |
POST /sweep | Batch search with priority/domain routing (see below) | SearXNG / Brave / Academic |
POST /cached_sweep | Same as /sweep, with SQLite memcache layer | SearXNG / Brave / Academic |
POST /academic_search | Peer-reviewed papers via arxiv + PubMed + Semantic Scholar | Academic (free, no auth) |
POST /sweep_context | Local LLM page extraction (analogue of Brave LLM Context) | Ollama qwen2.5 |
POST /news | News search | Brave (requires key) |
POST /context | Deep page extraction | Brave (requires key) |
POST /verify | Citation honesty check — does the cited URL actually support a claim? Returns Supported/Partial/Unsupported/Fabricated/Error + verbatim excerpt | LLM-as-judge (local Ollama qwen2.5 or DeepSeek) |
POST /index | Crawl URL or index local .md glob | Crawl4AI |
GET /trust/:url | Trust score + provenance for any URL in corpus | — |
GET /corpus/top | Top URLs ranked by trust (?limit=20&min_engines=3) | — |
GET /corpus/stats | Corpus size + counts | — |
GET /economy_report | Sprint cost breakdown by backend + savings vs all-Brave | — |
GET /ui | Corpus browser — search, trust scores, provenance modal | — |
GET /health | Service status | — |
/search accepts: query, n_results (1–20), freshness (pd/pw/pm/py), search_lang, country, corpus_first (default true), corpus_only (default false).
/sweep accepts text/plain body with one query per line in the format label|query|priority:
broad (default, SearXNG, $0) / focused (Brave, ~$0.005) / critical (Brave + LLM Context, ~$0.01)general (default) / scholarly (arxiv+PubMed+S2, $0) / ru (SearXNG with language=ru-RU bias, $0)# Examples
bench_a|qdrant production latency benchmarks|focused sch_a|crispr cas9 off target effects|broad|scholarly ru_a|tadviser сро рейтинг 2025|broad|ru crit_a|self-hosted vector DB choice 2026|critical gen|simple search|broad # 2-field still works — defaults broad/general
Auto-indexes results into Meilisearch with engines[] and engine_count filterable.
/academic_search accepts JSON: { query, n_results (1-20), sources?: ["arxiv","pubmed","semanticscholar"] }. Fans out to all three in parallel, dedupes by DOI/title, returns interleaved top-N.
curl -X POST http://localhost:8080/sweep \
-H "Content-Type: text/plain" \ --data-binary $'t1|self-hosted search engine 2026\n'
Output excerpt (parsed_snippets.md):
**1. GitHub - searxng/searxng**
A privacy-respecting, hackable metasearch engine...
2. random-blog.io/seo-spam-2026
Best self-hosted search engines you must try...
URL #1 has engine_count=4 — found by 4 independent engines. URL #2 has engine_count=1 — found by only one. The trust signal is built into the data, not bolted on.
curl -H "Authorization: Bearer masterKey" \
"http://localhost:7700/indexes/qsearch_corpus/documents?filter=engine_count%20%3E%3D%203"
Returns only URLs found by 3+ engines — your high-trust subset.
The MCP server lives in this repo — there is no npm package for it. Run it from source:
git clone https://github.com/theYahia/qsearch.git && cd qsearch
npm install npm start # REST API on :8080 — must be running first npm run start:mcp # MCP server (Streamable HTTP) on :8081
Add to ~/.claude/settings.json:
{
"mcpServers": { "qsearch": { "type": "http", "url": "http://localhost:8081" } } }
Available tools:
mcp__qsearch__web_search — web search via Brave or SearXNGmcp__qsearch__sweep — batch research sweep with multi-engine attributionmcp__qsearch__academic_search — peer-reviewed papers via arxiv + PubMed + Semantic Scholarmcp__qsearch__sweep_context — Phase 3 local LLM page extraction (free, Ollama)mcp__qsearch__verify_citation — does the cited URL actually support the claim? (Supported/Partial/Unsupported/Fabricated)mcp__qsearch__economy_report — cost breakdown vs all-Brave basตัดมาแค่ช่วงต้น อ่านต่อใน repo