返回市场
MCP上下文7

MCP上下文7

作者:NimbleBrainInc1 星标更新:2025-10-10

项目介绍

Context7 MCP 服务器

提供访问 Context7 API 的 MCP 服务器,用于获取最新的代码文档。

功能

核心能力

  • 文档搜索 - 在数千个库和框架中搜索文档
  • 代码示例 - 获取特定用例的工作代码示例
  • API 参考 - 函数和类的详细 API 文档
  • 代码解释 - 逐行理解代码
  • 故障排除 - 获取错误消息和 bug 的帮助
  • 最佳实践 - 学习推荐模式和反模式
  • 迁移指南 - 升级版本或切换库
  • 库比较 - 比较不同库以适应您的用例
  • 变更日志访问 - 查看发布说明和重大更改

安装

  1. 克隆此仓库
  2. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量:
cp .env.example .env
# 编辑 .env 并添加您的 Context7 API 密钥

配置

获取您的 Context7 API 密钥

  1. 访问 https://context7.com/api
  2. 注册或登录
  3. 生成 API 密钥
  4. 复制密钥并将其添加到您的 .env 文件中

Claude Desktop 配置

{
  "mcpServers": {
    "context7": {
      "command": "fastmcp",
      "args": ["run", "server.py"],
      "env": {
        "CONTEXT7_API_KEY": "your_api_key_here"
      }
    }
  }
}

可用工具

search_documentation

在支持的库中搜索文档。

参数:

  • query (必需):搜索查询
  • language:按语言过滤 (javascript, python, go 等)
  • framework:按框架过滤 (react, django, nextjs 等)
  • limit:最大结果数 (默认:10,最大:50)

示例:

{
  "query": "如何在 React 中使用 useState",
  "framework": "react",
  "limit": 5
}

get_library_docs

获取特定库的文档。

参数:

  • library (必需):库名称
  • version:特定版本 (默认:最新)
  • topic:特定主题或模块

示例:

{
  "library": "react",
  "version": "18.2.0",
  "topic": "hooks"
}

get_code_examples

获取特定用例的代码示例。

参数:

  • library (必需):库名称
  • use_case (必需):您要完成的任务
  • language:编程语言

示例:

{
  "library": "express",
  "use_case": "JWT 身份验证中间件"
}

explain_code

获取代码片段的解释,并附带文档引用。

参数:

  • code (必需):要解释的代码片段
  • language:编程语言 (自动检测)
  • context:附加上下文

示例:

{
  "code": "const [count, setCount] = useState(0);",
  "language": "javascript",
  "context": "React 组件"
}

get_api_reference

获取函数或类的详细 API 参考。

参数:

  • library (必需):库名称
  • api_name (必需):API/函数/类名称
  • version:库版本 (默认:最新)

示例:

{
  "library": "react",
  "api_name": "useState",
  "version": "18.2.0"
}

compare_libraries

比较多个库以适应用例。

参数:

  • libraries (必需):库名称列表
  • use_case (必需):您正在构建的内容
  • language:编程语言

示例:

{
  "libraries": ["react", "vue", "svelte"],
  "use_case": "构建一个待办事项应用"
}

get_migration_guide

获取库或版本之间的迁移指南。

参数:

  • from_library (必需):当前库
  • to_library (必需):目标库
  • from_version:当前版本
  • to_version:目标版本

示例:

{
  "from_library": "react",
  "to_library": "react",
  "from_version": "17.0.0",
  "to_version": "18.0.0"
}

get_best_practices

获取库的最佳实践。

参数:

  • library (必需):库名称
  • topic:特定主题 (性能、安全、测试等)

示例:

{
  "library": "react",
  "topic": "性能"
}

troubleshoot_error

获取错误消息的帮助。

参数:

  • error_message (必需):您看到的错误
  • library:发生错误的库
  • code_context:导致错误的代码

示例:

{
  "error_message": "无法读取未定义属性 'map'",
  "library": "react",
  "code_context": "data.map(item => <div>{item}</div>)"
}

list_supported_libraries

列出所有支持的库。

参数:

  • language:按语言过滤
  • category:按类别过滤

示例:

{
  "language": "python",
  "category": "数据科学"
}

get_changelog

获取变更日志和发布说明。

参数:

  • library (必需):库名称
  • from_version:起始版本
  • to_version:结束版本 (默认:最新)

示例:

{
  "library": "react",
  "from_version": "17.0.0",
  "to_version": "18.2.0"
}

使用示例

搜索文档

{
  "tool": "search_documentation",
  "query": "使用 JWT 进行身份验证",
  "language": "javascript"
}

获取代码示例

{
  "tool": "get_code_examples",
  "library": "pandas",
  "use_case": "根据多个条件筛选数据框"
}

解释复杂代码

{
  "tool": "explain_code",
  "code": "useEffect(() => { fetchData(); }, [id]);",
  "language": "javascript"
}

比较框架

{
  "tool": "compare_libraries",
  "libraries": ["express", "fastify", "koa"],
  "use_case": "REST API 服务器"
}

故障排除错误

{
  "tool": "troubleshoot_error",
  "error_message": "找不到模块 'react'",
  "library": "react"
}

迁移帮助

{
  "tool": "get_migration_guide",
  "from_library": "webpack",
  "to_library": "vite"
}

支持的语言与框架

Context7 支持以下库的文档:

语言

  • JavaScript/TypeScript
  • Python
  • Go
  • Rust
  • Java
  • C#
  • PHP
  • Ruby
  • Swift
  • Kotlin

流行框架

  • Web:React, Vue, Angular, Svelte, Next.js, Nuxt
  • 后端:Express, Django, FastAPI, Spring Boot, Rails
  • 移动:React Native, Flutter, SwiftUI
  • 数据科学:Pandas, NumPy, Scikit-learn, TensorFlow
  • DevOps:Docker, Kubernetes, Terraform, Ansible

使用场景

对于开发者

  • 编码时快速查找文档
  • 找到工作代码示例
  • 理解不熟悉的代码
  • 更快地解决错误
  • 学习最佳实践

对于 AI 代理

  • 提供准确、最新的文档
  • 生成具有正确库使用的代码
  • 帮助调试问题
  • 推荐适当的库
  • 协助迁移和升级

错误处理

服务器处理:

  • 无效的 API 密钥
  • 速率限制
  • 网络超时
  • 无效的库名称
  • 不正确的查询

速率限制

Context7 API 的速率限制取决于您的计划:

  • 免费层:每天 100 次请求
  • 专业层:每天 10,000 次请求
  • 企业层:自定义限制

查看您的用量:https://context7.com/dashboard

最佳实践

  1. 具体明确:尽可能包括库名称和版本
  2. 使用过滤器:通过语言/框架过滤器缩小搜索范围
  3. 缓存结果:存储频繁访问的文档
  4. 组合工具:使用搜索 + get_api_reference 获取全面信息
  5. 错误上下文:提供代码上下文以更好地进行故障排除

安全注意事项

  • 切勿将 API 密钥提交到版本控制
  • 使用环境变量
  • 定期轮换密钥
  • 监控仪表板中的使用情况
  • 设置使用警报

故障排除

"无效 API 密钥" 错误

  • 验证 .env 文件中的密钥
  • 检查密钥是否在 context7.com 上处于活动状态
  • 确保没有多余的空格

速率限制错误

  • 在仪表板中检查当前用量
  • 如需升级计划
  • 实现缓存

库未找到

  • 检查库名称拼写
  • 使用 list_supported_libraries 验证
  • 某些库可能尚未被索引

资源

许可

MIT 许可 - 欢迎在您的项目中使用!