Skip to main content

Model Context Protocol (MCP) server for Sourcegraph code search

Project description

Sourcegraph MCP Server

A Model Context Protocol (MCP) server that provides AI-enhanced code search capabilities using Sourcegraph.

Table of Contents

Overview

This MCP server integrates with Sourcegraph, a universal code search platform that enables searching across multiple repositories and codebases. It provides powerful search capabilities with advanced query syntax, making it ideal for AI assistants that need to find and understand code patterns across large codebases.

Features

  • Code Search: Search across codebases using Sourcegraph's powerful query language
  • Advanced Query Language: Support for regex patterns, file filters, language filters, and boolean operators
  • Repository Discovery: Find repositories by name and explore their structure
  • Content Fetching: Browse repository files and directories
  • AI Integration: Designed for LLM integration with guided search prompts

Prerequisites

  • Sourcegraph Instance: Access to a Sourcegraph instance (either sourcegraph.com or self-hosted)
  • Python 3.10+: Required for running the MCP server
  • UV (optional): Modern Python package manager for easier dependency management

Installation

Using UV (recommended)

# Install dependencies
uv sync

# Run the server
uv run python -m src.main

Using pip

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install package
pip install -e .

# Run the server
python -m src.main

Using Docker

# Build the image
docker build -t sourcegraph-mcp .

# Run the container with default ports
docker run -p 8000:8000 -p 8080:8080 \
  -e SRC_ENDPOINT=https://sourcegraph.com \
  -e SRC_ACCESS_TOKEN=your-token \
  sourcegraph-mcp

# Or run with custom ports
docker run -p 9000:9000 -p 9080:9080 \
  -e SRC_ENDPOINT=https://sourcegraph.com \
  -e SRC_ACCESS_TOKEN=your-token \
  -e MCP_SSE_PORT=9000 \
  -e MCP_STREAMABLE_HTTP_PORT=9080 \
  sourcegraph-mcp

Configuration

Required Environment Variables

Optional Environment Variables

  • SRC_ACCESS_TOKEN: Authentication token for private Sourcegraph instances
  • MCP_SSE_PORT: SSE server port (default: 8000)
  • MCP_STREAMABLE_HTTP_PORT: HTTP server port (default: 8080)

Usage with AI Tools

Cursor

After running the MCP server, add the following to your .cursor/mcp.json file:

{
  "mcpServers": {
    "sourcegraph": {
      "url": "http://localhost:8080/sourcegraph/mcp/"
    }
   }
}

MCP Tools

This server provides three powerful tools for AI assistants:

🔍 search

Search across codebases using Sourcegraph's advanced query syntax with support for regex, language filters, and boolean operators.

📖 search_prompt_guide

Generate a context-aware guide for constructing effective search queries based on your specific objective.

📂 fetch_content

Retrieve file contents or explore directory structures from repositories.

Development

Linting and Formatting

# Check code style
uv run ruff check src/

# Format code
uv run ruff format src/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e41e29568fd2a57d92aae08cc77e1742159d2cc04c2ae07c383e24430700a84
MD5 e2ae8363ae3e8fcdb49027b9b4b7e215
BLAKE2b-256 b99b1c0a805c538ecd6f5482dff15cf8c9fe63f69a84caf3b288996213fe8851

See more details on using hashes here.

File details

Details for the file iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_divar_ir_sourcegraph_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b101d874ef570102a890e14b8ff36258b525b2c1cbfb047000fcf84975b1609
MD5 80b0aba013992c29df70178f4d7b5802
BLAKE2b-256 f0abf8bf85301862904684580b3ed7cd13128d0dc3b70ff86bbcbf54cc70995f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page