返回市场
源代码图谱-mcp

源代码图谱-mcp

作者:divar-ir15 星标更新:2025-08-23

项目介绍

Sourcegraph MCP 服务器

这是一个使用 Sourcegraph 提供增强型代码搜索能力的模型上下文协议(MCP)服务器。

目录

概述

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

特性

  • 代码搜索:使用 Sourcegraph 强大的查询语言跨代码库进行搜索
  • 高级查询语言:支持正则表达式模式、文件过滤器、语言过滤器和布尔运算符
  • 存储库发现:通过名称找到存储库并探索其结构
  • 内容获取:浏览存储库文件和目录
  • AI 集成:设计用于与 LLM 集成,并提供引导搜索提示

先决条件

  • Sourcegraph 实例:访问 Sourcegraph 实例(sourcegraph.com 或自托管)
  • Python 3.10+:运行 MCP 服务器所需
  • UV(可选):现代 Python 包管理器,便于依赖项管理

安装

使用 UV(推荐)

# 安装依赖项
uv sync

# 运行服务器
uv run python -m src.main

使用 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_ACCESS_TOKEN:私有 Sourcegraph 实例的身份验证令牌
  • MCP_SSE_PORT:SSE 服务器端口(默认:8000)
  • MCP_STREAMABLE_HTTP_PORT:HTTP 服务器端口(默认:8080)

与 AI 工具一起使用

Cursor

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

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

MCP 工具

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

🔍 search

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

📖 search_prompt_guide

根据您的具体目标生成上下文感知的指南,以构建有效的搜索查询。

📂 fetch_content

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

开发

代码检查和格式化

# 检查代码风格
uv run ruff check src/

# 格式化代码
uv run ruff format src/