article
README
🚀 Sourcegraph MCP 服务器
这是一个模型上下文协议(MCP)服务器,借助 Sourcegraph 提供由人工智能增强的代码搜索功能。
🚀 快速开始
本 MCP 服务器与 Sourcegraph 集成,Sourcegraph 是一个通用代码搜索平台,可在多个代码库和代码基础上进行搜索。它具备强大的搜索能力和高级查询语法,非常适合需要在大型代码库中查找和理解代码模式的人工智能助手。
✨ 主要特性
- 代码搜索:使用 Sourcegraph 强大的查询语言在代码库中进行搜索。
- 高级查询语言:支持正则表达式模式、文件过滤器、语言过滤器和布尔运算符。
- 仓库发现:按名称查找仓库并探索其结构。
- 内容获取:浏览仓库文件和目录。
- 人工智能集成:专为大语言模型集成设计,提供引导式搜索提示。
📦 安装指南
前提条件
- Sourcegraph 实例:可访问 Sourcegraph 实例(可以是 sourcegraph.com 或自行托管的实例)。
- Python 3.10+:运行 MCP 服务器所需。
- UV(可选):现代 Python 包管理器,便于进行依赖管理。
使用 UV(推荐)
# 安装依赖项
uv sync
# 运行服务器
uv run sourcegraph-mcp
使用 pip
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 在 Windows 上:venv\Scripts\activate
# 安装包
pip install -e .
# 运行服务器
python -m src.main
使用 Docker
# 构建镜像
docker build -t sourcegraph-mcp .
# 使用默认端口运行容器
docker run -p 8000:8000 -p 8080:8080 \
-e SRC_ENDPOINT=https://sourcegraph.com \
-e SRC_ACCESS_TOKEN=your-token \
sourcegraph-mcp
# 或者使用自定义端口运行
docker run -p 9000:9000 -p 9080:9080 \
-e SRC_ENDPOINT=https://sourcegraph.com \
-e SRC_ACCESS_TOKEN=your-token \
-e MCP_SSE_PORT=9000 \
-e MCP_STREAMABLE_HTTP_PORT=9080 \
sourcegraph-mcp
📚 详细文档
配置
必需的环境变量
SRC_ENDPOINT:Sourcegraph 实例的 URL(例如,https://sourcegraph.com)
可选的环境变量
SRC_ACCESS_TOKEN:用于私有 Sourcegraph 实例的身份验证令牌。MCP_SSE_PORT:SSE 服务器端口(默认值:8000)MCP_STREAMABLE_HTTP_PORT:HTTP 服务器端口(默认值:8080)
与人工智能工具一起使用
Cursor
运行 MCP 服务器后,将以下内容添加到 .cursor/mcp.json 文件中:
{
"mcpServers": {
"sourcegraph": {
"url": "http://localhost:8080/sourcegraph/mcp/"
}
}
}
MCP 工具
此服务器为人工智能助手提供了三个强大的工具:
🔍 search
使用 Sourcegraph 的高级查询语法在代码库中进行搜索,支持正则表达式、语言过滤器和布尔运算符。
📖 search_prompt_guide
根据你的特定目标生成用于构建有效搜索查询的上下文感知指南。
📂 fetch_content
从仓库中检索文件内容或探索目录结构。
开发
代码检查和格式化
# 检查代码风格
uv run ruff check src/
# 格式化代码
uv run ruff format src/
微信扫一扫