AI增强代码搜索服务

一个基于Sourcegraph的AI增强代码搜索服务,提供跨代码库的高级搜索功能,适用于AI助手和大型代码库分析。

  • by najva-ai
  • Python
  • 本地部署
  • 42 星标
  • 更新于
在 GitHub 查看 divar-ir/sourcegraph-mcp

使用说明

源图MCP服务器

一种模型上下文协议(MCP)服务器,使用 源代码图.

目录

概述

此MCP服务器与Sourcegraph集成,Sourcegraph是一个通用的代码搜索平台,可以跨多个存储库和代码库进行搜索。它提供了强大的搜索功能和高级查询语法,使其成为需要在大型代码库中查找和理解代码模式的AI助手的理想选择。

特性

  • 代码搜索:使用Sourcegraph强大的查询语言跨代码库搜索
  • 高级查询语言:支持正则表达式模式、文件过滤器、语言过滤器和布尔运算符
  • 存储库发现:按名称查找存储库并探索其结构
  • 内容获取:浏览存储库文件和目录
  • 人工智能集成:专为LLM集成而设计,带有引导式搜索提示

先决条件

  • 源代码图实例:访问Sourcegraph实例(无论是Sourcegraph.com还是自托管)
  • Python 3.10+:运行MCP服务器所需
  • 紫外线的 (可选):现代Python包管理器,便于依赖管理

安装

使用紫外线(推荐)

# Install dependencies
uv sync

# Run the server
uv run python -m src.main

使用pip

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install package
pip install -e .

# Run the server
python -m src.main

使用Docker

# Build the image
docker build -t sourcegraph-mcp .

# Run the container with default ports
docker run -p 8000:8000 -p 8080:8080 \
  -e SRC_ENDPOINT=https://sourcegraph.com \
  -e SRC_ACCESS_TOKEN=your-token \
  sourcegraph-mcp

# Or run with custom ports
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:源图实例URL(例如。,https://sourcegraph.com)

可选环境变量

  • SRC_ACCESS_TOKEN:私有Sourcegraph实例的身份验证令牌
  • MCP_SSE_PORT:SSE服务器端口(默认值:8000)
  • MCP_STREAMABLE_HTTP_PORT:HTTP服务器端口(默认值:8080)

使用AI工具

光标

运行MCP服务器后,将以下内容添加到您的 .cursor/mcp.json 文件:

{
  "mcpServers": {
    "sourcegraph": {
      "url": "http://localhost:8080/sourcegraph/mcp/"
    }
   }
}

MCP工具

该服务器为AI助手提供了三个强大的工具:

🔍 搜索

使用Sourcegraph的高级查询语法在代码库中搜索,支持正则表达式、语言过滤器和布尔运算符。

📖 搜索_提示_指南

根据您的特定目标生成一个上下文感知指南,用于构建有效的搜索查询。

📂 食品成分

从存储库中检索文件内容或探索目录结构。

发展

装订和格式化

# Check code style
uv run ruff check src/

# Format code
uv run ruff format src/