from textblob import TextBlob import gradio as gr from mcp.client.stdio import StdioServerParameters from smolagents import InferenceClientModel, CodeAgent, ToolCollection from smolagents.mcp_client import MCPClient def sentiment_analysis(text: str) -> dict: """ Analyze the sentiment of the given text. Args: text (str): The text to analyze Returns: dict: A dictionary containing polarity, subjectivity, and assessment """ blob = TextBlob(text) sentiment = blob.sentiment 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" } mcp_client = MCPClient( {"url": "https://slimanemakh-mcp-course.hf.space/gradio_api/mcp/sse"} ) tools = mcp_client.get_tools() model = InferenceClientModel() agent = CodeAgent(tools=[*tools], model=model) demo = gr.ChatInterface( fn=lambda message, history: str(agent.run(message)), type="messages", examples=["Prime factorization of 68"], title="Agent with MCP Tools", description="This is a simple agent that uses MCP tools to answer questions.", messages=[], ) # Launch the interface and MCP server if __name__ == "__main__": demo.launch(mcp_server=True)