Token导航 LogoToken导航TokenDH.com
Supernova MCP Rag logo
搜索检索stdio官方级别未说明来源级核验

Supernova MCP Rag

MCP Server

@modelcontextprotocol/inspector

一个基于模型上下文协议(MCP)和检索增强生成(RAG)的服务,用于回答关于虚构SuperNova文档的问题,适用于开发者工具中的上下文文档搜索。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
文档检索开发工具TypeScriptCursor搜索CursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

shabib87

提供方

shabib87

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node mcp-rag-server/dist/index.js

详细介绍

SuperNova MCP RAG Monorepo

一个展示模型上下文协议(MCP)服务器和检索增强生成(RAG)的monorepo,用于回答有关虚构SuperNova文档的问题。

  • 文档是虚构的产品文档。它是一组包含AI生成内容的HTML文件。
  • 文档被处理成块并存储在矢量数据库中。
  • 该服务器使用Node.js构建,并使用免费的HuggingFace嵌入进行语义搜索。

随附博客文章: 构建MCP RAG服务器:通过上下文文档搜索增强开发人员工具

架构概述

flowchart TD
    User[User Question in Cursor] -->|MCP Protocol| MCPServer[MCP RAG Server]
    MCPServer -->|Triggers| RAG[RAG Pipeline]
    RAG -->|Loads & Chunks| Docs[SuperNova HTML Docs]
    RAG -->|Embeds| Embeddings[HuggingFace Embeddings]
    Embeddings -->|Stores| VectorStore[In-Memory Vector Store]
    MCPServer -->|Semantic Search| VectorStore
    VectorStore -->|Relevant Chunks| MCPServer
    MCPServer -->|Answer| User

Monorepo结构

  • mcp-rag-server/ --带RAG管道的MCP服务器(Node.js、TypeScript)
  • monorepo-sample-package/ --示例包(用于monorepo演示)
  • docs/ --SuperNovaStorybook Mobile Swift的虚拟HTML文档

快速开始

先决条件

  • Node.js 18+
  • Yarn(用于工作空间支持)

再进行

yarn install

环境设置

创建一个 .env 文件在 mcp-rag-server/:

HUGGINGFACE_API_KEY=your_huggingface_token_here

构建并运行MCP RAG服务器

#install
yarn install
#list workspace

yarn workspaces info

# Build
yarn workspace mcp-rag-server build

# Start
yarn workspace mcp-rag-server start
  • 对于开发(热重新加载):
  yarn dev
注意:服务器可能需要一段时间来准备向量存储。您可以在日志中看到进度。

运作原理

  • MCP协议: 暴露工具(search_docs)用于文档的语义搜索。
  • RAG管道:

