|
1 | | -# RagCode MCP Server |
| 1 | +<div align="center"> |
| 2 | + <img src="./docs/assets/ragcode-banner.png" alt="RagCode MCP - Semantic Code Navigation with AI" width="100%"> |
| 3 | +</div> |
| 4 | + |
| 5 | +<div align="center"> |
2 | 6 |
|
3 | 7 | [](./LICENSE) |
4 | 8 | [](https://go.dev/) |
5 | 9 | [](https://modelcontextprotocol.io) |
| 10 | +[](https://github.com/doITmagic/rag-code-mcp) |
| 11 | + |
| 12 | +</div> |
| 13 | + |
| 14 | +# RagCode MCP Server - AI-Powered Semantic Code Search & Navigation |
| 15 | + |
| 16 | +> **Transform your AI coding assistant with intelligent semantic code search using RAG (Retrieval-Augmented Generation)** |
| 17 | +
|
| 18 | +RagCode is a **Model Context Protocol (MCP) server** that enables AI assistants like GitHub Copilot, Cursor, Windsurf, and Claude to understand and navigate your codebase through **semantic vector search** instead of simple text matching. |
| 19 | + |
| 20 | +Built with the official [Model Context Protocol Go SDK](https://github.com/modelcontextprotocol/go-sdk), RagCode provides **9 powerful tools** for intelligent code search, function analysis, type definitions, and documentation retrieval across **multi-language projects**. |
| 21 | + |
| 22 | +### 🎯 Key Features |
| 23 | + |
| 24 | +- 🔍 **Semantic Code Search** - Find code by meaning, not just keywords |
| 25 | +- 🚀 **5-10x Faster** - Instant results vs. reading entire files |
| 26 | +- 💰 **98% Token Savings** - Reduce AI context usage dramatically |
| 27 | +- 🌐 **Multi-Language** - Go, PHP (Laravel), Python, JavaScript support |
| 28 | +- 🏢 **Multi-Workspace** - Handle multiple projects simultaneously |
| 29 | +- 🤖 **AI-Ready** - Works with Copilot, Cursor, Windsurf, Claude, Antigravity |
| 30 | + |
| 31 | +### 🛠️ Technology Stack |
6 | 32 |
|
7 | | -**Semantic code navigation server using Retrieval‑Augmented Generation (RAG) with multi‑language support.** |
| 33 | +**Ollama** (LLM + embeddings) + **Qdrant** (vector database) + **Docker** + **MCP Protocol** |
8 | 34 |
|
9 | | -Built with the official [Model Context Protocol Go SDK](https://github.com/modelcontextprotocol/go-sdk), RagCode provides intelligent code search and navigation tools over vector‑indexed codebases. |
| 35 | +### 💻 Compatible IDEs & AI Assistants |
10 | 36 |
|
11 | | -**Stack:** Ollama (LLM + embeddings) + Qdrant (vector database) + Docker + MCP |
12 | | -**Clients:** Windsurf, Cursor, Antigravity, Claude Desktop, VS Code + Copilot, MCP Inspector |
| 37 | +Windsurf • Cursor • Antigravity • Claude Desktop • **VS Code + GitHub Copilot** • MCP Inspector |
13 | 38 |
|
14 | 39 | --- |
15 | 40 |
|
@@ -48,14 +73,36 @@ Without RagCode, AI assistants must: |
48 | 73 |
|
49 | 74 | --- |
50 | 75 |
|
51 | | -## ✨ Features |
| 76 | +## ✨ Core Features & Capabilities |
52 | 77 |
|
53 | | -- **9 MCP Tools** – semantic search, hybrid search, function details, type definitions, workspace indexing, and more |
54 | | -- **Multi‑Language Support** – Go (≈82% coverage), PHP (≈84% coverage) + Laravel framework, Python (planned) |
55 | | -- **Multi‑Workspace Detection** – automatic workspace detection and per‑workspace collections |
56 | | -- **Per‑Language Collections** – separate Qdrant collections for each language (e.g., `ragcode-{workspace}-go`) |
57 | | -- **Hybrid Search** – combines semantic (vector) and lexical (keyword) search for better relevance |
58 | | -- **Direct File Access** – read code context without indexing |
| 78 | +### 🔧 9 Powerful MCP Tools for AI Code Assistants |
| 79 | + |
| 80 | +1. **`search_code`** - Semantic vector search across your entire codebase |
| 81 | +2. **`hybrid_search`** - Combined semantic + keyword search for maximum accuracy |
| 82 | +3. **`get_function_details`** - Complete function signatures, parameters, and implementation |
| 83 | +4. **`find_type_definition`** - Locate class, struct, and interface definitions instantly |
| 84 | +5. **`find_implementations`** - Discover all usages and implementations of any symbol |
| 85 | +6. **`list_package_exports`** - Browse all exported symbols from any package/module |
| 86 | +7. **`search_docs`** - Semantic search through project documentation (Markdown) |
| 87 | +8. **`get_code_context`** - Extract code snippets with surrounding context |
| 88 | +9. **`index_workspace`** - Automated workspace indexing with language detection |
| 89 | + |
| 90 | +### 🌐 Multi-Language Code Intelligence |
| 91 | + |
| 92 | +- **Go** - ≈82% coverage with full AST analysis |
| 93 | +- **PHP** - ≈84% coverage + Laravel framework support |
| 94 | +- **Python** - Coming soon with full type hint support |
| 95 | +- **JavaScript/TypeScript** - Planned for future releases |
| 96 | + |
| 97 | +### 🏗️ Advanced Architecture |
| 98 | + |
| 99 | +- **Multi-Workspace Detection** - Automatically detects project boundaries (git, go.mod, composer.json, package.json) |
| 100 | +- **Per-Language Collections** - Separate vector databases for each language (`ragcode-{workspace}-go`, `ragcode-{workspace}-php`) |
| 101 | +- **Automatic Indexing** - Background indexing on first use, no manual intervention needed |
| 102 | +- **Vector Embeddings** - Uses Ollama's `nomic-embed-text` for high-quality semantic embeddings |
| 103 | +- **Hybrid Search Engine** - Combines vector similarity with BM25 lexical matching |
| 104 | +- **Direct File Access** - Read code without indexing for quick lookups |
| 105 | +- **Smart Caching** - Efficient re-indexing only for changed files |
59 | 106 |
|
60 | 107 | --- |
61 | 108 |
|
@@ -353,22 +400,68 @@ ollama pull phi3:medium |
353 | 400 |
|
354 | 401 | --- |
355 | 402 |
|
356 | | -## 🔗 Useful Links |
357 | | -- **GitHub:** https://github.com/doITmagic/rag-code-mcp |
358 | | -- **Issues:** https://github.com/doITmagic/rag-code-mcp/issues |
359 | | -- **Ollama Docs:** https://ollama.com |
360 | | -- **Qdrant Docs:** https://qdrant.tech |
| 403 | +## 🔗 Resources & Documentation |
| 404 | + |
| 405 | +### 📖 Project Documentation |
| 406 | +- **[Quick Start Guide](./QUICKSTART.md)** - Get started in 5 minutes |
| 407 | +- **[VS Code + Copilot Integration](./docs/vscode-copilot-integration.md)** - Detailed setup for GitHub Copilot |
| 408 | +- **[Architecture Overview](./docs/architecture.md)** - Technical deep dive |
| 409 | +- **[Tool Schema Reference](./docs/tool_schema_v2.md)** - Complete API documentation |
| 410 | + |
| 411 | +### 🌐 External Resources |
| 412 | +- **[GitHub Repository](https://github.com/doITmagic/rag-code-mcp)** - Source code and releases |
| 413 | +- **[Issue Tracker](https://github.com/doITmagic/rag-code-mcp/issues)** - Report bugs or request features |
| 414 | +- **[Model Context Protocol](https://modelcontextprotocol.io)** - Official MCP specification |
| 415 | +- **[Ollama Documentation](https://ollama.com)** - LLM and embedding models |
| 416 | +- **[Qdrant Documentation](https://qdrant.tech)** - Vector database guide |
| 417 | + |
| 418 | +### 🎓 Learning Resources |
| 419 | +- **[What is RAG?](https://en.wikipedia.org/wiki/Prompt_engineering#Retrieval-augmented_generation)** - Understanding Retrieval-Augmented Generation |
| 420 | +- **[Vector Embeddings Explained](https://qdrant.tech/articles/what-are-embeddings/)** - How semantic search works |
| 421 | +- **[MCP for Developers](https://github.com/modelcontextprotocol/specification)** - Building MCP servers |
361 | 422 |
|
362 | 423 | --- |
363 | 424 |
|
364 | | -## 🤝 Contributing |
365 | | -Contributions are welcome! Open a PR or an Issue on GitHub. |
| 425 | +## 🤝 Contributing & Community |
| 426 | + |
| 427 | +We welcome contributions from the community! Here's how you can help: |
| 428 | + |
| 429 | +- 🐛 **Report Bugs** - [Open an issue](https://github.com/doITmagic/rag-code-mcp/issues/new) |
| 430 | +- 💡 **Request Features** - Share your ideas for new tools or languages |
| 431 | +- 🔧 **Submit PRs** - Improve code, documentation, or add new features |
| 432 | +- ⭐ **Star the Project** - Show your support on GitHub |
| 433 | +- 📢 **Spread the Word** - Share RagCode with other developers |
| 434 | + |
| 435 | +### Development Setup |
| 436 | +```bash |
| 437 | +git clone https://github.com/doITmagic/rag-code-mcp.git |
| 438 | +cd rag-code-mcp |
| 439 | +go mod download |
| 440 | +go run ./cmd/rag-code-mcp |
| 441 | +``` |
366 | 442 |
|
367 | 443 | --- |
368 | 444 |
|
369 | 445 | ## 📄 License |
370 | | -MIT License – see the `LICENSE` file for details. |
| 446 | + |
| 447 | +RagCode MCP is open source software licensed under the **MIT License**. |
| 448 | + |
| 449 | +See the [LICENSE](./LICENSE) file for full details. |
371 | 450 |
|
372 | 451 | --- |
373 | 452 |
|
374 | | -**Questions? Problems?** Open an Issue on GitHub! 🚀 |
| 453 | +## 🏷️ Keywords & Topics |
| 454 | + |
| 455 | +`semantic-code-search` `rag` `retrieval-augmented-generation` `mcp-server` `model-context-protocol` `ai-code-assistant` `vector-search` `code-navigation` `ollama` `qdrant` `github-copilot` `cursor-ai` `windsurf` `go` `php` `laravel` `code-intelligence` `ast-analysis` `embeddings` `llm-tools` |
| 456 | + |
| 457 | +--- |
| 458 | + |
| 459 | +<div align="center"> |
| 460 | + |
| 461 | +**Built with ❤️ for developers who want smarter AI code assistants** |
| 462 | + |
| 463 | +⭐ **[Star us on GitHub](https://github.com/doITmagic/rag-code-mcp)** if RagCode helps your workflow! |
| 464 | + |
| 465 | +**Questions? Problems?** [Open an Issue](https://github.com/doITmagic/rag-code-mcp/issues) • [Read the Docs](./QUICKSTART.md) • [Join Discussions](https://github.com/doITmagic/rag-code-mcp/discussions) |
| 466 | + |
| 467 | +</div> |
0 commit comments