import gradio as gr from textblob import TextBlob #from mcp.server.fastmcp import FastMCP #mcp = FastMCP("Sentiment Analysis") #@mcp.tool() def sentiment_analysis(text: str) -> str: """ Analyze the sentiment of the given text. Args: text (str): The text to analyze Returns: dict: A dictionary containing polarity, subjectivity, and assessment """ sentiment = TextBlob(text) return { "polarity": round(sentiment.polarity, 2), # -1 (negative) to 1 (positive) "subjectivity": round(sentiment.subjectivity, 2), # 0 (objective) to 1 (subjective) "assessment": "positive" if sentiment.polarity > 0 else "negative" if sentiment.polarity < 0 else "neutral" } demo = gr.Interface( fn=sentiment_analysis, inputs=gr.Textbox(lines=10, placeholder="Enter your text here"), outputs=gr.Textbox(lines=10, placeholder="Sentiment analysis result"), title="Sentiment Analysis", description="Analyze the sentiment of a given text", examples=[ ["I love this product"], ["I hate this product"], ["I'm neutral about this product"], ], ) if __name__ == "__main__": demo.launch(mcp_server=True, debug=True)