项目简介
Code Context MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供代码上下文信息。它能够从本地 Git 仓库中提取代码,并提供语义搜索功能,帮助 LLM 理解和利用代码信息。
主要功能点
- 本地 Git 仓库支持: 直接从本地文件系统的 Git 仓库中获取代码,无需依赖 GitHub API。
- 代码语义搜索: 使用 Ollama 生成代码块的嵌入向量,实现基于语义相似度的代码搜索。
- 关键词过滤: 支持通过关键词过滤搜索结果,快速定位包含特定术语的代码。
- 文件模式匹配: 允许使用 glob 模式指定要搜索的文件类型和排除目录,提高搜索效率和准确性。
- 可配置的 Ollama 模型: 可以根据需求配置使用的 Ollama 嵌入模型。
安装步骤
- 安装 Node.js: 确保已安装 Node.js (v16 或更高版本)。
- 安装 Git: 确保已安装 Git,并可在命令行中使用。
- 安装 Ollama: 根据 Ollama 官网 指引安装 Ollama,并确保 Ollama 服务正在运行。
- 拉取嵌入模型: 使用 Ollama 拉取一个嵌入模型,推荐使用 'unclemusclez/jina-embeddings-v2-base-code' 模型,执行命令 'ollama pull unclemusclez/jina-embeddings-v2-base-code'。
- 克隆仓库: 将 'code-context-mcp' 仓库克隆到本地:'git clone https://github.com/fkesheh/code-context-mcp.git'
- 进入仓库目录: 'cd code-context-mcp'
- 安装依赖: 'npm install'
- 构建项目: 'npm run build'
服务器配置
此 MCP 服务器需要配置在 MCP 客户端中才能使用。客户端需要服务器的启动命令和参数。以下是 Claude Desktop 客户端的配置示例,其他 MCP 客户端的配置方式类似。
{ "mcpServers": { "code-context-mcp": { "command": "/path/to/your/node", // 请替换为您的 Node.js 可执行文件的路径,例如 /usr/bin/node 或 C:\Program Files\nodejs\node.exe "args": ["/path/to/code-context-mcp/dist/index.js"] // 请替换为 code-context-mcp 项目 dist/index.js 文件的绝对路径 } } }
- 'command': 指定启动 MCP 服务器的命令,通常是 Node.js 可执行文件的路径。
- 'args': 命令参数,这里指定了服务器入口文件 'dist/index.js' 的路径。
注意: 请根据您的实际 Node.js 安装路径和 'code-context-mcp' 项目的存放路径,修改 'command' 和 'args' 中的路径。
基本使用方法
-
启动服务器: 在配置好 MCP 客户端后,启动客户端,客户端会自动启动并连接到 MCP 服务器。服务器将在后台运行,并通过标准输入/输出与客户端通信。
-
使用 'queryRepo' 工具: 在 MCP 客户端中,可以使用 'queryRepo' 工具进行代码搜索。
-
配置 'queryRepo' 参数: 'queryRepo' 工具需要以下参数:
- 'repoUrl': 要搜索的 Git 仓库的 URL。可以是 GitHub 仓库地址或本地仓库地址。
- 'query': 搜索查询语句,用于语义搜索。
- 'branch' (可选): 要搜索的分支名称,默认为仓库的默认分支。
- 'keywords' (可选): 关键词列表,用于过滤包含特定关键词的结果。
- 'filePatterns' (可选): 文件模式列表,用于指定要搜索的文件类型,例如 '["**/.ts", "src/.js"]'。
- 'excludePatterns' (可选): 文件模式列表,用于排除不需要搜索的文件或目录,例如 '["/node_modules/"]'。
- 'limit' (可选): 返回结果的数量限制,默认为 10。
-
获取搜索结果: 服务器将返回与查询相关的代码片段,包括文件路径、代码内容和相似度评分。
信息
分类
开发者工具