Skip to main content
Glama
research-assistant-mcp

research-assistant-mcp

by laxmimerit

Research Assistant MCP Server

A Model Context Protocol (MCP) server that provides research assistance capabilities with ChromaDB vector storage. This server enables AI assistants to save, retrieve, and manage research content efficiently using vector embeddings.

Features

  • Vector Storage: Uses ChromaDB for efficient storage and retrieval

  • Topic Organization: Organize research content by topics

  • Deduplication: Automatic content deduplication using hashing

  • Semantic Search: Query research content using natural language

  • Multiple Topics: Manage multiple research topics simultaneously

  • OpenAI Embeddings: Uses OpenAI's text-embedding-3-small model

Related MCP server: Research Citations MCP Server

Installation

uvx research-assistant-mcp

Using uv

uv pip install research-assistant-mcp

Using pip

pip install research-assistant-mcp

From Source

git clone https://github.com/laxmimerit/research-assistant-mcp.git
cd research-assistant-mcp
uv pip install -e .

Configuration

Environment Variables

Required:

  • OPENAI_API_KEY - Your OpenAI API key for embeddings

  • RESEARCH_DB_PATH - Base path for storing research databases

    • A research_chroma_dbs directory will be created inside this path

    • Example: /path/to/data (will create /path/to/data/research_chroma_dbs)

    • Example: ~/.research_assistant_mcp (will create ~/.research_assistant_mcp/research_chroma_dbs)

Create a .env file with your configuration:

OPENAI_API_KEY=your-api-key-here
RESEARCH_DB_PATH=/path/to/data

Claude Desktop Configuration

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "research-assistant": {
      "command": "uvx",
      "args": ["research-assistant-mcp"],
      "env": {
        "OPENAI_API_KEY": "your-api-key-here",
        "RESEARCH_DB_PATH": "/path/to/data"
      }
    }
  }
}

Note: Both OPENAI_API_KEY and RESEARCH_DB_PATH are required. The database will be stored in RESEARCH_DB_PATH/research_chroma_dbs/.

Available Tools

1. save_research_data

Save research content to vector database for future retrieval.

Parameters:

  • content (List[str]): List of text content to save

  • topic (str): Topic name for organizing the data (creates separate DB)

Example:

Save these research findings about AI to the "artificial-intelligence" topic

2. query_research_data

Query saved research content using natural language.

Parameters:

  • query (str): Natural language query

  • topic (str): Topic to search in (default: "default")

  • k (int): Number of results to return (default: 5)

Example:

Query the "artificial-intelligence" topic for information about transformers

3. list_topics

List all available research topics and their document counts.

Example:

List all available research topics

4. delete_topic

Delete a research topic and all its associated data.

Parameters:

  • topic (str): Topic name to delete

Example:

Delete the "old-research" topic

5. get_topic_info

Get detailed information about a specific topic.

Parameters:

  • topic (str): Topic name

Example:

Get information about the "artificial-intelligence" topic

Usage Examples

Once configured with Claude Desktop or another MCP client, you can:

  • "Save this article about machine learning to my 'ml-research' topic"

  • "Query my 'ml-research' for information about neural networks"

  • "List all my research topics"

  • "Get information about the 'quantum-computing' topic"

  • "Delete the 'old-notes' topic"

Technical Details

  • Protocol: Model Context Protocol (MCP)

  • Transport: stdio

  • Vector Database: ChromaDB

  • Embeddings: OpenAI text-embedding-3-small

  • Storage: Local filesystem at RESEARCH_DB_PATH/research_chroma_dbs/

Requirements

  • Python 3.11 or higher

  • OpenAI API key

  • Dependencies: chromadb, langchain, fastmcp, openai

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/laxmimerit/research-assistant-mcp.git
cd research-assistant-mcp

# Install with development dependencies
uv pip install -e .

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Laxmi Kant Tiwari

Acknowledgments

Available Tools

5 tools
delete_research_topicA

Delete a research topic and all its data. Args: topic: Topic name to delete

Inputs: topic (required). Returns: result

get_topic_infoA

Get detailed information about a research topic. Args: topic: Topic name to get info for

Inputs: topic (required). Returns: result

list_research_topicsA

List all available research topics (vector databases).

Inputs: no named parameters. Returns: result

save_research_dataA

Save research content to vector database for future retrieval. Args: content: List of text content to save topic: Topic name for organizing the data (creates separate DB)

Inputs: content (required), topic. Returns: result

search_research_dataA

Search through saved research data using semantic similarity. Args: query: Search query topic: Topic database to search in max_results: Maximum number of results to return

Inputs: query (required), topic, max_results. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: save, search, list, delete, and get info. There is no overlap or ambiguity between them.

    Naming Consistency4/5

    Tool names follow a consistent verb_noun pattern (save, search, list, delete, get). Minor inconsistency: some use 'research_data' and others 'topic(s)', but the pattern is still predictable.

    Tool Count5/5

    Five tools is well-scoped for a research assistant. Each tool covers a necessary function without redundancy or bloat.

    Completeness4/5

    Core lifecycle is covered: create (save), read (search, get_info, list), and delete (topic). Missing an update/edit tool, but for research data re-saving is a viable workaround.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that integrates with LangChain and ChromaDB to provide documentation search for AI libraries and vector database management.
      4
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that provides semantic search over a document corpus, enabling AI clients to retrieve and cite relevant chunks from indexed documents via RAG pipelines.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A MCP server for document ingestion and semantic search using ChromaDB and sentence transformers, enabling users to query natural language over ingested documents.
      -