你是否曾经希望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 |
| 开源状态 | 公开状态 |
| Languages | TypeScript, 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提供代码上下文获取能力的工具,支持多平台代码搜索和问答。
这个项目的最大价值在于:
- 多平台支持:GitHub、GitLab、Bitbucket
- 代码搜索:子字符串和正则表达式
- 代码问答:自然语言查询代码
- 智能分页:避免返回过多数据
- MIT许可证:可自由使用
如果你需要让AI理解你的代码库,Sourcebot MCP服务器是一个非常强大的工具。
作为开发者,这个工具很实用。
希望未来能支持更多平台。
已经加星,期待功能完善。
MIT协议开源,可以自由使用。
和GitHub搜索相比,这个更集成。