使用说明

项目简介

Context7 是一个为大型语言模型 (LLM)、AI 代理和开发者设计的上下文管理系统。它能够自动从文档仓库中提取高质量、有针对性的代码片段,并将其作为 AI 系统的上下文信息快速提供。Context7 旨在简化 LLM 应用的上下文构建过程,提高 AI 应用的效率和准确性,特别是在代码相关的任务中。

主要功能点

  • 文档解析与代码提取: 支持多种文档格式(Markdown, Plain text, ReStructuredText, Jupyter Notebooks),智能解析并提取代码片段及其描述信息。
  • 上下文检索: 通过 API 接口,根据用户查询和项目上下文,快速检索并返回相关的代码片段,作为 LLM 的上下文输入。
  • MCP 服务器兼容: 声明兼容 MCP 服务器,可以与支持 MCP 协议的客户端(如 Cursor, Windsurf)集成使用。
  • 项目管理: 用户可以将自己的文档仓库添加到 Context7 进行索引,方便管理和使用项目相关的代码上下文。
  • API 访问: 提供简单的 HTTP API 接口,方便开发者和 AI 代理集成 Context7 的上下文检索功能。
  • 免费使用: 提供免费计划,允许个人用户每天进行一定次数的查询。

安装步骤

Context7 本身是一个在线服务,无需用户自行安装服务器。用户可以通过其提供的 API 接口直接使用其上下文检索功能。对于希望将自己的项目添加到 Context7 的用户,可以通过以下两种方式:

  1. 自动化添加 (推荐): 访问 context7.com/add-package 通过 Web 界面添加项目。
  2. 手动添加: 创建项目 JSON 配置文件,并提交 Pull Request 到 Context7 的仓库。

服务器配置

由于 Context7 提供的是在线 API 服务,对于 MCP 客户端而言,配置主要指向其 API 接口。以下是一个 MCP 客户端可能的服务器配置示例,用于连接 Context7 服务:

{
  "serverName": "Context7",
  "command": "https://api.context7.com/context",
  "args": [
    // API Endpoint,无需修改
  ],
  "configuration": {
    "authType": "apiKey", // 认证类型为 API 密钥
    "apiKey": "YOUR_API_KEY", //  请替换为你在 Context7 网站获取的 API 密钥
    "queryParameterName": "query", //  查询参数名,固定为 query
    "projectParameterName": "project" // 项目参数名,用于指定项目,例如 "fastapi"
  },
  "description": "Context7 代码上下文服务"
}

配置参数说明:

  • 'serverName': 服务器名称,可自定义,例如 "Context7"。
  • 'command': 核心配置。Context7 的 API 基础 URL,指向上下文检索接口 'https://api.context7.com/context'。MCP 客户端需要将请求发送到此 URL。
  • 'args': 参数列表,通常为空,因为 API URL 已经足够定位服务。
  • 'configuration': 额外的配置信息。
    • 'authType': 认证类型,Context7 使用 API 密钥认证,设置为 '"apiKey"'。
    • 'apiKey': 重要配置。你的 Context7 API 密钥。你需要在 Context7 网站注册并获取 API 密钥,并替换 '"YOUR_API_KEY"'。
    • 'queryParameterName': 查询文本的参数名,Context7 API 使用 '"query"'。
    • 'projectParameterName': 项目名称的参数名,Context7 API 使用 '"project"'。

注意: 用户需要注册 Context7 账号并在网站上获取 API 密钥才能使用其服务。免费用户有每日查询次数限制。

基本使用方法

配置好 MCP 客户端后,即可向 Context7 服务器发送请求以获取代码上下文。

  1. 发起上下文请求: 在 MCP 客户端中,输入你的自然语言查询,例如 "如何在 FastAPI 中创建新的项目?"。
  2. 指定项目 (可选): 如果需要,指定要查询的项目,例如 "fastapi"。 这通常作为配置的一部分或者在请求参数中指定。
  3. 获取代码片段: Context7 服务器会根据你的查询和项目上下文,返回相关的代码片段。这些代码片段可以作为 LLM 的上下文信息,辅助 LLM 理解和生成更准确的代码或文档。

示例 (Python 代码): 以下是如何使用 Python 'requests' 库调用 Context7 API 的示例,帮助理解其基本使用方法:

import requests

response = requests.get(
    "https://api.context7.com/context",
    params={
        "query": "How to create a new project in FastAPI?",
        "project": "fastapi"
    },
    headers={"Authorization": "Bearer YOUR_API_KEY"} # 替换为你的 API 密钥
)

context = response.json()
print(context["snippets"]) # 打印返回的代码片段

在 MCP 客户端中,你无需直接编写 HTTP 请求代码,客户端会根据配置自动与 Context7 服务器通信并获取上下文。 你只需要配置正确的 'command' (API endpoint) 和 'configuration' (API 密钥等认证信息) 即可。

信息

分类

开发者工具