TruInsights MCP Dashboard

Secure AI-powered call center analytics β€” powered by Model Context Protocol

πŸ‘‹ Hi! Ask me anything about your call data. For example:
"Show me sentiment distribution" or "Who are the top 10 agents?"

Sentiment Distribution

Top Agents by Call Volume

Voice of Customer: Top Objections

Frequent keywords from negative sentiment calls

πŸ›‘οΈ Security Playground

Test the read-only security layer. Try SELECT * FROM audio_detail LIMIT 5 βœ… or DROP TABLE audio_features ❌

❓ Example Questions for the RAG Chatbot

Click any question to send it to the chatbot

πŸ“Š Sentiment Analysis

Powered by get_sentiment_distribution

πŸ‘€ Agent Performance

Powered by get_agent_performance_metrics

πŸ“ž Concurrent Call Analysis

Powered by get_max_concurrent_calls

πŸ“‹ Call Outcomes

Powered by run_read_only_query

πŸ”¬ Advanced Queries

Powered by run_read_only_query β€” any SELECT is allowed

πŸ’‘ Tips: Be specific with time ranges β€’ Ask for chart types β€’ Use column names when you know them

About TruInsights MCP

TruInsights is a secure, AI-powered call center analytics platform built on the Model Context Protocol (MCP). It allows AI agents and humans to query call data through natural language, while enforcing strict read-only security at the core level.

πŸ”’ Core Layer

core/security.py β€” SQL firewall that blocks INSERT, UPDATE, DELETE, DROP.
core/auth.py β€” API key validation.
core/server.py β€” Base MCP server with security built in.

πŸ”§ Project Layer

projects/truinsights/server.py β€” Defines the MCP Tools that AI agents can call.
Tools include run_read_only_query, get_sentiment_distribution, etc.

πŸ’Ύ Data Layer

scripts/load_json_db.py β€” ETL script that ingests 23+ JSON dump files into SQLite.
Database: truinsights.db

πŸ› οΈ Available MCP Tools

Tool Description
run_read_only_query Execute any SELECT query securely. Blocks all data-modifying statements.
get_sentiment_distribution Returns sentiment breakdown for pie charts.
get_agent_performance_metrics Top agents ranked by call volume and average duration.
get_top_objections Finds frequent objection keywords from negative sentiment calls.
get_max_concurrent_calls Peak simultaneous calls using event-based overlap analysis.
list_available_tables Lists all tables in the database.
get_table_schema Returns column names and types for any table.

πŸ”Œ Access Methods

πŸ“Š This Dashboard

python api.py β†’ http://localhost:8000

πŸ” MCP Inspector

npx @modelcontextprotocol/inspector python projects/truinsights/server.py

πŸ€– Claude Desktop

Add to claude_desktop_config.json

🌐 SSE API

python projects/truinsights/run_sse.py β†’ http://localhost:8000/sse