ClawSkills logoClawSkills

Context7 MCP

Context7 MCP - 针对任何库的智能文档搜索和上下文获取

介绍

# Context7 MCP

Context7 由 LLM 驱动,为任何库提供智能文档搜索和上下文。

## 设置

1. 将 `.env.example` 复制为 `.env` 并添加您的 Context7 API 密钥: ```bash cp .env.example .env ```

将您的 API 密钥添加到 `.env` 中: ``` CONTEXT7_API_KEY=your-api-key-here ```

从 [context7.com/dashboard](https://context7.com/dashboard) 获取您的密钥。

2. 安装依赖项: ```bash npm install ```

## 用法

Context7 提供两个主要命令:

### 搜索命令

通过名称搜索库,并使用智能 LLM 驱动的排名功能:

```bash npx tsx query.ts search <library_name> <query>

# Examples: npx tsx query.ts search "nextjs" "setup ssr" npx tsx query.ts search "react" "useEffect cleanup" npx tsx query.ts search "better-auth" "authentication flow" ```

这将调用 Context7 搜索 API: ``` GET https://context7.com/api/v2/libs/search?libraryName=<name>&query=<query> ```

**响应包括:** - id:库 ID(例如 `/vercel/next.js`) - name:显示名称 - trustScore:来源信誉(0-100) - benchmarkScore:质量指标(0-100) - versions:可用的版本标签

### 上下文命令

获取智能的、经过 LLM 重排序的文档上下文:

```bash npx tsx query.ts context <owner/repo> <query>

# Examples: npx tsx query.ts context "vercel/next.js" "setup ssr" npx tsx query.ts context "facebook/react" "useState hook" ```

这将调用 Context7 上下文 API: ``` GET https://context7.com/api/v2/context?libraryId=<repo>&query=<query>&type=txt ```

**响应包括:** - title:文档部分标题 - content:文档文本/片段 - source:指向源页面的 URL

### 快速参考

```bash # Search for documentation npx tsx query.ts search "library-name" "your search query"

# Get context from a specific repo npx tsx query.ts context "owner/repo" "your question" ```

## 最佳实践

遵循这些最佳实践,以充分发挥 Context7 API 的效能:

### 优化搜索相关性

使用 `/libs/search` 端点时,务必在 `query` 参数中包含用户的原始问题。这允许 API 使用 LLM 驱动的排名功能来查找与特定任务最相关的库,而不是仅仅依赖简单的名称匹配。

**示例:** 如果用户询问 Next.js 中的 SSR,请使用以下参数进行搜索: - `libraryName=nextjs` - `query=setup+ssr`

这可以确保针对特定任务获得最佳排名。

### 使用特定的库 ID

若要通过 `/context` 端点获得最快且最准确的结果,请提供完整的 libraryId(例如 `/vercel/next.js`)。如果您已经知道用户询问的库,跳过搜索步骤并直接调用上下文端点可以减少延迟。

### 利用版本控制

为了确保针对旧版或特定项目需求的文档准确性,请使用 `/owner/repo/version` 格式在 libraryId 中包含版本号。您可以在搜索端点的响应中找到可用的版本标签。

### 选择正确的响应类型

使用 `type` 参数调整 `/context` 响应以满足您的需求: - 当您需要以编程方式处理标题、内容片段和源 URL 时,请使用 `type=json`(适合 UI 显示)。 - 当您希望将文档作为纯文本直接输入到 LLM 提示词中时,请使用 `type=txt`。

### 按质量评分过滤

当从搜索结果中以编程方式选择库时,请使用 `trustScore` 和 `benchmarkScore` 来优先为用户选择高质量、信誉良好的文档来源。

### 查找导航页面

通过获取以下位置的 `llms.txt` 文件,查找本文档中的导航和其他页面: ``` https://context7.com/docs/llms.txt ```

## API 参考

### Context7 REST API

**搜索端点:** ``` GET https://context7.com/api/v2/libs/search ?libraryName=<library_name> &query=<user_query> ```

**上下文端点:** ``` GET https://context7.com/api/v2/context ?libraryId=<owner/repo> &query=<user_query> &type=txt|json ```

## 故障排除

**未找到结果?** - 检查您的 API 密钥是否有效 - 验证库名称是否正确(例如,使用 'react' 而不是 'React')

**身份验证错误?** - 确保 `.env` 中设置了 CONTEXT7_API_KEY - 检查您的密钥是否在 context7.com/dashboard 上过期

## 许可证

MIT

更多产品