使用说明
RAGMap(RAG MCP注册表查找器)
试试看: https://ragmap-api.web.app/browse/ 从这里开始: https://github.com/khalidsaidi/ragmap/discussions/17
RAGMap是一个轻量级的MCP注册表兼容子区+MCP服务器,专注于 RAG相关MCP服务器.
它
- 引入官方MCP注册处,丰富RAG使用案例的记录,并为API子注册处提供服务。
- 公开MCP服务器(远程流式HTTP+本地stdio),以便代理可以搜索/过滤RAG MCP服务器。
地图(ragmap)
MapRag是一个用于检索的发现+路由层。 它帮助代理人和人类回答: 考虑到我的限制,我应该使用哪个检索MCP服务器来执行此任务?
RAGMap确实如此 不 自己检索。它对具有检索功能的服务器进行索引和丰富,然后将您路由到正确的工具/服务器。
安装后你会得到什么(纯英语)
- 有 发现/路由工具 (
rag_find_servers,rag_get_server,rag_list_categories,rag_explain_score). - RAGMap帮助您找到适合您的任务和约束的最佳检索服务器。
- 然后,您的代理连接到所选服务器进行实际检索。
RAGMap确实如此 不:
- 自动获取您的私人文档。
- 托管您的个人矢量数据库。
- 更换您的端到端RAG管道。
如果您需要对自己的数据进行检索,请使用支持摄取/索引流的RAGMap结果检索服务器(或您自己的服务器)。
新鲜度和摄取量
- 托管的RAGMap按计划更新其索引。新发布/更改的服务器可能会出现一些延迟。
- 大多数用户都这样做 不 使用托管服务时自己运行摄取。
- 如果您需要更严格的新鲜度控制或私有索引行为,请自行托管并运行自己的摄入计划(
docs/DEPLOYMENT.md).
特征: 注册兼容的API; 语义+关键字搜索 (当 OPENAI_API_KEY 设置,例如从env或部署的秘密管理器);类别和 ragScore;筛选条件 hasRemote, reachable (探测可流式传输的http/SSE), citations, localOnly, transport, minScore, categories. 人工浏览UI 在 Ragmap-ai.web.app/浏览 --搜索、筛选、复制Cursor/Claude配置。MCP工具: rag_find_servers, rag_get_server, rag_list_categories, rag_explain_score.
快速入门
要求:
curl和jq
1) 可到达的顶级检索器(24小时内检查)
curl -s "https://ragmap-api.web.app/rag/top?hasRemote=true&reachable=true&reachableMaxAgeHours=24&serverKind=retriever&limit=25" | jq .
2) 使用信任筛选器进行搜索(最近可访问)
curl -s "https://ragmap-api.web.app/rag/search?q=rag&hasRemote=true&reachable=true&reachableMaxAgeHours=24&limit=10" | jq .
3) 获取服务器的安装配置
提示:URL编码包含以下内容的名称 /.
curl -s "https://ragmap-api.web.app/rag/install?name=ai.filegraph%2Fdocument-processing" | jq .
4) 检查新鲜度和覆盖率
curl -s "https://ragmap-api.web.app/rag/stats" | jq .
5) 遥测使用情况摘要
curl -s "https://ragmap-api.web.app/api/stats" | jq .
完整概述: docs/OVERVIEW.md
发布历史: CHANGELOG.md
建筑
Mermaid source
%%{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
Monorepo布局
apps/api:REST API+MCP注册兼容端点+摄入工作者apps/mcp-remote:远程MCP服务器(可流式HTTP)packages/mcp-local:本地MCP服务器(stdio)packages/shared:Zod模式+共享类型docs:docs+Firebase托管静态资产
本地开发人员
cp .env.example .env
corepack enable
pnpm -r install
pnpm -r dev
可选:设置 OPENAI_API_KEY 在 .env (参见 .env.example)以启用 语义搜索 当地; GET /health 将显示 "embeddings": true.
API http://localhost:3000
MCP远程: 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"}'
MCP使用
远程(流式HTTP):
claude mcp add --transport http ragmap https://<your-mcp-domain>/mcp
本地(stdio、npm):
npx -y @khalidsaidi/ragmap-mcp@latest
本地(stdio):
pnpm -C packages/mcp-local dev
关键端点
GET /embed--可嵌入的“搜索RAG MCP服务器”小部件(iframe;查询参数:q,limit)GET /health(包括embeddings: true|false当语义搜索打开/关闭时)GET /readyzGET /v0.1/serversGET /v0.1/servers/:serverName/versionsGET /v0.1/servers/:serverName/versions/:version(支持latest)GET /rag/searchGET /rag/top(默认排序建议;limit最大50)GET /rag/installGET /rag/statsGET /rag/categoriesGET /api/stats(公共使用总量;无个人身份信息)GET /api/usage-graph(HTML使用情况图表)POST /internal/ingest/run(受保护)
对于托管 ragmap-api.web.app, /internal/* 路线不会公开。
GET /rag/search 查询参数:
q(字符串)categories(逗号分隔)minScore(0-100)transport(stdio或streamable-http)registryType(字符串)hasRemote(true或false--仅限具有远程端点的服务器)reachable(true--只有最近被探测检查为可通过流式传输http/SSE访问的服务器)reachableMaxAgeHours(可选,仅适用于reachable=true--仅在N小时内检查结果)citations(true--仅在元数据中提及引用/基础的服务器)localOnly(true--只有stdio,没有远程)
冒烟测试
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--可选discoveryService在server.json中,这样客户端就可以显示“发现更多”docs/AGENT-USAGE.md— 对于代理商: 发现、REST API、MCP安装(无人工干预)docs/DEPLOYMENT.mddocs/OVERVIEW.mddocs/DATA_MODEL.mddocs/PRIVACY.mddocs/PUBLISHING.mddocs/GLAMA-CHECKLIST.mddocs/GLAMA-DOCKERFILE.mdscripts/glama-score-status.sh--打印公共Glama评分标志(可检查/发布/使用)