Context7 Enhanced 是一个功能强大的 MCP (Model Context Protocol) 服务器,专为 AI 智能开发助手设计。它提供了完整的开发辅助工具链,包括:实时文档获取、对话管理、经验沉淀、技术栈检测和底层原理审计等功能。
在 Vibe Coding 时代,AI 能帮你快速写出代码,但你不应该失去对底层原理的理解。Context7 Enhanced 的目标是:
让你在享受 AI 编程效率的同时,保持对项目底层架构的完全掌控。
| 特性 | 描述 |
|---|---|
| 📚 实时文档获取 | 获取最新的库文档、API 参考和代码示例,告别过时信息 |
| 💬 对话记录与管理 | 完整记录开发过程中的所有对话,支持历史回溯和去重 |
| 🧠 经验管理系统 | 自动沉淀和复用开发经验,避免重复踩坑 |
| 🛠️ 技术栈检测 | 智能识别项目使用的框架、语言和版本 |
| 📊 会话洞察分析 | 自动分析 Bug 修复、功能开发等结构化洞察 |
| 🔬 底层原理审计 | 深度剖析代码背后的 OS 行为、内存模型和抽象泄漏点 |
| 🗄️ 本地存储 | 基于 Prisma + SQLite,数据完全本地化,保护隐私 |
- Node.js >= v18.0.0
- 支持 MCP 协议的 AI 编辑器:Cursor、VS Code、Windsurf 等
- Context7 API Key(可选,用于更高速率限制和私有仓库访问)
如果您是从源码安装,请按以下步骤操作:
git clone https://github.com/your-repo/context7-enhanced.git
cd context7-enhanced
npm install数据库文件默认存储在用户主目录 ~/.context7/context7.db。
# 设置 DATABASE_URL 并推送 Schema
# Windows PowerShell:
$env:DATABASE_URL="file:C:/Users/YourUsername/.context7/context7.db"
npx prisma db push
# Linux/macOS:
DATABASE_URL="file:$HOME/.context7/context7.db" npx prisma db pushnpm run build
# 或者
npx tsc打开 Cursor 设置:Settings > Features > MCP,点击 Edit in settings.json,添加以下配置:
{
"mcpServers": {
"context7-enhanced": {
"command": "node",
"args": [
"C:/Users/YourUsername/path/to/context7-enhanced/dist/index.js",
"--transport",
"stdio"
],
"env": {
"DATABASE_URL": "file:C:/Users/YourUsername/.context7/context7.db"
}
}
}
}注意: 请将路径替换为您实际的项目路径和用户名。
重启 Cursor 后,在 Settings > Features > MCP 中应该能看到 context7-enhanced 服务器显示为绿色状态,并显示 "Found 12 tools"。
{
"mcpServers": {
"context7-enhanced": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}Context7 Enhanced 提供以下 12 个 MCP 工具,覆盖开发全生命周期:
| 工具名 | 功能描述 |
|---|---|
resolve-library-id |
解析库名称为 Context7 兼容的库 ID。支持模糊匹配和智能推荐。 |
get-library-docs |
根据库 ID 获取最新的官方文档、API 参考和代码示例。支持 code(代码示例)和 info(概念指南)两种模式。 |
使用示例:
用户: "帮我查一下 Next.js 的路由文档"
Agent: 1. 调用 resolve-library-id("nextjs") → 获取 /vercel/next.js
2. 调用 get-library-docs("/vercel/next.js", topic="routing") → 返回最新文档
| 工具名 | 功能描述 |
|---|---|
record-conversation |
记录单条对话消息(用户或助手)。自动检测错误信息并创建错误记录。 |
get-conversation-history |
获取历史对话列表,支持按项目、错误状态、日期等条件过滤。 |
get-conversation-details |
获取特定会话的完整详情,包括所有消息、错误和解决方案。 |
process-session-insights |
批量记录对话消息(自动去重),并存储结构化的会话洞察(Bug 修复、功能开发、技术栈)。 |
使用示例:
用户: "请分析本次会话,记录我们解决的问题"
Agent: 调用 process-session-insights(sessionId, messages, insights)
→ 批量存入 13 条消息,保存 1 个 Bug 修复 + 2 个功能开发记录
| 工具名 | 功能描述 |
|---|---|
search-experiences |
搜索本地知识库中的相关开发经验、Bug 修复记录和最佳实践。支持按技术栈和类别过滤。 |
get-experience-details |
获取特定经验的完整详情,包括问题描述、解决方案和代码片段。 |
auto-generate-experience |
从已完成的对话中自动提取经验,生成可复用的知识条目。 |
使用示例:
用户: "之前遇到过类似的 Prisma 错误吗?"
Agent: 调用 search-experiences("Prisma table not found")
→ 返回 3 条相关经验,包括解决方案摘要
| 工具名 | 功能描述 |
|---|---|
detect-tech-stack |
自动分析项目目录,检测使用的框架、语言、版本和子分类(SSR/SPA 等)。 |
initialize-project-context |
检查并创建 .cursorrules 配置文件,自动设置 PowerShell 默认终端和 Context7 工作流规则。 |
使用示例:
用户: (打开新项目)
Agent: 自动调用 initialize-project-context(projectPath)
→ 创建 .cursorrules,配置默认 Shell 和 AI 行为规范
| 工具名 | 功能描述 |
|---|---|
get-architecture-audit-guidelines |
获取深度的底层原理审计指南。让 AI 在输出代码的同时,剖析 OS 行为、内存模型、抽象泄漏点等。 |
使用场景:
- 理解一行
.fit()背后触发的完整训练流程 - 分析 SQL 查询的实际执行路径
- 识别"声明式 API"背后隐藏的命令式复杂度
使用示例:
用户: "帮我实现一个 Python 多线程爬虫,并进行底层原理分析"
Agent: 1. 调用 get-architecture-audit-guidelines() → 获取审计框架
2. Part 1: 输出可运行代码
3. Part 2: 输出《底层原理解释》文档,包含 GIL 锁机制、线程调度、I/O 等待模型等
| 组件 | 技术选型 |
|---|---|
| 运行时 | Node.js + TypeScript |
| 协议层 | Model Context Protocol (MCP) SDK |
| 数据库 | Prisma ORM + SQLite |
| 传输层 | stdio / HTTP (可选) |
context7-enhanced/
├── src/
│ ├── index.ts # MCP Server 入口,注册所有工具
│ └── lib/
│ ├── api.ts # Context7 文档 API 调用
│ ├── conversation-recorder.ts # 对话记录与批量处理逻辑
│ ├── database.ts # Prisma 客户端初始化
│ ├── deep-dive-prompt.ts # 底层原理审计提示词
│ ├── encryption.ts # 数据加密模块
│ ├── experience-manager.ts # 经验搜索与生成
│ ├── project-initializer.ts # 项目配置初始化
│ ├── tech-stack-detector.ts # 技术栈检测
│ ├── types.ts # 类型定义
│ └── utils.ts # 工具函数
├── prisma/
│ └── schema.prisma # 数据库 Schema 定义
├── dist/ # 编译后的 JS 文件
├── package.json
└── tsconfig.json
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ TechStack │────▶│ Project │────▶│ Conversation │
│ (技术栈分类) │ │ (项目) │ │ (对话会话) │
└─────────────────┘ └─────────────────┘ └────────┬────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Message │ │ Error │ │ Solution │
│ (消息) │ │ (错误记录) │ │ (解决方案) │
└─────────────────┘ └─────────────────┘ └────────┬────────┘
│
▼
┌─────────────────┐
│ Experience │
│ (经验总结) │
└─────────────────┘
┌──────────────────────────────────┐
│ 用户发送消息 │
└───────────────┬──────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Agent 收到 MCP Server 的 System Prompt │
│ (包含 MANDATORY EXECUTION LOOP 指令) │
└───────────────┬─────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ 1. RECORD: 调用 record-conversation 记录用户消息 │
└───────────────┬──────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 2. ACT: 执行任务 │
│ - 如需文档 → resolve-library-id → get-library-docs │
│ - 如需经验 → search-experiences │
│ - 如需深度分析 → get-architecture-audit-guidelines │
└───────────────┬─────────────────────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ 3. RECORD: 调用 record-conversation 记录助手回复 │
└───────────────┬──────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────┐
│ 4. (可选) 会话结束时: 调用 process-session-insights │
│ 批量存储洞察并生成 Experience │
└──────────────────────────────────────────────────────────┘
使用 Prisma Studio 查看数据库内容:
# 在项目根目录运行
npx prisma studio浏览器会自动打开 http://localhost:5555,您可以直接查看和编辑所有表数据。
注意: 确保
.env文件中的DATABASE_URL指向正确的数据库路径 (file:~/.context7/context7.db)。
| 变量名 | 描述 | 默认值 |
|---|---|---|
DATABASE_URL |
SQLite 数据库路径 | file:~/.context7/context7.db |
CONTEXT7_API_KEY |
Context7 API 密钥 (可选) | - |
CLIENT_IP_ENCRYPTION_KEY |
IP 加密密钥 | 内置默认值 |
node dist/index.js [options]
Options:
--transport <stdio|http> 传输方式 (默认: stdio)
--port <number> HTTP 端口 (仅 http 模式, 默认: 3000)
--api-key <key> Context7 API 密钥当 Agent 首次与新项目交互时,会自动调用 initialize-project-context 创建 .cursorrules 文件,内容包括:
- 终端设置: 默认使用 PowerShell
- 工作流规范:
- 启动阶段: 检测技术栈、加载相关经验
- 开发阶段: 严禁臆造,必须查文档
- 全程执行: 每一轮对话必须记录
- 收尾阶段: 自动生成可复用经验
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开 Pull Request
- Model Context Protocol - MCP 协议规范
- Context7 - 文档 API 服务
- Prisma - 现代数据库工具链
