Sourcebot
BLOCKgrade F · trust 42/100Sourcebot is a self-hosted tool that helps humans and agents understand your codebase.
code intelligencecode searchfair sourcesourcebotOverview
From the repository's own README, as read at the audited commit.
<div align="center"><picture> <source media="(prefers-color-scheme: dark)" srcset=".github/images/logo_dark.png"> <img height="150" src=".github/images/logo_light.png"></picture></div><div align="center"> <div> <h3> <a href="https://docs.sourcebot.dev"> <strong>Self Host</strong> </a> · <a href="https://app.sourcebot.dev"> <strong>Public Demo</strong> </a> </h3> </div> <div> <a href="https://docs.sourcebot.dev/"><strong>Docs</strong></a> · <a href="https://github.com/sourcebot-dev/sourcebot/issues/459"><strong>Roadmap</strong></a> · <a href="https://github.com/sourcebot-dev/sourcebot/issues/new?template=bug_report.yml"><strong>Report Bug</strong></a> · <a href="https://github.com/sourcebot-dev/sourcebot/issues/new?template=feature_request.md"><strong>Feature Request</strong></a> · <a href="https://www.sourcebot.dev/changelog"><strong>Changelog</strong></a> </div> <br/> <div> </div></div><p align="center"> <a href="mailto:[email protected]"><img src="https://img.shields.io/badge/Email%20Us-brightgreen" /></a> <a href="https://github.com/sourcebot-dev/sourcebot/actions/workflows/release-prod.yml"><img src="https://img.shields.io/github/actions/workflow/status/sourcebot-dev/sourcebot/release-prod.yml"/><a> <a href="https://github.com/sourcebot-dev/sourcebot/stargazers"><img src="https://img.shields.io/github/stars/sourcebot-dev/sourcebot" /></a></p><p align="center"></p>Sourcebot is a self-hosted tool that helps you understand your codebase. - **Ask Sourcebot:** Ask questions about your codebase and have Sourcebot provide detailed answers grounded with inline citations.- **Code search:** Search and navigate across all your repos and branches, no matter where they’re hosted.Try it out in our [public demo](https://app.sourcebot.dev)!https://github.com/user-attachments/assets/ed66a622-e38f-4947-a531-86df1e1e0218# Features 48 read · 9 write · 1 destructive
Blast radius: 1 tool can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
Audit | read | Audit |
Bitbucket | read | Bitbucket Cloud or Bitbucket Data Center |
Connections | read | Code host connection metadata. |
Deploy | write | |
Disabled | read | Personal review. |
Everything | read | Index every project visible to the token on this self-hosted instance |
Files | read | Include a file in the agent\ |
Foreign | read | Shared audit. |
Git | read | Git history, diff, and file content endpoints. |
GitHub | read | github.com, GitHub Enterprise Server, or GitHub Enterprise Cloud |
GitLab | read | gitlab.com, GitLab Self Managed, or GitLab Dedicated |
Gitea | read | Gitea Cloud or Gitea self-hosted |
Groups | read | Index every project each chosen group owns |
Manual | read | Edited description |
OpenAI-compatible | read | self-hosted / custom endpoint |
Organizations | read | Index every repo each chosen org owns |
Projects | read | Index every repo in each chosen project |
Renamed | read | Edited description |
Repositories | read | Repository listing and metadata endpoints. |
Review | read | Review risky changes. |
Skill | read | Description. |
Summarize | read | |
Synced | read | Personal review. |
System | read | System health and version endpoints. |
Translate | read | Translate text |
User | read | User Account |
Users | read | Index every repo each chosen user owns |
Workspaces | read | Index every repo each chosen workspace owns |
X-Sourcebot-Api-Key | read | Header of the form |
ask_codebase | read | |
cached_tool | read | Cached tool |
catalog.query-catalog-entities | read | Query catalog entities |
create_issue | write | Create issue |
delete_issue | destructive | Delete an issue |
fake_tool | read | A fake tool. |
foo-bar | read | Hyphenated tool |
foo_bar | read | Underscored tool |
list_issues | read | List issues |
list_language_models | read | |
live_tool | read | Live tool |
lookup | read | Find alert(1) issues quickly |
mcp_github__list_repos | read | List GitHub repositories |
mcp_github__search_repos | read | Search repositories on GitHub |
mcp_jira__create_ticket | write | Create a new Jira ticket |
mcp_linear__create_issue | write | Create a new issue |
mcp_linear__list_issues | read | List issues |
mcp_linear__save_comment | write | Save a comment on a Linear issue |
mcp_linear__save_issue | write | Save an issue |
mcp_linear__update_issue | write | Update an existing issue |
mcp_pg__run_query | write | Run a database query |
mcp_slack__send_message | write | Send a message to a Slack channel |
new_tool | read | Newly discovered |
search | read | Find issues |
search_repos | read | Search repos |
tool | read | x |
tool1 | read | Tool 1 |
tool2 | read | Tool 2 |
xAI | read | Grok |
Details
- Source
- sourcebot-dev/sourcebot
- npm
@sourcebot/web@0.1.0- Transports
- streamable-http
- Credentials it reads
ANTHROPIC_API_KEYAUTH_SECRETAUTH_URLEXPERIMENT_DISABLE_API_KEY_CREATION_FOR_NON_ADMIN_USERSSCIM_TOKENSENTRY_AUTH_TOKENSETUP_TEST_CREDENTIAL_DIRSETUP_TEST_DEV_TOKENSOURCEBOT_API_KEY- License
- NOASSERTION
- Stars
- 3,937 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (11 observation(s))
- Network
- declared (7 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres"
install = ["cd /workspace && (test -f node_modules/.yarn-state.yml || DATABASE_URL=postgresql://postgres:[email protected]:5432/postgres make yarn)", "cd /workspace && test -f config.json
logger.debug(`Refreshing OAuth token for account ${account.id} (${account.providerId})...`);logger.error(`OAuth token refresh failed for account ${account.id} (${account.providerId}): ${message}`);logger.debug(`Successfully refreshed OAuth token for account ${account.id} (${account.providerId}).`);logger.warn(`Failed to get token for connection ${connection.id}:`, error);logger.warn(`Access token for MCP server ${serverName} is expired and has no refresh token. User ${userId} needs to re-authorize.`);DATABASE_URL: postgresql://postgres:postgres@localhost:5432/sourcebot
DATABASE_URL: postgresql://postgres:postgres@localhost:5432/sourcebot
token: 'not-an-oauth-token-response',
token: 'azure-devops-test-token',
password: 'azure-devops-test-token',
delete_issue
.env.development
.gitmodules
.trivyignore
.yarnrc.yml
import { PrismaClient } from "../../dist";import { PrismaClient } from "../../dist";import { PrismaClient } from "../../dist";import { PrismaClient } from "../../dist";import { PrismaClient } from "../../dist";'.env' ... fetch(
const requestUrl = new URL(request.url ?? '/', 'http://127.0.0.1');
Gates applied: no_behavioural_pass.
Audited 2026-09-15 · audit v0.4.0 · source sha 21920dda1711 · full audit: observations/trust-audit/mcp-server/sourcebot-dev__sourcebot.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-15 | 21920dda1711 | BLOCK | F | 42 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the Sourcebot MCP server?
Sourcebot is a self-hosted tool that helps humans and agents understand your codebase.
What tools does Sourcebot expose?
58 in total: 48 read-only, 9 that write, and 1 that can delete or overwrite (delete_issue). Every one is listed on this page with its risk.
Is Sourcebot safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (42/100) and found 3 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Sourcebot need?
It reads ANTHROPIC_API_KEY, AUTH_SECRET, AUTH_URL, EXPERIMENT_DISABLE_API_KEY_CREATION_FOR_NON_ADMIN_USERS, SCIM_TOKEN, SENTRY_AUTH_TOKEN, SETUP_TEST_CREDENTIAL_DIR, SETUP_TEST_DEV_TOKEN and SOURCEBOT_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Sourcebot run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as @sourcebot/web at 0.1.0.
How current is this page?
The grade is for one exact copy of the source (21920dda1711), read on 2026-09-15. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-15 · job trust-audit-2026-09-15