Ragmap
About
RAG-focused MCP subregistry and server to discover and route to retrieval-capable MCP servers with semantic search, filters, and explainable ranking.
Details
- Author
- khalidsaidi
- Downloads
- 93
- Categories
- Search, Knowledge Base, Other, AI
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
RagmapCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
{
"mcpServers": {
"ragmap": {
"url": "https://ragmap-mcp.web.app/mcp"
}
}
}
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"ragmap": {
"ragmap": {
"url": "https://ragmap-mcp.web.app/mcp"
}
}
}
}
McpServers
{
"ragmap": {
"url": "https://ragmap-mcp.web.app/mcp"
}
}
Try it:https://ragmap-api.web.app/browse/Start here:https://github.com/khalidsaidi/ragmap/discussions/17
RAGMap is a lightweight MCP Registry-compatible subregistry + MCP server focused onRAG-related MCP servers.
- Ingests the official MCP Registry, enriches records for RAG use-cases, and serves a subregistry API.
- Exposes an MCP server (remote Streamable HTTP + local stdio) so agents can search/filter RAG MCP servers.
MapRag is a discovery + routing layer for retrieval.It helps agents and humans answer:which retrieval MCP server should I use for this task, given my constraints?
RAGMap doesnotdo retrieval itself. It indexes and enriches retrieval-capable servers, then routes you to the right tool/server.
What you get after install (plain English)
- You getdiscovery/routing tools(rag_find_servers,rag_get_server,rag_list_categories,rag_explain_score).
- RAGMap helps you find the best retrieval server for your task and constraints.
- Your agent then connects to that chosen server to do the actual retrieval.
- Ingest your private documents automatically.
- Host your personal vector database.
- Replace your end-to-end RAG pipeline.
If you need retrieval over your own data, use a retrieval server from RAGMap results (or your own server) that supports your ingest/index flow.
- Hosted RAGMap updates its index on a schedule. Newly published/changed servers may appear with some delay.
- Most users donotrun ingest themselves when using the hosted service.
- If you need tighter freshness control or private indexing behavior, self-host and run your own ingest schedule (docs/DEPLOYMENT.md).
Features:Registry-compatible API;semantic + keyword search(whenOPENAI_API_KEYis set, e.g. from env or your deployment’s secret manager); categories andragScore; filter byhasRemote,reachable(probe-checked for streamable-http/SSE),citations,localOnly,transport,minScore,categories.Human browse UIatragmap-api.web.app/browse— search, filter, copy Cursor/Claude config. MCP tools:rag_find_servers,rag_get_server,rag_list_categories,rag_explain_score.
1) Top reachable retrievers (checked within 24h)
curl -s "https://ragmap-api.web.app/rag/top?hasRemote=true&reachable=true&reachableMaxAgeHours=24&serverKind=retriever&limit=25" | jq .
2) Search with trust filter (reachable recently)
curl -s "https://ragmap-api.web.app/rag/search?q=rag&hasRemote=true&reachable=true&reachableMaxAgeHours=24&limit=10" | jq .
curl -s "https://ragmap-api.web.app/rag/install?name=ai.filegraph%2Fdocument-processing" | jq .
curl -s "https://ragmap-api.web.app/rag/stats" | jq .
curl -s "https://ragmap-api.web.app/api/stats" | jq .
Full overview:docs/OVERVIEW.md
Release history:CHANGELOG.md
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#ffffff","primaryTextColor":"#000000","primaryBorderColor":"#000000","lineColor":"#000000","secondaryColor":"#ffffff","tertiaryColor":"#ffffff","clusterBkg":"#ffffff","clusterBorder":"#000000","edgeLabelBackground":"#ffffff"},"flowchart":{"curve":"linear","nodeSpacing":75,"rankSpacing":70}}}%% flowchart TB %% Concept-only diagram (product value; no deployment/framework/datastore details) classDef mono fill:#ffffff,stroke:#000000,color:#000000,stroke-width:1px; subgraph Inputs[" "] direction LR subgraph Query["Agent-native interface"] direction TB Users["Agents + humans"]:::mono subgraph Tooling["Tool call"] direction LR Criteria["Routing constraints<br/>domain, privacy, citations,<br/>freshness, auth, limits"]:::mono Tools["MCP tools<br/>rag_find_servers<br/>rag_get_server<br/>rag_list_categories<br/>rag_explain_score"]:::mono end Users --> Criteria --> Tools end subgraph Subregistry["Subregistry (read-only)"] direction TB subgraph Ingest["Ingest"] direction LR Sources["Upstream MCP registries<br/>(official + optional)"]:::mono Sync["Sync + normalize<br/>(stable schema)"]:::mono Catalog["Enriched catalog<br/>(servers + versions)"]:::mono Sources --> Sync --> Catalog end subgraph Enrich["Enrich (adds value)"] direction LR Cap["Structured metadata<br/>domain: docs|code|web|mixed<br/>retrieval: dense|sparse|hybrid (+rerank)<br/>freshness: static|continuous (max lag)<br/>grounding: citations|provenance<br/>privacy/auth: local|remote + req|optional<br/>limits: top_k|rate|max ctx"]:::mono Trust["Trust signals (lightweight)<br/>status, reachability,<br/>schema stability, reports"]:::mono end Catalog --> Cap Catalog --> Trust end end subgraph Selection["Selection (the added value)"] direction LR Router["Router<br/>match + rank + explain"]:::mono Ranked["Ranked candidates<br/>+ reasons + connect info"]:::mono Retrieval["Chosen retrieval MCP server(s)<br/>(do retrieval)"]:::mono Router --> Ranked --> Retrieval end Tools --> Router Catalog --> Router %% Keep the layout without adding a third visible "box" around Inputs. style Inputs fill:#ffffff,stroke:#ffffff,stroke-width:0px
- apps/api: REST API + MCP registry-compatible endpoints + ingestion worker
- apps/mcp-remote: Remote MCP server (Streamable HTTP)
- packages/mcp-local: Local MCP server (stdio)
- packages/shared: Zod schemas + shared types
- docs: docs + Firebase Hosting static assets
cp .env.example .env corepack enable pnpm -r install pnpm -r dev
Optional: setOPENAI_API_KEYin.env(see.env.example) to enablesemantic searchlocally;GET /healthwill show"embeddings": true.
API:http://localhost:3000MCP remote:http://localhost:4000/mcp
curl -X POST http://localhost:3000/internal/ingest/run \ -H "Content-Type: application/json" \ -H "X-Ingest-Token: $INGEST_TOKEN" \ -d '{"mode":"full"}'
claude mcp add --transport http ragmap https://<your-mcp-domain>/mcp
- GET /embed— embeddable “Search RAG MCP servers” widget (iframe; query params:q,limit)
- GET /health(includesembeddings: true|falsewhen semantic search is on/off)
- GET /readyz
- GET /v0.1/servers
- GET /v0.1/servers/:serverName/versions
- GET /v0.1/servers/:serverName/versions/:version(supportslatest)
- GET /rag/search
- GET /rag/top(default sorted recommendations;limitmax50)
- GET /rag/install
- GET /rag/stats
- GET /rag/categories
- GET /api/stats(public usage aggregates; no PII)
- GET /api/usage-graph(HTML chart of usage)
- POST /internal/ingest/run(protected)
For hostedragmap-api.web.app,/internal/*routes are not exposed publicly.
- q(string)
- categories(comma-separated)
- minScore(0-100)
- transport(stdioorstreamable-http)
- registryType(string)
- hasRemote(trueorfalse— only servers with a remote endpoint)
- reachable(true— only servers that were recently probe-checked as reachable via streamable-http/SSE)
- reachableMaxAgeHours(optional, only withreachable=true— keep only results checked within N hours)
- citations(true— only servers that mention citations/grounding in metadata)
- localOnly(true— only stdio, no remote)
API_BASE_URL=https://ragmap-api.web.app ./scripts/smoke-public.sh MCP_URL=https://ragmap-api.web.app/mcp ./scripts/smoke-mcp.sh
- docs/DISCOVERY-LINK-CONVENTION.md— optionaldiscoveryServicein server.json so clients can show “Discover more”
- docs/AGENT-USAGE.md—for agents:discovery, REST API, MCP install (no human intervention)
- docs/DEPLOYMENT.md
- docs/OVERVIEW.md
- docs/DATA_MODEL.md
- docs/PRIVACY.md
- docs/PUBLISHING.md
- docs/GLAMA-CHECKLIST.md
- docs/GLAMA-DOCKERFILE.md
- scripts/glama-score-status.sh— print public Glama score flags (inspectable/release/usage)
Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.
Lightning-fast RAG for AI agents. 4-layer fusion (vector, BM25, graph, metadata), ONNX Runtime, sub-200ms search, no PyTorch.
RAG Search over your content powered by Inkeep
Production-ready RAG out of the box to search and retrieve data from your own documents.
An MCP server providing semantic search capabilities for APLCart data.
MCP server for Christian scholarship and research — scripture, Greek/Hebrew word data, cross-references, patristic texts, and semantic search,
A self-hosted MCP server that indexes documentation from various sources and serves it to AI Agents with semantic search.
Access and search EPUB ebook collections using semantic vector search.
Provides full-text and semantic search over structured and unstructured data using Azure Cognitive Search.
Search a personal knowledge vault using hybrid semantic and keyword matching.
local-first semantic search in Lojban dictionaries
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




