最近在尝试写一些鸿蒙应用,但是大模型对鸿蒙的 ArkTS 语法支持不是很好,但是鸿蒙官方网站的文档写的很详细,而且在gitee找到了一份比较全的鸿蒙文档,就想着起一个本地的 Context7 帮助 AI 理解 ArkTS 的语法和使用。

下面的部分是 AI 给的答案,AI 还是很棒的。

要在本地运行Context7 MCP工具并将本地md仓库作为知识库使用,需要完成以下配置步骤:

一、环境准备

首先确保系统已安装Node.js v18.0.0或更高版本,这是运行Context7 MCP服务的基础环境。可以通过命令node -v检查当前版本。

二、安装Context7 MCP服务器

方式一:通过npx快速安装(推荐)

在终端执行以下命令:

npx -y @upstash/context7-mcp

这种方式会自动下载并启动Context7 MCP服务,无需手动配置。

方式二:通过Smithery自动安装

npx -y @smithery/cli install @upstash/context7-mcp --client claude

这种方式适用于Claude Desktop等特定客户端。

三、配置MCP客户端

根据你使用的编辑器进行相应配置:

1. Cursor编辑器配置

~/.cursor/mcp.json文件中添加:

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

2. VS Code配置

在VS Code的MCP配置文件中添加:

{
"mcp": {
"servers": {
"context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}
}
}
}

3. Claude Code配置

使用命令行安装:

claude mcp add context7 -- npx @upstash/context7-mcp

或使用--scope user参数进行全局安装。

四、配置本地md仓库作为知识库

Context7 MCP支持将本地文件系统作为知识库源。需要配置文件系统MCP服务器:

1. 安装文件系统MCP服务器

npm install -g @modelcontextprotocol/server-filesystem

2. 配置MCP客户端

在MCP配置文件中添加文件系统服务器:

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"--path",
"/path/to/your/md/repository"
]
}
}
}

/path/to/your/md/repository替换为你的本地md仓库路径。

3. 配置Context7使用本地知识库

在Context7配置中添加环境变量:

{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"env": {
"KNOWLEDGE_BASES_ROOT_DIR": "/path/to/your/md/repository"
}
}
}
}

五、验证配置

启动编辑器后,输入命令/mcp list查看已加载的MCP服务器列表,确认context7和filesystem服务器都已成功加载。

六、使用方法

在对话中提问时,在提示词末尾添加use context7即可触发Context7 MCP服务,例如:

写一个Next.js中间件来验证JWT令牌。use context7

Context7会自动从本地md仓库中检索相关文档,并将最新代码示例注入到AI的提示词中。

七、注意事项

  1. API密钥:建议在Context7官网注册获取API密钥,以避免免费版的速率限制
  2. 文件权限:确保Context7服务有权限读取本地md仓库目录
  3. 文件格式:Context7支持.md、.txt等文本格式,会自动解析内容
  4. 重启生效:修改配置后需要重启编辑器或MCP服务才能生效

通过以上配置,你就可以在本地运行Context7 MCP工具,并将本地md仓库作为知识库使用了。