Skip to content

JCWD123/ContextX

Repository files navigation

Context7 Enhanced - 智能开发助手 MCP 服务器

Cover

MIT licensed

🌟 项目简介

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(可选,用于更高速率限制和私有仓库访问)

方法一:本地开发版安装 (推荐)

如果您是从源码安装,请按以下步骤操作:

1. 克隆仓库并安装依赖

git clone https://github.com/your-repo/context7-enhanced.git
cd context7-enhanced
npm install

2. 初始化数据库

数据库文件默认存储在用户主目录 ~/.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 push

3. 编译 TypeScript

npm run build
# 或者
npx tsc

4. 配置 Cursor

打开 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"
      }
    }
  }
}

注意: 请将路径替换为您实际的项目路径和用户名。

5. 验证安装

重启 Cursor 后,在 Settings > Features > MCP 中应该能看到 context7-enhanced 服务器显示为绿色状态,并显示 "Found 12 tools"。

方法二:使用 NPM 安装 (简化版)

{
  "mcpServers": {
    "context7-enhanced": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

🔧 工具清单 (12 个 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 密钥

📝 .cursorrules 自动配置

当 Agent 首次与新项目交互时,会自动调用 initialize-project-context 创建 .cursorrules 文件,内容包括:

  1. 终端设置: 默认使用 PowerShell
  2. 工作流规范:
    • 启动阶段: 检测技术栈、加载相关经验
    • 开发阶段: 严禁臆造,必须查文档
    • 全程执行: 每一轮对话必须记录
    • 收尾阶段: 自动生成可复用经验

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

📄 许可证

MIT License


🙏 致谢

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors