kavi-research-assistant-mcp
Enables AI to save, organize, search, and synthesize research materials using a local vector database with support for both OpenAI and Ollama backends.
README
<div align="center">
<img src="assets/logo.png" alt="KAVI RESEARCH" width="200" style="margin-bottom: 20px;">
KAVI RESEARCH
Your Premium AI Research Librarian
Features โข Installation โข Configuration โข Usage โข Contributing
</div>
๐ Overview
<img src="assets/dashboard_preview.png" alt="Kavi Research Dashboard" width="100%" style="margin: 15px 0; border-radius: 10px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
KAVI RESEARCH is a premium Model Context Protocol (MCP) server designed to transform your AI into a dedicated research assistant.
Stop losing track of important findings. KAVI RESEARCH enables your AI to save, organize, search, and synthesize high-volume research materials using a local vector database. Whether you are using OpenAI or local Ollama models, KAVI RESEARCH keeps your knowledge accessible, private, and secure.
Newly Added in v2.1: Large Document Support! KAVI RESEARCH now automatically chunks massive PDFs and files into manageable semantic segments to bypass LLM context limits.
โจ Features
- ๐ง Dual Backend Support: seamless switching between OpenAI (Cloud) and Ollama (Local/Private).
- ๐ฃ๏ธ RAG Capabilities: "Chat" with your research topics using advanced Retrieval-Augmented Generation.
- ๐ Smart Storage: Automatic content deduplication and vector embedding using ChromaDB.
- ๐ Semantic Search: Find what you need using natural language, not just keywords.
- ๐ Topic Organization: Keep different research streams (e.g., "AI Agents", "React Patterns") isolated and organized.
- โก Fast & Efficient: Built on
fastmcpandlangchainfor high performance.
๐ฆ Installation
Recommended: using uv (Fastest)
# Run the AI Agent (MCP Server)
uvx kavi-research-assistant-mcp
# Run the Web UI (Gradio)
uv run kavi-research-ui
Using pip
pip install kavi-research-assistant-mcp
๐จ Web Interface (UI)
We provide a beautiful, colorful web interface to manage your research.
uv run kavi-research-ui
- ๐ Ask Researcher: Chat with your research librarian.
- ๐พ Save Knowledge: Easily paste and save new notes.
- ๐ Dashboard: View summaries and manage your topics.
โ๏ธ Configuration
You can configure the agent to use either OpenAI (default) or a local Ollama instance.
Option 1: OpenAI (Default)
Powerful, zero-setup (requires API Key).
export OPENAI_API_KEY=sk-...
export RESEARCH_DB_PATH=~/research_db
export LLM_PROVIDER=openai
Option 2: Ollama (Local & Private)
Run entirely on your machine. No API keys required.
-
Pull Models:
ollama pull llama3.2 ollama pull nomic-embed-text -
Configure Environment:
export RESEARCH_DB_PATH=~/research_db export LLM_PROVIDER=ollama # Optional overrides # export OLLAMA_BASE_URL=http://localhost:11434
Claude Desktop Setup
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"kavi-research": {
"command": "uvx",
"args": ["kavi-research-assistant-mcp"],
"env": {
"RESEARCH_DB_PATH": "/Users/username/research_db",
"OPENAI_API_KEY": "sk-..."
}
}
}
}
๐ ๏ธ MCP Tool Reference
Model Context Protocol (MCP) allows Kavi to act as a bridge between your AI and a private knowledge base. Below are the tools provided:
1. ๐ฅ Data Ingestion
save_research_data(content: List[str], topic: str): Saves raw text or snippets.- Usecase: Saving paper abstracts or news headlines.
save_research_files(file_paths: List[str], topic: str): Parses and vectorizes documents.- Supported Formats:
.pdf,.txt,.docx. - Usecase: Ingesting a folder of research PDF papers.
- Supported Formats:
2. ๐ Knowledge Retrieval & RAG
ask_research_topic(query: str, topic: str): Answers questions using Retrieval Augmented Generation.- Usecase: "What does my research say about Agentic Workflows?"
summarize_topic(topic: str): Generates a high-level executive summary of an entire library.- Usecase: Periodic review of a project topic.
3. ๐ Management
list_research_topics(): Returns a list of all libraries and their document counts.search_research_data(query: str, topic: str): Performs raw semantic similarity search for specific chunks.
๐งช Testing & Usage Steps
Step 1: Initialize the Environment
Ensure your preferred LLM backend is running. For Ollama:
ollama serve
ollama pull llama3.2
ollama pull nomic-embed-text
Step 2: Launch the Assistant
You can interact via the MCP Inspector (Command Line) or the Web UI.
To test via MCP Inspector:
npx @modelcontextprotocol/inspector uv run kavi-research-assistant-mcp
Once the inspector opens in your browser, you can manually trigger tools like list_research_topics.
Step 3: Populate with Knowledge
Ask your AI (via Claude Desktop or the UI) to save information:
"Save the following text to my 'ai-market' topic: [Your Text Here]"
Step 4: Validate RAG (The "Proof of Work")
Ask a question that only your saved data could answer:
"Based on my 'ai-market' data, what was the projected growth for 2026?"
Step 5: Dashboard Review
Open the UI to see your topic cards visualized gracefully.
uv run kavi-research-ui
๐ก Typical Usecase Scenarios
- Academic Research: Upload 50 PDF papers into a topic called
thesis. Useask_research_topicto find contradictions or common methodologies across all papers. - Market Intelligence: Save daily news snippets about competitors into
competitor-intel. Every Friday, runsummarize_topicto get a weekly briefing. - Code Library: Save documentation for obscure libraries into
dev-docs. Use Kavi to answer "How do I implement X using Y?" without the LLM hallucinating.
๐จโ๐ป Author & Credits
Machha Kiran
- ๐ง Email: machhakiran@gmail.com
- ๐ GitHub: @machhakiran
Branding:
- Copyright ยฉ 2025 kavi.ai. All rights reserved.
kavi.aiand the Kavi logo are trademarks of kavi.ai.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
<div align="center"> <sub>Built with โค๏ธ by the kavi.ai team</sub> </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.