Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Free open-source web search and page reading for LLMs, AI agents, and RAG.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SEARCHFORGE_SEARXNG_URL, GITHUB_TOKEN, CROSSREF_MAILTO, BRAVE_SEARCH_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"searchforge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARCHFORGE_SEARXNG_URL",
"-e",
"GITHUB_TOKEN",
"-e",
"CROSSREF_MAILTO",
"-e",
"BRAVE_SEARCH_API_KEY",
"ghcr.io/divyanshu-iitian/searchforge-mcp:0.2.0"
],
"env": {
"SEARCHFORGE_SEARXNG_URL": "your-value",
"GITHUB_TOKEN": "your-value",
"CROSSREF_MAILTO": "your-value",
"BRAVE_SEARCH_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add searchforge --env SEARCHFORGE_SEARXNG_URL=your-value --env GITHUB_TOKEN=your-value --env CROSSREF_MAILTO=your-value --env BRAVE_SEARCH_API_KEY=your-value -- docker run -i --rm -e SEARCHFORGE_SEARXNG_URL -e GITHUB_TOKEN -e CROSSREF_MAILTO -e BRAVE_SEARCH_API_KEY ghcr.io/divyanshu-iitian/searchforge-mcp:0.2.0Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"searchforge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARCHFORGE_SEARXNG_URL",
"-e",
"GITHUB_TOKEN",
"-e",
"CROSSREF_MAILTO",
"-e",
"BRAVE_SEARCH_API_KEY",
"ghcr.io/divyanshu-iitian/searchforge-mcp:0.2.0"
],
"env": {
"SEARCHFORGE_SEARXNG_URL": "your-value",
"GITHUB_TOKEN": "your-value",
"CROSSREF_MAILTO": "your-value",
"BRAVE_SEARCH_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"searchforge": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARCHFORGE_SEARXNG_URL",
"-e",
"GITHUB_TOKEN",
"-e",
"CROSSREF_MAILTO",
"-e",
"BRAVE_SEARCH_API_KEY",
"ghcr.io/divyanshu-iitian/searchforge-mcp:0.2.0"
],
"env": {
"SEARCHFORGE_SEARXNG_URL": "your-value",
"GITHUB_TOKEN": "your-value",
"CROSSREF_MAILTO": "your-value",
"BRAVE_SEARCH_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SEARCHFORGE_SEARXNG_URL envCROSSREF_MAILTO envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account divyanshu-iitian, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GITHUB_TOKEN, BRAVE_SEARCH_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
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.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
One local gateway. Intent-aware search. Clean Markdown. REST, MCP, CLI, and TypeScript.
Website · Quick start · Free tools · MCP · API · Design
SearchForge is a free, open-source web search API and MCP server for LLMs, AI agents, and retrieval-augmented generation (RAG) pipelines. It provides a predictable retrieval layer without forcing every project to integrate a paid search vendor. SearchForge routes each query to the right source, isolates provider failures, deduplicates URLs, fuses rankings, and turns public pages into LLM-ready Markdown.
It does not generate answers, hide citations, scrape public SearXNG instances, or send telemetry.
| Capability | Default source | Cost / credentials |
|---|---|---|
auto | Intent-routed source mix | No key by default |
web | Wikipedia; optional private SearXNG | No key / self-hosted |
code | GitHub repository search | No key; token optional |
academic | Crossref works and DOI metadata | No key |
community | Hacker News via Algolia | No key, community service |
read_url | Jina Reader | No key, currently rate-limited |
SearchForge starts with all no-key adapters enabled. auto is the default and routes code, research, and current/community intent to relevant sources while retaining a web fallback. A GitHub token only raises the public API quota, and Brave remains an optional keyed backend. Broad, independent web metasearch is provided by the included SearXNG stack.
npx --yes --package github:divyanshu-iitian/SearchForge \
searchforge search "latest open-source agent frameworks"
The first run downloads and builds the package from GitHub. Searches use intent-aware auto routing unless you select a category.
git clone https://github.com/divyanshu-iitian/SearchForge.git
cd SearchForge npm install npm run build
node dist/cli.js search "latest open-source agent frameworks" node dist/cli.js search "retrieval augmented generation" --category academic node dist/cli.js search "local LLM tooling" --category community node dist/cli.js read "https://example.com" node dist/cli.js doctor
docker compose up --build
curl -s http://localhost:3000/v1/search \
-H "content-type: application/json" \ -d '{"query":"open source vector databases","category":"web","limit":5}'
This starts SearchForge on port 3000 and a private, JSON-enabled SearXNG on port 8080. Before exposing the stack, change the SearXNG secret, set SEARCHFORGE_API_KEY, and terminate TLS at a trusted proxy.
searchforge search "latest open-source agent frameworks"
searchforge search "browser agent" --category code searchforge search "semantic reranking" --category academic --json searchforge search "Show HN search engine" --category community
The default auto category detects code, academic, and current/community signals and queries the matching source families alongside the web fallback. Explicit categories prevent irrelevant providers from being queried. An explicit providers list overrides category routing, which is useful for evaluations.
searchforge read "https://example.com/article"
read_url accepts public HTTP(S) URLs only. Credentials, localhost, private IP literals, and non-web protocols are rejected. Responses are size-bounded, timed out, and cached.
searchforge doctor
Doctor performs real, bounded probes and reports each provider's access tier, capability, latency, and error. A failed source produces degraded, not a misleading all-or-nothing status.
SearchForge exposes three stdio tools:
web_search — routed, citation-ready structured searchread_url — clean Markdown from a public URLsearch_status — live capability and latency report{
"mcpServers": { "searchforge": { "command": "node", "args": ["/absolute/path/to/SearchForge/dist/mcp.js"], "env": { "SEARCHFORGE_SEARXNG_URL": "http://localhost:8080" } } } }
The search and status tools return MCP structured content as well as readable text.
Run the MCP server straight from GitHub without a clone:
{
"mcpServers": { "searchforge": { "command": "npx", "args": [ "--yes", "--package", "github:divyanshu-iitian/SearchForge", "searchforge-mcp" ] } } }
SearchForge is also published in the official MCP Registry as io.github.divyanshu-iitian/searchforge. To run the registry-backed OCI image directly from any MCP client that supports a Docker command:
{
"mcpServers": { "searchforge": { "command": "docker", "args": [ "run", "--rm", "-i", "ghcr.io/divyanshu-iitian/searchforge-mcp:0.2.0" ] } } }
POST /v1/search
Content-Type: application/json
{ "query": "open source reranking models", "category": "academic", "limit": 8, "language": "en", "freshness": "month", "safeSearch": "moderate" }
{
"schemaVersion": "1.0", "query": "open source reranking models", "category": "academic", "results": [ { "title": "Example work", "url": "https://doi.org/10.0000/example", "snippet": "Authors · Publisher · journal-article", "source": "crossref", "sources": ["crossref"], "score": 0.016393 } ], "providers": [ { "provider": "crossref", "ok": true, "latencyMs": 241, "resultCount": 8 } ], "tookMs": 243, "cached": false }
POST /v1/read
Content-Type: application/json
{"url":"https://example.com/article"}
Other endpoints:
GET /healthz Process liveness
GET /v1/providers Configured capabilities and access tiers GET /v1/doctor Live dependency health
See the full OpenAPI contract.
import {
CrossrefProvider, GithubProvider, JinaReader, SearchForge, } from "searchforge-rag";
const forge = new SearchForge({ providers: [new GithubProvider(), new CrossrefProvider()], reader: new JinaReader(), timeoutMs: 8_000, });
const evidence = await forge.search({ query: "agentic retrieval", category: "academic", limit: 10, });
const page = await forge.read("https://example.com/research");
Until an npm release is published:
npm install github:divyanshu-iitian/SearchForge
| Provider | Capability | Access | Enabled |
|---|---|---|---|
| SearXNG | Web | Self-hosted, no vendor fee | SEARCHFORGE_SEARXNG_URL |
| Wikipedia | Web knowledge fallback | No key | Always |
| GitHub | Code repositories | No key; 60 unauthenticated REST requests/hour, search has tighter limits | Always |
| Crossref | Academic metadata | No key; mailto recommended | Always |
| HN Algolia | Community | No key; community-operated availability | Always |
| Jina Reader | URL to Markdown | No key; documented no-key quota currently 20 RPM | Always |
| Brave Search | Web | API key | BRAVE_SEARCH_API_KEY |
SearchForge intentionally does not configure public SearXNG instances. They often disable JSON or limit automated traffic; the Docker stack is the stable free path.
Agent / RAG / MCP client
| validate + route | +--------+---------+-----------+ | | | | web code academic community read_url | | | | | SearXNG GitHub Crossref Hacker News Jina Reader Wikipedia +--------+---------+-----------+ | normalize -> canonicalize -> deduplicate -> reciprocal-rank fusion | versioned evidence + provenance + per-source health
Each idempotent provider call has its own abortable timeout. One outage cannot erase healthy results. Tracking parameters are removed before deduplication, and every contributing provider remains in sources.
This capability-first design is inspired by Agent Reach. Agent Reach helps an agent operate many upstream tools directly; SearchForge complements that approach with one stable, embeddable retrieval API for RAG applications.
| Variable | Default | Purpose |
|---|---|---|
SEARCHFORGE_SEARXNG_URL | unset | Private SearXNG base URL |
GITHUB_TOKEN | unset | Optional GitHub quota increase |
CROSSREF_MAILTO | unset | Crossref polite-pool identity |
BRAVE_SEARCH_API_KEY | unset | Optional Brave backend |
SEARCHFORGE_API_KEY | unset | REST bearer or x-api-key |
SEARCHFORGE_PORT | 3000 | REST port |
SEARCHFORGE_HOST | 127.0.0.1 | Bind address |
SEARCHFORGE_TIMEOUT_MS | 8000 | Per-dependency timeout |
SEARCHFORGE_CACHE_TTL_MS |
Only the beginning is shown; read the rest in the repo