Generates HTML visualizations for sentiment analysis reports and customer analytics dashboards.
Implements NLP-based sentiment analysis and churn prediction using TextBlob and NLTK for natural language processing of customer conversations.
Provides persistent storage for customer sentiment data, conversation histories, and risk alerts, enabling trend analysis and churn prediction tracking over time.
title: MCP NLP Analytics emoji: π colorFrom: indigo colorTo: blue sdk: static app_file: index.html pinned: false tags:
building-mcp-track-01
Sentiment Evolution Tracker β MCP Monitoring Stack
Sentiment Evolution Tracker is an enterprise-ready monitoring stack that runs as a Model Context Protocol (MCP) server. It combines local sentiment analytics, churn prediction, alerting, and reporting, and can operate standalone or alongside Claude Desktop as an intelligent assistant.
Why This Exists
Traditional "use Claude once and move on" workflows do not keep historical context, trigger alerts, or generate portfolio-level insights. Sentiment Evolution Tracker solves that by providing:
Automated trend detection (RISING / DECLINING / STABLE)
Churn probability scoring with configurable thresholds
Persistent customer histories in SQLite
Real-time alerts when risk exceeds 70%
ASCII and HTML visualizations for demos and stakeholders
Seven MCP tools that Claude (or any MCP-compatible LLM) can invoke on demand
π₯ Demo Video
A demo video (3-4 minutes) showing live sentiment analysis, risk detection, and MCP integration with Claude:
The video demonstrates:
Live sentiment analysis of customer conversations
Risk detection and churn prediction
MCP tool invocation via Claude Desktop
Real-time alerts and reporting
How to Use
Quick Start (5 minutes)
Clone and install:
git clone https://github.com/RubenReyesss/mcp-nlp-analytics.git cd mcp-nlp-server pip install -r requirements.txt python -m textblob.download_corpora python -m nltk.downloader punkt averaged_perceptron_taggerPopulate demo data:
python init_db.py python tools/populate_demo_data.pyView dashboard:
python tools/dashboard.pyGenerate HTML report:
python tools/generate_report.py # Opens data/reporte_clientes.html in your browserIntegrate with Claude Desktop:
Edit
config/claude_desktop_config.jsonwith your actual pathRestart Claude Desktop
Start the MCP server:
python src/mcp_server.pyNow Claude can access all 7 sentiment analysis tools
Installation
Daily Operations
python init_db.pyβ rebuilds the database from scratch (reset option)python tools\populate_demo_data.pyβ loads deterministic demo customerspython tools\dashboard.pyβ terminal dashboard (Ctrl+C to exit)python tools\generate_report.pyβ createsdata/reporte_clientes.htmlpython src\mcp_server.pyβ launch the MCP server for Claude Desktop
MCP Tool Suite
Tool | Purpose |
| Calculates sentiment trajectory for a set of messages |
| Flags phrases that correlate with churn or dissatisfaction |
| Forecasts CHURN / ESCALATION / RESOLUTION outcomes |
| Retrieves full timeline, sentiment, and alerts for a customer |
| Returns customers whose churn risk is above a threshold |
| Portfolio-level KPIs (customers, alerts, sentiment mean) |
| Persists a custom analysis entry with full metadata |
Data Model (SQLite)
customer_profilesβ customer metadata, lifetime sentiment, churn risk, timestampsconversationsβ every analysis entry, trend, predicted action, confidencerisk_alertsβ generated alerts with severity, notes, and resolution state
Database files live in data/sentiment_analysis.db; scripts automatically create the directory if needed.
Claude Desktop Integration
config/claude_desktop_config.json registers the server:
Restart Claude Desktop after editing the file. Once connected, the seven tools above appear automatically and can be invoked using natural language prompts.
Documentation Map
docs/QUICK_START.mdβ five-minute functional checklistdocs/ARCHITECTURE.mdβ diagrams, module responsibilities, data flowdocs/HOW_TO_SAVE_ANALYSIS.mdβ practical guide for thesave_analysistooldocs/EXECUTIVE_SUMMARY.mdβ executive briefing for stakeholdersdocs/CHECKLIST_FINAL.mdβ submission readiness checklist
Tech Stack
Python 3.10+
MCP SDK 0.1+
SQLite (standard library)
TextBlob 0.17.x + NLTK 3.8.x
Chart.js for optional HTML visualizations
π Documentation
For a comprehensive technical explanation of the NLP processing, architecture, and MCP integration, see:
This document covers:
NLP & Processing: Why sentiment evolution tracking matters, hybrid scoring approach, and real business value
Architecture Diagram: Complete system flow (Mermaid visualization)
Technical Details: Model stack, tool implementations, database schema, scoring algorithms
MCP Explained: What is MCP, why it matters, and how it gives Claude persistent memory
Implementation Highlights: Trend detection, churn prediction, multilingual support
Status
β Production-style folder layout
β Deterministic demo dataset for the hackathon video
β Comprehensive English documentation
β Tests for the
save_analysisworkflow (tests/test_save_analysis.py)β Technical deep dive with NLP explanations and architecture diagrams
Run python tools\dashboard.py or open the generated HTML report to verify data before your demo, then start the MCP server and launch Claude Desktop to show the agentic workflow in real time.
Team
Role | Contributor | GitHub |
Developer | RubenReyesss |
Track
This project is submitted to Track 1: Building MCPs (building-mcp-track-01).
It demonstrates a production-ready MCP server that extends Claude's capabilities with persistent analytics, risk prediction, and alertingβsolving the limitation that Claude lacks memory, database writes, and automated monitoring.
π± Social Media Post
Announcement on LinkedIn:
Read the full post on LinkedIn
Featured in: MCP 1st Birthday Hackathon
Resources
GitHub Repository: https://github.com/RubenReyesss/mcp-nlp-analytics
Hugging Face Space: https://huggingface.co/spaces/MCP-1st-Birthday/mcp-nlp-analytics
Demo Video: https://youtu.be/h2tNu2KTPQk
LinkedIn Post: https://www.linkedin.com/posts/rubenreyesparra_mcp-nlp-analytics-a-hugging-face-space-activity-7400976539959390208-SG3Q
Made with β€οΈ for the Anthropic MCP 1st Birthday Hackathon