使用说明
项目简介
Coding Assistant Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在增强 Cline 编码助手的功能。它通过分析您的项目代码和文档,提供上下文感知的代码建议,减少代码幻觉,并自动检索项目技术栈的官方文档,从而提升编码体验。
主要功能点
- 智能代码建议: 基于项目代码上下文和文档知识库,提供更精准的代码补全和建议。
- 项目文档集成: 自动加载并向量化 'docs' 目录下的文档,或从指定的URL加载文档,构建项目知识库。
- 技术栈自动检测: 自动识别项目使用的编程语言、框架和库,无需手动配置。
- 官方文档检索: 根据检测到的技术栈,自动查找并添加官方文档链接到知识库中。
- 项目路径自动化: 从 'project_path.txt' 文件读取项目路径,简化 Cline 的集成配置。
- 多文档源支持: 支持从多个文档文件和链接导入知识库,提升知识库的覆盖面。
安装步骤
-
克隆仓库
git clone https://github.com/AviOfLagos/MCP-coding-assistant -
进入项目目录
cd MCP-coding-assistant -
安装依赖
npm install -
配置环境变量
- 在项目根目录下创建 '.env' 文件。
- 添加 OpenAI API 密钥:
OPENAI_API_KEY=YOUR_OPENAI_API_KEY⚠️ 注意: 请替换 'YOUR_OPENAI_API_KEY' 为您自己的 OpenAI API 密钥。
-
构建项目
npm run build
服务器配置
要将 Coding Assistant Server 集成到 MCP 客户端(例如 Cline),您需要配置 MCP 服务器的启动信息。以下是 Cline 客户端的 'cline_mcp_settings.json' 配置文件示例,您需要根据实际情况进行调整:
{ "mcpServers": { "coding-assistant": { "command": "node", "args": ["/path/to/MCP-coding-assistant/build/index.js"], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY" // 请替换为您的 OpenAI API 密钥,或者确保在运行 Cline 的环境中已设置该环境变量 } } } }
⚠️ 注意:
- 请将 '/path/to/MCP-coding-assistant' 替换为 Coding Assistant Server 仓库在您本地的实际路径。
- 'YOUR_OPENAI_API_KEY' 应该与您在 '.env' 文件中设置的密钥保持一致,或者确保您的 Cline 客户端运行环境中已经设置了 'OPENAI_API_KEY' 环境变量。
- 'command' 指定了启动服务器的命令 ('node')。
- 'args' 是传递给 'node' 命令的参数,指向编译后的服务器入口文件 'build/index.js'。
- 'env' 定义了服务器运行时需要的环境变量,这里设置了 'OPENAI_API_KEY'。
基本使用方法
-
启动服务器
在 Coding Assistant Server 项目目录下,运行以下命令启动 MCP 服务器:
node build/index.js服务器成功启动后,会在控制台输出 'Coding Assistant MCP server running on stdio' 信息。
-
配置 Cline 客户端
按照 服务器配置 章节的说明,配置 Cline 客户端的 'cline_mcp_settings.json' 文件,确保 Cline 能够连接到 Coding Assistant Server。
-
设置项目路径
在 Coding Assistant Server 项目目录下,创建或更新 'project_path.txt' 文件,写入您 当前 Cline 编辑器的项目根目录的绝对路径。例如:
/path/to/your/project -
在 Cline 中使用
重启 Cline 或重新加载 MCP 设置,Cline 即可连接到 Coding Assistant Server。您可以在 Cline 中使用 'get_suggestions' 工具获取代码建议,或使用 'add_documentation' 工具添加项目文档。
示例:使用 'get_suggestions' 工具
在 Cline 中,您可以调用 'coding-assistant/get_suggestions' 工具,并提供代码上下文,例如:
{ "tool_call": { "server_name": "coding-assistant", "tool_name": "get_suggestions", "arguments": { "codeContext": { "code": "function helloWorld() { ", "language": "JavaScript" } } } }Coding Assistant Server 将会返回基于项目文档和代码上下文的代码建议。
信息
分类
开发者工具