mcp-sentiment / usage /README.md
phil71x
feat: Introduce new sentiment analysis scripts and rename other scripts . Enhance documentation
23d394c

A newer version of the Gradio SDK is available: 5.44.1

Upgrade

Usage Scripts

This folder contains working solutions and utilities for MCP sentiment analysis with consistent naming and proper documentation.

πŸš€ Working Solutions

1. sentiment_mcp_core_usage.py ⭐ RECOMMENDED

  • What it does: Uses smolagents MCPClient for proper MCP protocol connection
  • Performance: ~0.11 seconds per request (fastest!)
  • Status: βœ… Works perfectly
  • Usage: pdm run python usage/sentiment_mcp_core_usage.py
  • Dependencies: smolagents[mcp] (already installed)
  • Protocol: Native MCP via smolagents

2. sentiment_mcp_gradio_usage.py

  • What it does: Creates a Gradio UI that connects to MCP sentiment analysis server
  • Performance: Fast UI-based sentiment analysis
  • Status: βœ… Works with interactive web interface
  • Usage: pdm run python usage/sentiment_mcp_gradio_usage.py
  • Dependencies: smolagents[mcp], gradio[mcp] (already installed)
  • Protocol: Native MCP via smolagents with Gradio interface

3. sentiment_gradio_client_usage.py

  • What it does: Uses Gradio client to bypass MCP protocol entirely
  • Performance: ~1.3 seconds per request
  • Status: βœ… Works reliably as backup solution
  • Usage: pdm run python usage/sentiment_gradio_client_usage.py
  • Dependencies: gradio_client (already installed)
  • Protocol: Direct Gradio API access

🎯 Cursor AI Integration ⭐ BEST EXPERIENCE

The most seamless way to use MCP sentiment analysis is directly within Cursor AI using the built-in MCP support:

Setup

Add this configuration to your Cursor MCP servers (~/.cursor/mcp.json):

{
  "mcpServers": {
    "sentiment-analysis": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "mcp-remote",
        "https://freemansel-mcp-sentiment.hf.space/gradio_api/mcp/sse",
        "--transport",
        "sse-only"
      ]
    }
  }
}

Usage in Cursor

Once configured, you can directly ask Cursor AI:

  • "Analyze the sentiment of this text: 'I love this product!'"
  • "What's the sentiment of: 'This is terrible'"
  • "Check sentiment: 'It's okay, nothing special'"

Benefits:

  • βœ… No separate scripts needed
  • βœ… Integrated directly in your coding workflow
  • βœ… Real-time sentiment analysis while coding
  • βœ… Works with any text in your editor

πŸ”§ Utilities

4. debug_imports.py

  • What it does: Debugging utility to check MCP package imports
  • Usage: pdm run python usage/debug_imports.py
  • Purpose: Troubleshooting import issues
  • Dependencies: mcp (for testing imports)

Quick Start

For Cursor AI Users (Recommended)

  1. Add the MCP server configuration to ~/.cursor/mcp.json
  2. Restart Cursor AI
  3. Ask Cursor directly for sentiment analysis

For Standalone Usage

# Primary solution (fastest)
pdm run python usage/sentiment_mcp_core_usage.py

# Interactive UI solution
pdm run python usage/sentiment_mcp_gradio_usage.py

# Backup solution (reliable)
pdm run python usage/sentiment_gradio_client_usage.py

For troubleshooting:

# Debug imports if having issues
pdm run python usage/debug_imports.py

Performance Comparison

Solution Speed Protocol Interface Reliability Command
Cursor AI MCP Instant βœ… Native MCP βœ… Integrated βœ… Excellent Built-in
sentiment_mcp_core_usage.py 0.11s βœ… Native MCP Terminal βœ… Excellent pdm run python usage/sentiment_mcp_core_usage.py
sentiment_mcp_gradio_usage.py Fast βœ… Native MCP Web UI βœ… Excellent pdm run python usage/sentiment_mcp_gradio_usage.py
sentiment_gradio_client_usage.py 1.3s Direct API Terminal βœ… Very Good pdm run python usage/sentiment_gradio_client_usage.py

File Naming Convention

All scripts follow a consistent naming pattern:

  • sentiment_*_usage.py - Main functionality scripts
  • debug_*.py - Debugging and utility scripts
  • Each script includes comprehensive docstring with PDM commands

Dependencies

All required packages are already installed:

  • smolagents[mcp] - For MCP protocol support
  • gradio_client - For direct Gradio API access
  • gradio[mcp] - For Gradio UI with MCP integration
  • mcp - Base MCP package

Troubleshooting

If you encounter issues:

  1. Import errors: Run pdm run python usage/debug_imports.py
  2. MCP connection issues: Try pdm run python usage/sentiment_gradio_client_usage.py
  3. Missing dependencies: Check the Dependencies section above
  4. Cursor AI issues: Verify MCP server configuration in ~/.cursor/mcp.json

πŸ“š Concepts and Technical Details

Model Context Protocol (MCP)

MCP is a protocol that enables AI applications to securely connect to external data sources and tools. In our case, it provides a standardized way to access sentiment analysis capabilities.

Key Benefits:

  • Standardized Interface: Consistent API across different tools
  • Security: Controlled access to external resources
  • Composability: Tools can be combined and chained
  • Real-time: Live connections to external services

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Client        β”‚    β”‚   MCP Server    β”‚    β”‚  Sentiment      β”‚
β”‚   (Cursor AI,   │◄──►│   (Protocol     │◄──►│  Analysis       β”‚
β”‚   smolagents,   β”‚    β”‚   Handler)      β”‚    β”‚  Engine         β”‚
β”‚   Gradio)       β”‚    β”‚                 β”‚    β”‚  (TextBlob)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technical Implementation Details

1. smolagents MCPClient

  • Transport: Server-Sent Events (SSE)
  • Endpoint: https://freemansel-mcp-sentiment.hf.space/gradio_api/mcp/sse
  • Protocol: Native MCP with automatic tool discovery
  • Performance: ~110ms per request

2. Cursor AI Integration

  • Tool: mcp-remote npm package
  • Transport: SSE-only mode for reliability
  • Integration: Native MCP support in Cursor AI
  • Benefits: Zero-setup sentiment analysis in IDE

3. Gradio Client (Fallback)

  • Transport: Direct HTTP API calls
  • Endpoint: https://freemansel-mcp-sentiment.hf.space
  • Protocol: Gradio's native API (bypasses MCP)
  • Performance: ~1.3s per request

Sentiment Analysis Engine

The backend uses TextBlob for sentiment analysis, providing:

  • Polarity: Range from -1 (negative) to +1 (positive)
  • Subjectivity: Range from 0 (objective) to 1 (subjective)
  • Assessment: Human-readable sentiment classification

Error Handling and Reliability

  • Connection Timeouts: Automatic retry mechanisms
  • Fallback Strategies: Multiple transport methods
  • Graceful Degradation: Backup solutions when MCP fails
  • Comprehensive Logging: Detailed error reporting for debugging

The folder is now clean, organized, and ready for production use with multiple integration options! πŸŽ‰