先离线 MDN Web文档 RAG-MCP服务器已准备好使用混合矢量(1024-d)和全文(BM25)检索进行语义搜索。
示例
内容
数据集涵盖了核心MDN文档部分,包括:
- Web API
- JavaScript
- 超文本标记语言
- 层叠样式表
- 可缩放矢量图形
- 超文本传输协议
看 数据集仓库 请访问HuggigFace了解更多详情。
用法
1.下载数据集和嵌入模型
npx -y @deepsweet/mdn@latest download2.设置RAG-MCP服务器
{
"mcpServers": {
"mdn": {
"command": "npx",
"args": [
"-y",
"@deepsweet/mdn@latest",
"server"
],
"env": {}
}
}
}\[!提示\] 移除 @latest 为了获得完整的离线体验,但请记住,这将缓存一个固定版本,而不会自动更新。这 stdio 服务器将生成 llama.cpp 在引擎盖下,加载嵌入模型(~655 MB RAM/VRAM),并查询数据集——一切按需进行。
设置
| 环境变量 | 默认值 | 说明 |
|---|---|---|
MDN_DATASET_PATH | HuggingFace缓存 | 自定义数据集目录路径 |
MDN_MODEL_PATH | HuggingFace缓存 | 自定义模型文件路径 |
MDN_MODEL_TTL | 1800 | 具有嵌入模型的llama.cpp应在内存中加载多长时间,以秒为单位; 0 防止卸载 |
MDN_QUERY_DESCRIPTION | Natural language query for hybrid vector and full-text search | 自定义搜索查询描述,以防您的LLM在询问MCP工具时表现不佳 |
MDN_SEARCH_RESULTS_LIMIT | 3 | 总搜索结果限制 |
HF_TOKEN | 可选HuggingFace访问令牌,有助于偶尔的“HTTP 429太多请求” |
做
- \[x\] 使用GitHub Actions每月自动更新和上传数据集工件
- \[x\] 自动修剪旧数据集修订版,如
hf cache prune - \[\]找出更好的查询描述,这样LLM就不会过度生成关键字
条款
许可证
RAG-MCP服务器本身和处理脚本在MIT下可用。
