P

mcp-chat-analysis-server

...
Created 1/5/2025byrebots-online

Language:

Python

Stars:

10

Forks:

0

MCP Chat Analysis Server

A Model Context Protocol (MCP) server that enables semantic analysis of chat conversations through vector embeddings and knowledge graphs. This server provides tools for analyzing chat data, performing semantic search, extracting concepts, and analyzing conversation patterns.

Key Features

  • πŸ” Semantic Search: Find relevant messages and conversations using vector similarity
  • πŸ•ΈοΈ Knowledge Graph: Navigate relationships between messages, concepts, and topics
  • πŸ“Š Conversation Analytics: Analyze patterns, metrics, and conversation dynamics
  • πŸ”„ Flexible Import: Support for various chat export formats
  • πŸš€ MCP Integration: Easy integration with Claude and other MCP-compatible systems

Quick Start

# Install the package
pip install mcp-chat-analysis-server

# Set up configuration
cp config.example.yml config.yml
# Edit config.yml with your database settings

# Run the server
python -m mcp_chat_analysis.server

MCP Integration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "chat-analysis": {
      "command": "python",
      "args": ["-m", "mcp_chat_analysis.server"],
      "env": {
        "QDRANT_URL": "http://localhost:6333",
        "NEO4J_URL": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "your-password"
      }
    }
  }
}

Available Tools

import_conversations

Import and analyze chat conversations

{
    "source_path": "/path/to/export.zip",
    "format": "openai_native"  # or html, markdown, json
}

semantic_search

Search conversations by semantic similarity

{
    "query": "machine learning applications",
    "limit": 10,
    "min_score": 0.7
}

analyze_metrics

Analyze conversation metrics

{
    "conversation_id": "conv-123",
    "metrics": [
        "message_frequency",
        "response_times",
        "topic_diversity"
    ]
}

extract_concepts

            Extract and analyze concepts
{
    "conversation_id": "conv-123",
    "min_relevance": 0.5,
    "max_concepts": 10
}

Architecture

See ARCHITECTURE.md for detailed diagrams and documentation of:

  • System components and interactions
  • Data flow and processing pipeline
  • Storage schema and vector operations
  • Tool integration mechanism

Prerequisites

  • Python 3.8+
  • Neo4j database for knowledge graph storage
  • Qdrant vector database for semantic search
  • sentence-transformers for embeddings

Installation

  1. Install the package:
pip install mcp-chat-analysis-server
  1. Set up databases:
# Using Docker (recommended)
docker compose up -d
  1. Configure the server:
cp .env.example .env
# Edit .env with your settings

Development

  1. Clone the repository:
git clone https://github.com/rebots-online/mcp-chat-analysis-server.git
cd mcp-chat-analysis-server
  1. Install development dependencies:
pip install -e ".[dev]"
  1. Run tests:
pytest tests/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

See CONTRIBUTING.md for guidelines.

License

MIT License - See LICENSE file for details.

Related Projects

Support

Last updated: 1/5/2025

Publisher info

rebots-online's avatar

Robin Cheung, MBA

"Jacks of all trades lack depth across polymathic breadth, mastering none. I specialize in synthesizing unique insights from depths across many domains."

Mining My Own Business
Toronto, Canada
6
followers
121
following
726
repos

More MCP servers built with Python

MCP Server for Bing Webmaster Tools

An MCP (Model Context Protocol) server that provides access to Bing Webmaster Tools functionality

By isiahw1
usgs-water-mcp

This MCP server provides access to real-time water data from the USGS Water Services API. It allows you to fetch instantaneous water measurements including stream flow, gage height, temperature, and other water quality parameters from thousands of monitoring stations across the United States.

By pgiffy
screeny

Privacy-focused macOS MCP server for secure, user-approved window screenshots

By rohanrav