🤖 RageBot MCP
Intelligent Project Context Engine with full MCP Server support. Index your codebase, query it in natural language, and expose it as tools to any AI client.
📦 Installation
To install RageBot as a package, run:
pip install ragebot
✨ Features
- 🔍 Semantic Code Search: Powered by FAISS and Sentence-Transformers for deep codebase understanding.
- 💬 Interactive AI Chat: Multi-turn persistent sessions with context preservation.
- 🤖 Multi-Provider LLM: Support for Google Gemini, Groq, and local Ollama models.
- 🔌 Full MCP Server: Expose your codebase as tools to Claude Desktop, Cursor, Zed, and more.
- 📖 Code Intelligence: Auto-generate documentation, unit tests, and symbol explanations.
- 📸 Snapshot Management: Save, list, and restore project index states instantly.
- 🔒 Secure Key Storage: API keys are stored in the OS keyring (macOS Keychain, Windows Credential Manager).
- 🎨 Modern CLI: Rich terminal output with interactive menus and progress indicators.
🚀 Quick Start
1. Authenticate
Configure your preferred AI provider:
# Interactive setup for Gemini, Groq, or Ollama
rage auth
2. Initialize & Index
Prepare your project for analysis:
cd /path/to/your/project
rage init
rage save
3. Start Querying
Ask questions or enter the interactive REPL:
# Ask a quick question
rage ask "How does the authentication logic work?"
# Start interactive REPL
ragebot
📋 Command Reference
Core Commands
| Command | Description |
|---|---|
rage init |
Initialize RageBot in the current directory. |
rage save |
Index the project and save a snapshot. |
rage ask |
Ask a one-shot question about the codebase. |
rage chat |
Start an interactive multi-turn chat session. |
rage search |
Perform a semantic search across files. |
rage explain |
Get a detailed explanation of a file or symbol. |
rage docs |
Generate Markdown documentation for a file. |
rage test |
Generate pytest test cases for a file. |
rage status |
Show project indexing and LLM connectivity status. |
rage context |
Show project overview (use --tree for file structure). |
Management Commands
| Command | Description |
|---|---|
rage auth |
Manage API keys and active providers. |
rage config |
View or edit configuration settings. |
rage model |
Switch between available models for the active provider. |
rage snapshot |
List, restore, or delete project snapshots. |
rage history |
List and resume previous chat sessions. |
🔌 MCP Server
RageBot is a compliant Model Context Protocol server. You can use it as a toolset for AI IDEs and clients.
Tools Provided:
ragebot_ask: AI question & answer with citations.ragebot_search: Semantic/keyword search.ragebot_save: Index or re-index the project.ragebot_explain: Explain files or symbols.ragebot_file_tree: Get project structure.ragebot_generate_docs: Auto-generate documentation.ragebot_generate_tests: Auto-generate tests.ragebot_apply_edit: Apply natural language edits to files.
Start the Server:
# Stdio transport (default)
ragebot-mcp-server --project /path/to/your/project
# SSE transport
ragebot-mcp-server --transport sse --port 8765 --project /path/to/your/project
📁 Project Structure
ragebot/
├── agents/ # Context builders for specific AI roles
├── auth/ # Secure provider authentication (Keyring)
├── core/ # Orchestrator, Scanner, and Config management
├── llm/ # LLM implementations (Gemini, Groq, Ollama)
├── mcp/ # MCP Server implementation (Stdio & SSE)
├── parsers/ # AST-based code and document parsers
├── search/ # Vector embeddings and FAISS retrieval
├── storage/ # SQLite database and Snapshot logic
└── utils/ # UI helpers, logging, and token utilities
🛠️ Development
If you want to contribute or run from source:
-
Clone the repository:
git clone https://github.com/atharvrahate296/Ragebot-MCP cd Ragebot-MCP
-
Install in editable mode:
pip install -r requirements.txt
-
Run tests:
python ./tests/tests.py
Contributions from all collaborators are welcome for the continued development of RageBot MCP.
📄 License
MIT © Atharv Rahate
Metadata
Release files for ragebot-mcp 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ragebot_mcp-1.0.4.tar.gz | 92.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ragebot_mcp-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 192.5 kB
Release files / ragebot_mcp-1.0.4.tar.gz
| Download URL | ragebot_mcp-1.0.4.tar.gz |
|---|---|
| Size | 92.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e5e44de94e0e0fed55811b3de3d9c42e42a9658c380e90f2a43066d11310f365
|
|
BLAKE2b-256 checksum How to use checksums |
69fc279aee1f1e33efdb345c2ebaced40d94478ae478e16480adbbdae89ca4f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / ragebot_mcp-1.0.4-py3-none-any.whl
| Download URL | ragebot_mcp-1.0.4-py3-none-any.whl |
|---|---|
| Size | 99.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f41430a27ee7d53530ccd4d114150da68645f51a994ba6d742913391b0b4904e
|
|
BLAKE2b-256 checksum How to use checksums |
2464181cb5eebe24a54cea44430e9b28de59976cc3c905d6046cf91d2fec9d16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Security for ragebot-mcp 1.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.