内容
">
<img src="public/green_circle.png" alt="Doctail logo" width="96" height="96" />
# Doctail
### MCP Rollup Cloud
**停止传输糟糕的代码。向您的AI注入准确的上下文信息。**
选择您的文档 📚 ·; 一键部署 🚀 · 自信构建 💪
统一的文档和MCP服务器,通过单个端点交付。
[](httpsjs.org/) [](https://react.dev/) [](https://www.typescriptlang.org/) [](https://tailwindcss.com/) [](https://www.prisma.io/) [](https://github.com/jlowin/fastmcp) [](https://modelcontextprotocol.io/)
[官网](https://doctail.ai) · [获取Beta访问权限](https://doctail.ai/beta) · [报告错误](https://github.com/Soundpulse/doctail/issues)
</div>
---
## 什么是Doctail?
AI编码助手的好坏取决于它们所获得的上下文信息。当它们臆造过时的API或发明库方法时,通常是因为它们在正确的时间缺少了正确的文档。
**Doctail** 解决了这个问题。选择您的项目所依赖的库和框架,Doctail将它们的文档汇总成一个单一的、可部署的 **Model Context Protocol (MCP)** 端点。指向您的AI工具 — Claude、Cursor、Windsurf或任何MCP兼容的客户端 — 到该端点,它始终会根据准确、进行构建。
> 一个端点。您的项目所需的所有文档。零臆造的API。
## ✨ 功能
- **📚 精选文档库** — 50+集成库和工具(Next.js、Supabase、Stripe、、D、LangGraph、FastMCP等)。
- **🧩 汇总到一个端点** — 将您的项目所需的所有文档源捆绑到一个MCP URL后面。
- **🚀 一键部署** — 预置一个项目并获取一个可立即使用的MCP服务器,无需接触基础设施。
- **🔌 与您的AI配合使用** — 与任何Model Context Protocol客户端(Claude、Cursor、Windsurf、IDE扩展、代理等)无缝兼容。
- **⚡ `llms.txt` 原生支持** — 按需获取 `llms.txt`。
- **自我托管** — MCPDocker镜像和独立的交付。
## 🏗原理
```
Doctail Cloud 您的AI
┌────────┐ ┌──────────────────┐ ┌──────────────┐ 选择 │ │ Next.js 应用 │ │ Claude / │
│ 文档───────▶│ │ │ Cursor / │
└────────┘ (您的汇总) │ Windsurf └────────┬──────── └──────┬───────┘
│ 单CP端点 │
/mcp?project_ref=... │
▼ ┌────────────────── │ -mcp │◀───────────────────┘
│ (FastMCP服务器) │ 获取准确的文档
│ 获取 llms.txt │
└──────────────────┘
```
1. **选择** 您项目中使用的库,位于Doctail应用中。
2. Doctail将您的选择存储为一个 **项目**,并公开一个稳定的 **MCP端点** (`/mcp?project_ref=…`)。
3. 您的AI客户端调用该端点; **`doctail-mcp`** 服务器获取并提供这些库的准确文档。
## 📦 仓库结构
该仓库包含平台的两个部分:
| 路径 | 描述 |
| --- | --- |
| `app/` | Next.js 16 应用 — landing page, beta flow, 和 API 路由 (`/api/instances`, `/api/library-endpoints`, `/mcp`)。 |
| `components/` | 原子设计React UI (`atoms/`, `molecules/`, `organisms/`)。 |
| `lib/` | Prisma 客户端和共享实用工具。 |
| `prisma/` | 数据库模式和种子 (`Library`, `Project`, `ProjectLibrary`)。 |
| `doctail-mcp/` | Python **FastMCP** 服务器,获取 `llms.txt` 文档 — Dockerized,带有 `doctail` CLI。 |
| `scripts/` | 辅助脚本,包括 `init-mcp.sh` 以构建和运行MCP容器。 |
| `public/` | 静态资产和集成图标。 |
## 🚀 入门指南
### 先决条件
- [Node.js](https://nodejs.org/) 20+ 和 [Bun](https://bun.sh/) (或npm / pnpm)
- PostgreSQL 数据库(项目针对 [Supabase](https://supabase.com/))
- [Docker](https://www.docker.com/) 和 [Python](https://www.python.org/) 3.10+ (仅限MCP服务器)
### 1. 克隆和安装
```bash
git clone https://github.com/Soundpulse/doctail.git
cd doctail
bun install
```
### 2. 配置环境
在项目根目录下创建 `.env` 文件:
```bash
# 数据库(Postgre Supabase)
DATABASE_URL://..."
DIRECT_URL="..."
SUPABASE_KEY-supabase-key"
#应用代理到的地址
_ENDPOINT="http://localhost2"
# 事务性电子邮件
RESEND_API_KEY="your-resend-key"
# 应用
NEXT_PUBLIC_BASE_URL="http://localhost:3000"
3. 设置数据库bash
bunx prisma migrate deploy 应用模式
bun run db:seed # 目录
```
###. 运行开发服务器
```bash
bun run dev
[http://localhost:3000](http://localhost:3000) 以查看应用。
## 运行MCP`doctail-m 服务器是一个独立的 [CP](https://github.com/jlowin/fastmcp,获取并提供文档使用Docker(推荐) 构建镜像并将其数据库:
```bash run init-mcp
```
**使用CLI独立运行:**
```bash
cd doctail-mcp
pip install -e .
# 通过HTTP提供库的llms.txt服务
doctail --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt \
--transport http --host 0.0.0.0 --port 8082
```
运行 `doctail --help` 获取所有选项(YAML/JSON配置、允许的域名、超时时间、传输方式)。参见 `doctail-mcp/env.example` 获取其环境变量。
## 🛠️ 技术栈
| 层 | 技术 |
| --- | --- |
| 前端 | Next.js 16, React 19, Tailwind CSS 4, shadcn/ui |
| 后端 | Next.js API 路由, Prisma ORM |
| 数据库 | PostgreSQL (Supabase) |
| MCP 服务器 | Python, FastMCP, httpx, markdownify |
| 电子邮件 | Resend |
| 基础设施 | Docker |
## 🤝 贡献
欢迎贡献!要提出更改:
1. 复刻仓库并创建功能分支(`git checkout -b feature/my-change`)。
2. 进行更改并运行 linter(`bun run lint`)。
3. 对 `main` 打开拉取请求,描述更改内容和原因。
发现了错误或有想法? [打开问题](https://github.com/Soundpulse/doctail/issues)。
## 📄 许可证
© Doctail.ai。保留所有权利。请联系维护者关于使用和许可。
---
<div align="center">
<img src="public/green_circle.png" alt="Doctail" width="40" height="40" />
**为厌倦了AI臆造API的开发者而建。**
[doctail.ai](https://doctail.ai)
</div>