Spaces:
Sleeping
Sleeping
| from transformers import pipeline | |
| from typing import List | |
| from mcp.server.fastmcp import FastMCP | |
| # Load Sentiment Pipeline from HuggingFace | |
| sentiment_pipeline = pipeline("sentiment-analysis") | |
| # Create an MCP server | |
| mcp = FastMCP("Second-MCP-Server") | |
| #### Tool #### | |
| # Tool to do sentiment analysis for a list of sentences | |
| def sentiment_analyzer(sentences: List[str]) -> List[dict]: | |
| """ | |
| Analyzes the sentiment of a list of input sentences using a preloaded sentiment analysis pipeline. | |
| Args: | |
| sentences (List[str]): A list of input strings to be analyzed. | |
| Returns: | |
| List[dict]: A list of dictionaries, each containing: | |
| - 'text' (str): The original input sentence. | |
| - 'sentiment' (str): The predicted sentiment label (e.g., 'POSITIVE', 'NEGATIVE', etc.). | |
| Example: | |
| sentiment_analyzer(["I love this!", "This is terrible."]) | |
| [{'text': 'I love this!', 'sentiment': 'POSITIVE'}, | |
| {'text': 'This is terrible.', 'sentiment': 'NEGATIVE'}] | |
| """ | |
| result = sentiment_pipeline(sentences) | |
| sentiments = [] | |
| for i in range(len(sentences)): | |
| sentiments.append({'text': sentences[i], | |
| 'sentiment': result[i]['label']}) | |
| return sentiments | |
| #### Prompt #### | |
| def review_code(sentences: List[str]) -> str: | |
| return f"Analyze the sentiment of the following sentences:\n\n{sentences}" | |
| if __name__ == "__main__": | |
| # Initialize and run the server | |
| mcp.run(transport='sse') | |