@ragrabbit/mcp
访问 RagRabbit 开源 AI 站点搜索索引的任何文档。
README
<h1 style="font-weight:normal"> <a href="https://ragrabbit.com"> <img src="./apps/saas/public/logo.svg" alt="RagRabbit" width=35> </a> RagRabbit <a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmadarco%2Fragrabbit&env=OPENAI_API_KEY,AUTH_USERNAME,AUTH_PASSWORD,AUTH_SECRET&envDescription=Get%20an%20OpenAI%20Api%20Key%20and%20set%20AUTH_USERNAME%20and%20AUTH_PASSWORD%20to%20the%20desired%20credentials%20to%20secure%20the%20admin%20section.%20Also%20be%20sure%20to%20enable%20the%20Postgres%20database%20integration&envLink=https%3A%2F%2Fplatform.openai.com%2Fapi-keys&demo-title=RagRabbit%20-%20AI%20Site%20Search%20and%20LLM.txt&demo-description=Site%20AI%20Search%20and%20LLM.txt%20in%20Minutes%2C%20Open%20Source%20with%201%20Click%20Deploy%20on%20Vercel.&demo-url=https%3A%2F%2Fragrabbit.vercel.app%2F&demo-image=https%3A%2F%2Fragrabbit.vercel.app%2Fopengraph-image.png&stores=%5B%7B%22type%22%3A%22postgres%22%7D%5D&root-directory=apps/saas"><img src="https://img.shields.io/badge/deploy%20on-vercel-black.svg"></a> <a href="https://github.com/madarco/ragrabbit/blob/master/license.md"><img src=https://img.shields.io/github/license/madarco/ragrabbit.svg?colorB=ff0000></a> <a href="https://www.npmjs.com/package/@ragrabbit/mcp"><img src="https://img.shields.io/npm/d18m/%40ragrabbit%2Fmcp?label=npm" /></a> <img src="https://img.shields.io/github/stars/madarco/ragrabbit" /> </h1>
自托管站点 AI 搜索,LLMs.txt,MCP 服务器,可抓取您的内容。在 Vercel 上一键部署。 <br>
<p align="center">
</p>
工作原理
RagRabbit 是一个 Next.js Turborepo 应用程序,它使用 Llamaindex 和 pgVector。
特性
- 💬 聊天小部件:可嵌入的 AI 聊天代理和即时搜索
- 🕸️ 网站爬虫:使用 pgVector 和 PostgreSQL 抓取和索引页面
- 📄 LLMs.txt 生成:完全可自定义,带有 ToC 重新排序
- 🔌 MCP 服务器:
npx @ragrabbit/mcp从 Claude Desktop 和 Cursor IDE 访问您的文档 - 🛠️ 灵活:身份验证、开源、API 密钥访问
- 🚀 轻松部署:在 Vercel 上一键设置
集成:
演示

安装
要在 Vercel 上安装:
要求:
- Node.js 20.x
- 带有 pgVector 的 PostgreSQL
- OpenAI API 密钥
- (可选)Trigger.dev API 密钥
配置
设置以下环境变量:
- OPENAI_API_KEY
对于用户名/密码登录:
- ADMIN_USER
- ADMIN_PASSWORD
对于电子邮件登录:
- RESEND_AUTH=true
- 要限制对这些电子邮件的访问:RESEND_ALLOWED_EMAILS="test@test.com,foo@bar.com"
- 要不发送电子邮件,而是记录登录链接(在 Vercel 日志中):SIMULATE_EMAILS=true
有关完整列表,请参见 .env.example。
如何使用
使用索引部分添加要索引的新 url/网站,可以是单个 url 或要递归抓取的网站:

然后启动 Job Runner(保持选项卡打开直到完成)

在 LLM.txt 部分,您可以预览生成的 LLM.txt 文件:

然后,您可以使用以下代码段将小部件嵌入到您的网站中:
聊天按钮
在页面底部嵌入一个按钮:
<script src="https://<your deployed app>/widget.js"></script>

聊天小部件
在页面中的任意位置插入搜索输入:

