MCP Chat Analysis Server
# 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
```bash
# 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`:
```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
```python
{
"source_path": "/path/to/export.zip",
"format": "openai_native" # or html, markdown, json
}
```
### semantic_search
Search conversations by semantic similarity
```python
{
"query": "machine learning applications",
"limit": 10,
"min_score": 0.7
}
```
### analyze_metrics
Analyze conversation metrics
```python
{
"conversation_id": "conv-123",
"metrics": [
"message_frequency",
"response_times",
"topic_diversity"
]
}
```
### extract_concepts
Extract and analyze concepts
```python
{
"conversation_id": "conv-123",
"min_relevance": 0.5,
"max_concepts": 10
}
```
## Architecture
See [ARCHITECTURE.md](docs/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:
```bash
pip install mcp-chat-analysis-server
```
2. Set up databases:
```bash
# Using Docker (recommended)
docker compose up -d
```
3. Configure the server:
```bash
cp .env.example .env
# Edit .env with your settings
```
## Development
1. Clone the repository:
```bash
git clone https://github.com/rebots-online/mcp-chat-analysis-server.git
cd mcp-chat-analysis-server
```
2. Install development dependencies:
```bash
pip install -e ".[dev]"
```
3. Run tests:
```bash
pytest tests/
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Submit a pull request
See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for guidelines.
## License
MIT License - See [LICENSE](LICENSE) file for details.
## Related Projects
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
- [Claude Desktop](https://github.com/anthropics/claude-desktop)
- [Qdrant Vector Database](https://qdrant.tech/)
- [Neo4j Graph Database](https://neo4j.com/)
## Support
- 📖 [Documentation](docs/)
- 🐛 [Issue Tracker](https://github.com/rebots-online/mcp-chat-analysis-server/issues)
- 💬 [Discussions](https://github.com/rebots-online/mcp-chat-analysis-server/discussions)