🚀 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
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/