<script src="https://ragrabbit.com/widget.js?type=search"></script>
<ragrabbit-search></ragrabbit-search>
与 React.js 一起使用
"use client";
import Script from "next/script";
export function RagRabbitSearch() {
return (
<>
<Script src="/widget.js?type=search" strategy="lazyOnload" />
);
}
MPC 服务器
MCP 服务器允许任何受支持的 AI 客户端使用语义搜索从您的文档中检索页面。
Claude Desktop
添加一个自定义 mcp 服务器,其中包含您的产品名称,以便 Claude AI 在查找有关它的信息时可以使用它。
在 claude_desktop_config.json 中(Claude -> 设置 -> 开发者 -> 编辑配置)
{
"mcpServers": {
"<name_of_your_documentation_no_spaces>": {
"command": "npx",
"args": ["@ragrabbit/mcp", "http://<RagRabbit install>/", "<name of your documentation>"]
}
}
}
在 Cursor IDE 中
转到 Cursor -> 设置 -> Cursor 设置 -> MCP
并添加一个类型为 command 的新 MCP,命令为:
npx @ragrabbit/mcp", "http://<RagRabbit install>/", "<name of your documentation>"
参数:
ragrabbit-url:(必需)您的 RagRabbit 实例的基本 URL,例如 https://my-ragrabbit.vercel.com/name:(必需)文档搜索服务的自定义名称(默认为“RagRabbit”),以便 AI 知道在查找信息时使用它
配置选项
聊天按钮
您可以通过将以下参数添加到 widget.js 脚本标记来配置聊天按钮:
buttonText
<script src="https://ragrabbit.com/widget.js?buttonText=Ask%20AI"></script>
搜索小部件
您可以通过添加以下参数并使用 mountSearch 调用来配置搜索小部件:
searchPlaceholder
<div id="search-container"></div>
<script>
window.mountSearch("search-container", { searchPlaceholder: "Search documentation..." });
</script>
集成
Fumadocs
创建一个组件来替换搜索对话框:
pnpm add @ragrabbit/search-react
"use client";
import type { SharedProps } from "fumadocs-ui/components/dialog/search";
import { RagRabbitModal } from "@ragrabbit/search-react";
export default function SearchDialog({ open, onOpenChange }: SharedProps) {
return <RagRabbitModal
domain="http://localhost:3000/"
open={open}
onOpenChange={onOpenChange}
/>;
}
然后在 layout.tsx 中设置它:
<RootProvider
search={{
SearchDialog,
}}
>
...
</RootProvider>
(可选)添加浮动聊天按钮:
"use client";
import { RagRabbitChatButton } from "@ragrabbit/search-react";
export default function ChatButton() {
return <RagRabbitChatButton domain="http://localhost:3000/" />;
}
并将其添加到 layout.tsx:
<body className="flex flex-col min-h-screen">
<ChatButton />
...
开发
# 启动数据库(需要 Docker)
pnpm dev:utils # 启动带有 pgvector 的 postgresql、Storybook 和 Drizzle ORM Studio
# 启动应用程序
cd apps/saas
pnpm dev
目录结构:
RagRabbit 是一个带有 Turborepo 的 monorepo,一个 Next.js 应用程序和一个具有独立包的模块化设计。
apps/
├── docs -> 文档站点
├── saas -> 主应用程序
└── web -> 网站
packages/
├── db -> 带有 Drizzle ORM 的数据库
├── auth -> 带有 Auth.js 的身份验证
├── core -> 共享实用程序
├── design -> 设计系统
├── rag -> 带有 LlamaIndexTS 的 LLM 和 RAG 包
├── jobs -> 带有 Trigger.dev 的作业运行器
└── storybook -> 一个 Next.js Storybook 应用程序
.cursorrules -> 使用所有位置微调的 Cursor 规则,以使用 monorepo
作者
Marco D'Alia - @madarco - Linkedin
许可证
MIT
推荐服务器
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。
any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
AI 图像生成服务
可以用于 Cursor 集成 MCP 服务器。
mcp-perplexity
Perplexity API 的 MCP 服务器。
MCP Web Research Server
一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。