Skip to main content
Glama

MCP Indexer

by gkatechis
README.md8.33 kB
# Scout Semantic code search indexer for AI tools via the Model Context Protocol (MCP). ⚡ **Want to get started quickly?** See [QUICKSTART.md](QUICKSTART.md) for a 5-minute setup guide. ## Documentation - **[QUICKSTART.md](QUICKSTART.md)** - Get running in 5 minutes - **[README.md](README.md)** (this file) - Overview and reference - **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)** - Configuration options - **[docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)** - Common issues and solutions - **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** - System architecture and internals - **[TESTING.md](TESTING.md)** - Testing guide - **[CONTRIBUTING.md](CONTRIBUTING.md)** - How to contribute - **[AGENTS.MD](AGENTS.MD)** - Instructions for AI coding agents ## For AI Coding Agents **If you're an AI agent working on this project**, please read [AGENTS.MD](AGENTS.MD) first. It contains instructions for using Beads issue tracking to manage tasks systematically across sessions. ## Overview Scout provides intelligent code search capabilities to any MCP-compatible LLM (Claude, etc.). It indexes your repositories using semantic embeddings, enabling natural language code search, symbol lookups, and cross-repo dependency analysis. ## Features - **Semantic Search**: Natural language queries find relevant code by meaning, not just keywords - **Multi-Language Support**: Python, JavaScript, TypeScript, Ruby, Go - **Cross-Repo Analysis**: Detect dependencies and suggest missing repos - **Incremental Updates**: Track git commits and reindex only when needed - **MCP Integration**: Works with any MCP-compatible LLM client - **Stack Management**: Persistent configuration for repo collections ## Installation **Quick Start:** Most users should use the automated setup script. Use manual setup only if the automated script fails or you need custom configuration. ### Prerequisites **Python 3.10 or higher** - Check your version: ```bash python3 --version ``` If you need to install or upgrade Python: - **macOS**: `brew install python@3.11` or download from https://python.org/downloads/ - **Ubuntu/Debian**: `sudo apt install python3.11 python3.11-venv` - **Windows**: Download from https://python.org/downloads/ ### Automated Setup (Recommended) 1. Clone the repository: ```bash git clone https://github.com/gkatechis/Scout.git cd Scout ``` 2. Run the setup script: ```bash ./setup.sh ``` This script will: - Create a virtual environment at `./venv` - Install all dependencies - Generate `.mcp.json` configuration with correct paths - Optionally add shell aliases for convenience Environment variables are **optional** - setup.sh configures sensible defaults. For advanced configuration (custom database paths, etc.), see [CONFIGURATION.md](docs/CONFIGURATION.md). <details> <summary><b>Manual Setup (Click to expand)</b></summary> **Use this method only if:** - The automated setup script fails - You need custom Python version or dependency management - You're integrating Scout into an existing project **Steps:** 1. Clone the repository: ```bash git clone https://github.com/gkatechis/Scout.git cd Scout ``` 2. Create and activate a virtual environment: ```bash python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. Install dependencies: ```bash pip install -e . ``` 4. Create configuration directory: ```bash mkdir -p ~/.scout ``` 5. Configure MCP integration (for Claude Code or other MCP clients): ```bash cp .mcp.json.example .mcp.json # Edit .mcp.json and update paths to your installation directory ``` 6. (Optional) Configure environment variables if needed: See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for advanced configuration options. </details> ## Quick Start ### 1. Activate Virtual Environment **Before using any commands, activate the virtual environment:** ```bash source venv/bin/activate ``` You'll need to activate the venv each time you open a new terminal. ### 2. Interactive Setup The easiest way to get started: ```bash scout init ``` This wizard will: - Verify your installation - Add your first repository - Run a demo search - Explain next steps ### 3. Add Repositories ```bash # Add a local repository scout add /path/to/local/repo # Add from GitHub (auto-clones and indexes) scout add https://github.com/user/repo # Specify a custom name scout add https://github.com/user/repo --name my-custom-name ``` ### 4. Use with MCP Clients Once configured in `.mcp.json`, the MCP server automatically starts when you use an MCP client like Claude Code. ## CLI Commands Reference ```bash # Getting started scout init # Interactive setup wizard scout check # Verify installation # Repository management scout add <path> # Add local repository scout add <url> # Clone and add from GitHub scout status # Show stack status # Keeping repos up to date scout check-updates # Check which repos need reindexing scout reindex-changed # Reindex repos with new commits # Recovery and maintenance scout recover # Recover from interrupted indexing # Git integration scout install-hook <repo-path> # Auto-reindex on git pull ``` For detailed help on any command: ```bash scout --help scout <command> --help ``` ## MCP Tools Reference The MCP server exposes 13 tools organized by functionality: ### AI-Powered Q&A (Recommended) **`answer_question`** - Ask questions about your codebase and get answers - Returns relevant code snippets + file references + analysis prompt for the AI agent - Example: "How does authentication work?" → Agent analyzes code and explains it - **Best for:** End users asking questions about codebases ### Search Tools **`semantic_search`** - Natural language code search - Returns list of code snippets with metadata (file, lines, relevance scores) - Example: "authentication logic" → Returns 10 relevant code snippets **`find_definition`** - Find where a symbol is defined - Example: "authenticate_user" → Shows where the function is defined **`find_references`** - Find all usages of a symbol - Example: "authenticate_user" → Shows all calls to this function **`find_related_code`** - Find architecturally related files - Example: Given "auth/login.py" → Finds other auth-related files ### Repository Management - **`add_repo_to_stack`** - Add a new repository to index - **`remove_repo`** - Remove a repository from the stack - **`list_repos`** - List all indexed repositories - **`get_repo_stats`** - Get detailed repository statistics - **`reindex_repo`** - Force reindex a repository ### Cross-Repo Analysis - **`get_cross_repo_dependencies`** - Find dependencies between repositories - **`suggest_missing_repos`** - Suggest repositories to add - **`get_stack_status`** - Get overall stack status ## Configuration Configuration is stored at `~/.scout/stack.json` and tracks all indexed repositories with their metadata. For detailed configuration options including environment variables, custom database locations, and advanced features, see [docs/CONFIGURATION.md](docs/CONFIGURATION.md). ## Troubleshooting For common issues and solutions, see [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md). Quick tips: - Enable debug logging: `scout --debug <command>` - Check installation: `scout check` - View logs: `~/.scout/logs/scout.log` ## Architecture For details on the internal architecture, components, and indexing pipeline, see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). ## Testing ```bash # Activate virtual environment first source venv/bin/activate # Run all tests pytest tests/ -v # Run specific test file pytest tests/test_embeddings.py -v ``` See [TESTING.md](TESTING.md) for the complete testing guide. ## Contributing We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for: - Development setup - Code style guidelines (black, flake8, isort) - Testing requirements - Pull request process - CI/CD pipeline information ## License [Add your license here] ## Support - **Documentation**: See the docs listed at the top of this README - **Issues**: Report bugs or request features via [GitHub Issues](https://github.com/gkatechis/Scout/issues)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gkatechis/mcpIndexer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server