- 加载并解析 docs/SuperNovaStorybook-Mobile-Swift/*.html,即该目录中的所有HTML文件。 - 将文本分割成块 - 使用HuggingFace推理API嵌入块 - 存储在内存向量存储(LangChain)中 - 通过语义相似度搜索回答查询

使用游标

  1. 打开的游标
  2. 在设置中添加新的MCP服务器→ MCP:

- 类型:MCP(标准) - 命令: node (从 mcp-rag-server) - 论据: /absolute-path-to/supernova-mcp-rag/mcp-rag-server/dist/index.js - 确保 .env 是用您的HuggingFace API密钥设置的

  1. 在Cursor聊天中询问有关SuperNova文档的问题

mcp.json示例

{
  "mcpServers": {
    "mcp-rag-server": {
      "command": "node",
      "args": [
        "/absolute-path-to/supernova-mcp-rag/mcp-rag-server/dist/index.js"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

cursor-example

使用MCP检查器和简单浏览器进行调试

MCP检查员 是一个交互式开发工具,旨在帮助您实时测试和调试MCP服务器。

如何使用MCP检查器

  1. 在本地启动MCP服务器。
  1. 从monorepo的根目录使用服务器运行Inspector:
npx @modelcontextprotocol/inspector node mcp-rag-server/dist/index.js
  1. 打开检查器Web UI:

检查器将打印一个URL,例如: http://127.0.0.1:6274/

  1. 在VS Code Simple Browser或任何web浏览器中打开此URL:
  • 在光标/VS代码中,打开命令面板(Ctrl+Shift+PCmd+Shift+P),类型 Simple Browser: Show,并输入URL。
  • 或者,在Chrome、Firefox或任何浏览器中打开URL。
  1. 与您的MCP服务器交互:
  • 发送测试查询。
  • 检查工具调用和响应。
  • 实时调试和验证MCP服务器的行为。

为什么要使用简单浏览器?

  • 某些浏览器(如Safari)可能会因仅HTTPS模式而阻止HTTP请求。
  • VS Code的简单浏览器避免了这些限制,便于本地开发。

simple-browser-example

在将MCP检查器与Cursor等客户端完全集成之前,将其与Simple Browser一起使用是调试和验证MCP服务器的一种强大方法。

______________________________________________________________________

故障排除

  • 确保您的HuggingFace API密钥有效且不受费率限制
  • 如果服务器无法启动,请检查 .env 和日志
  • 对于依赖性问题,请使用 yarn install 从根开始

性能考虑因素和限制

当前的实施方式是如何运作的

  • 文档文件夹(和子文件夹)中的所有HTML文件都是递归发现和处理的。
  • 解析每个HTML文件,提取其文本,然后将其拆分为重叠的块进行语义搜索。
  • 每个区块的嵌入都是使用拥抱面部推断API生成的。
  • 所有嵌入都存储在内存中的向量存储中,以便在查询过程中快速检索。

性能选择

  • 内存矢量存储:

适用于中小型文档集,无外部依赖,但由于内存限制,不适合非常大的语料库。

  • 动态嵌入:

在服务器启动时为所有块生成嵌入。这使得初始启动速度变慢,但确保了所有内容都是可搜索的。

  • 顺序处理:

为了简单和可靠,文件和嵌入被一个接一个地处理。

局限性

  • 启动时间:

随着文档集的增长,服务器将需要更长的时间来启动,因为在提供查询之前,必须处理和嵌入所有文件。

  • 拥抱面API速率限制:

嵌入许多区块可以快速达到自由层API费率限制(请参阅拥抱面API定价和限制)。如果超出配额,您可能会遇到延迟或错误。

  • 内存使用情况:

内存中的向量存储不适合大型文档集或生产规模的部署。

  • 无持久索引:

每次服务器重启时,矢量存储都会从头开始重建;没有缓存或持久索引。

  • 单线程处理:

当前所有处理都是按顺序进行的。对于大量文件,并行或批处理可以提高性能,但需要小心处理API限制和错误情况。

拥抱脸API使用和限制

  • 拥抱面部推理API有一个有请求限制的免费层(例如,注册用户每小时300个请求)。
  • API定价和费率限制支持的型号 了解详情。
  • 如果超出配额,您可能会收到429个错误,或者必须等待配额重置。

可能的改进

  • 批量或并行嵌入:

在支持的情况下,批处理嵌入请求或并行处理文件可以加快初始化速度。

  • 持久或外部矢量数据库:

对于大规模或生产使用,考虑使用langchain的向量存储接口将嵌入存储在持久向量数据库中,如Pinecone、Weaviate或Qdrant。

  • 预处理步骤:

将嵌入和索引过程移至单独的构建步骤,以避免服务器启动时间过长。

  • 流初始化:

在向量存储的部分准备就绪后立即提供查询,而不是等待所有文件都被处理。

  • 您还可以利用langchain的api来拥有自己的llm管道。这样,您就可以使用任何您想要的llm,并可以控制响应温度、最大令牌等。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

文档检索开发工具TypeScriptCursor搜索本地部署语义搜索开发者工具RAGMCP协议

支持客户端

CursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP