你是否曾经希望AI能够直接从GitHub、GitLab、Bitbucket等代码托管平台获取代码上下文,辅助代码审查、文档生成和合规审计?今天要介绍的开源项目Sourcebot MCP服务器,正是为了实现这个目标而设计的。它是一个为LLM代理提供代码上下文获取能力的工具,支持从多个代码托管平台获取代码信息,并将其注入到聊天会话中。

项目基本信息

信息项详情
项目名称Sourcebot MCP 服务器
GitHub地址https://github.com/sourcebot-dev/sourcebot
项目描述Sourcebot MCP 服务器是一个为LLM(大语言模型)代理提供代码上下文获取能力的工具。它支持从GitHub、GitLab、Bitbucket等多个代码托管平台获取代码信息。
作者sourcebot-dev
开源协议MIT License
开源状态公开状态
LanguagesTypeScript, Go
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

Sourcebot MCP服务器让LLM智能体能够从GitHub、GitLab、BitBucket等代码托管平台获取代码上下文。当用户向LLM提问时,Sourcebot会从其索引中获取相关内容并注入到聊天会话中。

这个服务器提供了以下工具:

  • search_code:搜索匹配查询字符串的代码
  • list_repos:列出Sourcebot索引的代码库
  • read_file:读取指定文件的源代码
  • list_commits:获取代码仓库的提交记录
  • list_language_models:列出可用语言模型
  • ask_codebase:向代码库提出自然语言问题

二、核心优势

多平台支持

支持GitHub、GitLab、Bitbucket等主流代码托管平台。

代码搜索

支持子字符串和正则表达式搜索。

代码库问答

用自然语言向代码库提问,AI自动搜索。

智能分页

支持分页查询,避免返回过多数据。

灵活部署

支持自托管Sourcebot实例或使用演示实例。

三、适用场景

代码审查

查找所有调用特定函数的代码。

文档生成

查找函数定义和依赖关系。

合规审计

查找硬编码凭证的实例。

迁移代理

识别依赖已弃用API的代码库。

四、安装教程

系统要求

工具用途下载/安装方式
Node.js运行环境[https://nodejs.org/] (版本要求:18.0 或更高)
Sourcebot实例代码索引(可选)自托管或使用demo实例
MCP客户端如Cursor、Claude Desktop等根据客户端官网下载

安装步骤

第一步:配置MCP客户端

对于Cursor

编辑~/.cursor/mcp.json

{
  "mcpServers": {
    "sourcebot": {
      "command": "npx",
      "args": ["-y", "@sourcebot/mcp@latest"],
      "env": {
        "SOURCEBOT_HOST": "http://localhost:3000"
      }
    }
  }
}

对于Claude Desktop

编辑claude_desktop_config.json

{
  "mcpServers": {
    "sourcebot": {
      "command": "npx",
      "args": ["-y", "@sourcebot/mcp@latest"],
      "env": {
        "SOURCEBOT_HOST": "http://localhost:3000"
      }
    }
  }
}

对于Claude Code

claude mcp add sourcebot -e SOURCEBOT_HOST=http://localhost:3000 -- npx -y @sourcebot/mcp@latest

如果不提供SOURCEBOT_HOST,将使用演示实例https://demo.sourcebot.dev

第二步:使用Smithery安装(可选)

npx -y @smithery/cli install @sourcebot-dev/sourcebot --client claude

五、使用示例

示例1:搜索代码

用户指令:“搜索所有使用validateToken的代码”

AI会调用search_code工具:

{
  "query": "validateToken",
  "includeCodeSnippets": true,
  "maxTokens": 5000
}

示例2:带正则表达式的搜索

{
  "query": "jwt|token|verify.*token",
  "useRegex": true,
  "filterByLanguages": ["typescript", "javascript"]
}

示例3:列出代码库

{
  "query": "frontend",
  "page": 1,
  "perPage": 10,
  "sort": "name"
}

示例4:读取文件

{
  "repo": "sourcebot-dev/sourcebot",
  "path": "src/index.ts",
  "ref": "main"
}

示例5:代码库问答

用户指令:“哪些代码库正在使用内部库X?”

AI会调用ask_codebase工具:

{
  "query": "哪些代码库正在使用内部库X?",
  "repos": ["repo1", "repo2"]
}

示例6:列出提交记录

{
  "repo": "sourcebot-dev/sourcebot",
  "since": "2025-01-01",
  "until": "2025-12-31",
  "author": "username"
}

六、支持的代码托管平台

Sourcebot支持GitHub、GitLab、Bitbucket等主流平台。如需其他平台支持,可提交功能请求。

七、未来规划

语义搜索功能正在开发中,使代理能够使用自然语言搜索代码语义。

八、常见问题

问题1:无法连接Sourcebot实例

解决方案:检查SOURCEBOT_HOST配置,确认实例正在运行。

问题2:搜索无结果

解决方案:尝试使用正则表达式模式,检查查询语法。

问题3:代码片段不返回

解决方案:设置includeCodeSnippets: true。

问题4:分页结果过多

解决方案:调整perPage参数(最大100)。

问题5:自托管部署

解决方案:参考Sourcebot部署指南。

九、总结

Sourcebot MCP服务器是一个为LLM提供代码上下文获取能力的工具,支持多平台代码搜索和问答。

这个项目的最大价值在于:

  1. 多平台支持:GitHub、GitLab、Bitbucket
  2. 代码搜索:子字符串和正则表达式
  3. 代码问答:自然语言查询代码
  4. 智能分页:避免返回过多数据
  5. MIT许可证:可自由使用

如果你需要让AI理解你的代码库,Sourcebot MCP服务器是一个非常强大的工具。

标签: 开发者工具

已有 34 条评论

    1. UlyssesUse UlyssesUse

      作为开发者,这个工具很实用。

    2. VeraVerify VeraVerify

      希望未来能支持更多平台。

    3. WillWait WillWait

      已经加星,期待功能完善。

    4. XenaXray XenaXray

      MIT协议开源,可以自由使用。

    5. YaleYarn YaleYarn

      和GitHub搜索相比,这个更集成。