Skip to main content
Glama
mcp-research-assistant

mcp-research-assistant

by CyprianFusi

MCP Research Assistant Server

By BINATI AInalytics

A Model Context Protocol (MCP) server that provides intelligent research data management using vector embeddings and semantic search. This server enables you to save, organize, and retrieve research content using ChromaDB and OpenAI embeddings.

Screenshots

UI Screenshot 1 UI Screenshot 2 UI Screenshot 3 UI Screenshot 4 UI Screenshot 5

Related MCP server: Chroma MCP Server

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

Installation

uvx mcp-research-assistant

Using uv

uv pip install mcp-research-assistant

Using pip

pip install mcp-research-assistant

From Source

git clone https://github.com/CyprianFusi/mcp-research-assistant.git
cd mcp-research-assistant
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": ["mcp-research-assistant"],
      "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/CyprianFusi/mcp-research-assistant.git
cd mcp-research-assistant

# Install with development dependencies
uv pip install -e .

License

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

Author

Cyprian Fusi

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_infoB

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_dataB

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

    A3.8/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a distinct operation: listing, getting info, saving, searching, and deleting topics. No overlap in functionality, making it easy for an agent to select the correct tool.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (e.g., delete_research_topic, list_research_topics), making the naming predictable and intuitive.

    Tool Count5/5

    Five tools is appropriate for a research assistant, covering essential CRUD-like operations without being too sparse or overwhelming.

    Completeness4/5

    The tool surface covers listing, reading, creating, searching, and deleting research data. The only minor gap is the lack of an explicit update operation, but 'save' may serve as an upsert.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A server that provides data retrieval capabilities powered by Chroma embedding database, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, and metadata filtering.
      13
      87,391 PyPI
      602
      Apache 2.0