Sourcebot MCP server (@sourcebot/mcp)
This feature is only available when self-hosting with authentication disabled.
The Model Context Protocol (MCP) is a open standard for providing context to LLMs. The @sourcebot/mcp package is a MCP server that enables LLMs to interface with your Sourcebot instance, enabling MCP clients like Cursor, Vscode, and others to have context over your entire codebase.
Getting Started
Launch Sourcebot
Follow the self-hosting quick start guide to launch Sourcebot and get your code indexed. The host url of your instance (e.g., http://localhost:3000
) is passed to the MCP server via the SOURCEBOT_HOST
url.
If a host is not provided, then the server will fallback to using the demo instance hosted at https://demo.sourcebot.dev. You can see the list of repositories indexed here. Add additional repositories by opening a PR.
Install the MCP server
Ensure you have Node.js >= v18.0.0 installed.
Next, we can install the @sourcebot/mcp MCP server into any supported MCP client:
Prompt the LLM
Tell your LLM to use sourcebot
when prompting.
Available Tools
search_code
Fetches code that matches the provided regex pattern in query
.
Parameters:
Name | Required | Description |
---|---|---|
query | yes | Regex pattern to search for. Escape special characters and spaces with a single backslash (e.g., ‘console.log’, ‘console\ log’). |
filterByRepoIds | no | Restrict search to specific repository IDs (from ‘list_repos’). Leave empty to search all. |
filterByLanguages | no | Restrict search to specific languages (GitHub linguist format, e.g., Python, JavaScript). |
caseSensitive | no | Case sensitive search (default: false). |
includeCodeSnippets | no | Include code snippets in results (default: false). |
maxTokens | no | Max tokens to return (default: env.DEFAULT_MINIMUM_TOKENS). |
list_repos
Lists all repositories indexed by Sourcebot.
get_file_source
Fetches the source code for a given file.
Parameters:
Name | Required | Description |
---|---|---|
fileName | yes | The file to fetch the source code for. |
repoId | yes | The Sourcebot repository ID. |
Environment Variables
Name | Default | Description |
---|---|---|
SOURCEBOT_HOST | http://localhost:3000 | URL of your Sourcebot instance. |
DEFAULT_MINIMUM_TOKENS | 10000 | Minimum number of tokens to return in responses. |
DEFAULT_MATCHES | 10000 | Number of code matches to fetch per search. |
DEFAULT_CONTEXT_LINES | 5 | Lines of context to include above/below matches. |