文章

MCP-context7

MCP-context7

MCP Context 7

精准锚定最新文档,对抗代码幻觉(Hallucination)

Context7 介绍

Context7 背景

在使用 AI 编程助手(如 Cursor、Claude、Windsurf 等)时,是否曾遇到生成的代码引用了过时的 API 或虚构的函数?这类 “代码幻觉(Hallucination)” 问题常常源于模型训练数据的滞后。为了解决这一问题,Upstash 团队推出了 Context7 —— 一个基于 MCP(Model Context Protocol)协议的开源工具,旨在为大型语言模型(LLMs)提供最新、版本特定的官方文档和代码示例。

为了解决上面的痛点,Context 7 直接从源头提取最新版本的具体文档和代码示例,并将其直接放入 AI 编程工具的提示上下文中。这样我们能确保 Cursor 使用最新最准确的版本库的最佳实践,依赖于确定存在的接口或者函数,降低代码幻觉。

什么是 Context7?

Context7 是一个开源平台,能够从官方源(如文档站点、GitHub 仓库)实时提取最新的、特定版本的文档和代码示例,并通过 MCP 协议将其注入到 AI 模型的上下文中。这使得 AI 编程助手能够生成更准确、实用的代码,显著减少 “ 幻觉 “ 现象。

Context7 的核心功能

  • 实时文档检索:通过 MCP 协议,Context7 能够实时从官方源获取最新的文档和代码示例。
  • 版本精确匹配:支持按库的具体版本过滤文档,确保提供的信息与当前使用的技术栈完全一致。
  • AI 友好格式:生成专为 LLM 设计的文档格式,便于模型理解和使用。
  • 广泛的库支持:目前已支持超过 3000 个主流库,包括 Next.js、React、Tailwind、Upstash Redis、FastAPI 等。
  • 免费使用:Context7 对个人用户免费开放,适用于各种 AI 编程场景。

安装 Context7

Context7 提供了多种集成方式,适用于不同的开发环境:

https://github.com/upstash/context7?tab=readme-ov-file#%EF%B8%8F-installation

命令行安装

1
npx -y @upstash/context7-mcp@latest

集成到开发工具

Cursor

在设置中添加 MCP Server,或在项目文件夹中创建 .cursor/mcp.json 文件,配置如下:

  • Context 7 官方提供了远程服务器连接:
1
2
3
4
5
6
7
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
  • 也可以下载代码本地安装:
1
2
3
4
5
6
7
8
{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    }
  }
}

测试本地安装是否成功,本地执行命令,不报错就安装成功了:

1
 npx -y @upstash/context7-mcp

使用: 在每次让 Cursor 生成或者修改代码时,指定其使用 context 7: use context7。比如我希望 Cursor 帮我使用 ` @antv/x6 ` 画一个关系图:

1
2
3
4
5
根据后端返回的响应报文结构,zen画出各个节点的关系图。use context7.

响应报文结构描述:
...
...

可以看到 Cursor 先从 context 7 MCP 获取对于库的文档和代码示例,再进行代码生成:

image.png

context 7 官方列出来他们索引的所有代码库。地址:https://context7.com/

VSCode

1
2
3
4
5
6
7
8
9
{
	"servers": {
	  "Context7": {
		"type": "stdio",
		"command": "npx",
		"args": ["-y", "@upstash/context7-mcp@latest"]
	  }
	}
}

Windsurf、Zed、Claude Desktop、BoltAI 等

按照相应的 MCP 配置方式添加 Context7,具体配置可参考官方文档。

Docker

https://glama.ai/mcp/servers/%40upstash/context7-mcp?locale=zh-CN&utm_source=chatgpt.com

  • 创建 Dockerfile:
1
2
3
4
FROM node:18-alpine
WORKDIR /app
RUN npm install -g @upstash/context7-mcp@latest
CMD ["context7-mcp"]
  • 构建 Docker 镜像:
1
docker build -t context7-mcp .
  • 配置 MCP 客户端以使用 Docker 命令。

使用

视频

Ref

本文由作者按照 CC BY 4.0 进行授权