Sourcebot
About
Fetch code context from multiple code hosts (GitHub, GitLab, Bitbucket, etc)
Details
- Author
- sourcebot-dev
- Downloads
- 399
- Categories
- Developer Tools
Jump to
- One-command deployment using Docker.
- Multi-repo search across GitHub, GitLab, Bitbucket, Gitea, Gerrit.
- Lightning fast performance built on the Zoekt search engine.
- Modern web app with syntax highlighting, light/dark mode, vim-style navigation.
- Full file visualization showing the entire file for any search result.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SourcebotCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Deploy Sourcebot in seconds using the official Docker image: create a config.json, run the provided docker run command, and start searching at http://localhost:3000. Full configuration details are available in the docs.
search_code
Searches for code that matches the provided search query as a substring by default, or as a regular expression if useRegex is true. Useful for exploring remote repositories by searching for exact symbols, functions, variables, or specific code patterns. To determine if a repository is indexed, use the `list_repos` tool. By default, searches are global and will search the default branch of all repositories. Searches can be scoped to specific repositories, languages, and branches. When referencing code outputted by this tool, always include the file's external URL as a link. This makes it easier for the user to view the file, even if they don't have it locally checked out.
list_commits
Get a list of commits for a given repository.
list_repos
Lists repositories in the organization with optional filtering and pagination.
read_file
Reads the source code for a given file.
list_tree
Lists files and directories from a repository path. This can be used as a repo tree tool or directory listing tool. Returns a flat list of entries with path metadata and depth relative to the requested path.
list_language_models
Lists the available language models configured on the Sourcebot instance. Use this to discover which models can be specified when calling ask_codebase.
ask_codebase
Ask a natural language question about the codebase. This tool uses an AI agent to autonomously search code, read files, and find symbol references/definitions to answer your question. The agent will: - Analyze your question and determine what context it needs - Search the codebase using multiple strategies (code search, symbol lookup, file reading) - Synthesize findings into a comprehensive answer with code references Returns a detailed answer in markdown format with code references, plus a link to view the full research session (including all tool calls and reasoning) in the Sourcebot web UI. When using this in shared environments (e.g., Slack), you can set the visibility parameter to 'PUBLIC' to ensure everyone can access the chat link. This is a blocking operation that may take 30-60+ seconds for complex questions as the agent researches the codebase.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"sourcebot": {
"sourcebot": {
"command": "npx",
"args": [
"-y",
"@sourcebot/mcp@latest"
]
}
}
}
}
McpServers
{
"sourcebot": {
"command": "npx",
"args": [
"-y",
"@sourcebot/mcp@latest"
]
}
}
Deploy Sourcebot
Sourcebot can be deployed in seconds using our official docker image. Visit our docs for more information.
1. Create a config
touch config.json
echo '{
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
"connections": {
// Comments are supported
"starter-connection": {
"type": "github",
"repos": [
"sourcebot-dev/sourcebot"
]
}
}
}' > config.json
2. Run the docker container
docker run \
-p 3000:3000 \
--pull=always \
--rm \
-v $(pwd):/data \
-e CONFIG_PATH=/data/config.json \
--name sourcebot \
ghcr.io/sourcebot-dev/sourcebot:latest
<details>
<summary>What does this command do?</summary>
- Pull and run the Sourcebot docker image from ghcr.io/sourcebot-dev/sourcebot:latest.
- Mount the current directory (-v $(pwd):/data) to allow Sourcebot to persist the .sourcebot cache.
- Clones sourcebot at HEAD into .sourcebot/github/sourcebot-dev/sourcebot.
- Indexes sourcebot into a .zoekt index file in .sourcebot/index/.
- Map port 3000 between your machine and the docker image.
- Starts the web server on port 3000.
</details>
</br>
3. Start searching at http://localhost:3000
</br>
To learn how to configure Sourcebot to index your own repos, please refer to our docs.
> [!NOTE]
> Sourcebot collects <a href="https://demo.sourcebot.dev/~/search?query=captureEvent%5C(%20repo%3Asourcebot">anonymous usage data</a> by default to help us improve the product. No sensitive data is collected, but if you'd like to disable this you can do so by setting the SOURCEBOT_TELEMETRY_DISABLED environment
> variable to true. Please refer to our telemetry docs for more information.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





