# MeaningCloud MCP

> MeaningCloud provides advanced text analytics for AI agents connecting via MCP. It lets your client analyze sentiment, identify core topics and entities, detect language from 160+ options, categorize content against industry taxonomies, and summarize massive documents automatically.

## Overview
- **Category:** artificial-intelligence
- **Price:** Free
- **Tags:** nlp, sentiment-analysis, text-mining, summarization, topic-extraction

## Description

This server gives your AI client serious muscle for text analytics. It moves way past simple keyword matching by processing context, emotional weight, and deep meaning across any body of written data—whether it's a single post or a stack of reports. You can run complex analyses on unstructured information that other systems just choke on.

### Gauging the Emotional Tone
When you need to know how people really feel about something, use `analyze_sentiment`. This tool scores text for its global emotional tone—you'll get a clear read on whether it’s positive, negative, or neutral. But it doesn't stop there; it also provides specific metrics for detecting irony and assessing subjectivity. That lets you distinguish between genuine outrage and sarcasm, which is critical when analyzing user feedback or social media chatter.

### Extracting Core Concepts
Need to pull out the actual players and ideas from a chunk of text? Run `extract_topics`. It doesn't just find keywords; it identifies specific named entities—people, places, organizations—and pulls out abstract topics. This means you can map out who talked about what, exactly where they were located, or which companies were mentioned in the source material.

### Classifying and Localizing Content
You need to put content into buckets? Use `categorize_text`. It assigns a structured category or taxonomy label to your input based on predefined rules. You can classify things against industry standards—like determining if a piece of writing falls under 'finance' or 'consumer goods.' To make sure everything you feed it is processed correctly, run `detect_language` first. This checks the text and accurately tells you which language it’s written in; it supports over 160 different languages.

### Handling Massive Volumes of Data
When dealing with large amounts of documents, efficiency is key. If you've got a pile of reports, run `summarize_text`. This doesn't just give you a vague overview; it reads the whole thing and pulls out only the most important sentences—the high-signal points—to create a tight summary. Similarly, if you have many documents that talk about similar things but aren’t related to each other (like research papers from different departments), `cluster_text` groups them into distinct clusters. It builds connections based purely on shared semantic meaning, letting you see all the ideas grouped together.

You're not just getting data points; you're getting actionable context that lets your agent understand the 'why' behind the text.

## Tools

### categorize_text
Assigns a specific category or taxonomy label to content based on structured rules.

### cluster_text
Groups many documents together into distinct clusters based purely on their semantic similarity.

### detect_language
Checks the input text and accurately identifies which of the 160+ supported languages it is written in.

### analyze_sentiment
Scores text to detect its global emotional tone, including metrics for irony and subjectivity.

### summarize_text
Creates a concise summary by pulling only the most important sentences from long source documents.

### extract_topics
Pulls out specific named entities (people, places) and abstract topics from the provided text.

## Prompt Examples

**Prompt:** 
```
Analyze the sentiment and check for irony in this text: 'Oh great, another update that breaks everything.'
```

**Response:** 
```
I've analyzed the text using MeaningCloud. The sentiment is 'Negative' with a high confidence of 'Irony' detected. The subjectivity is high, indicating a personal opinion.
```

**Prompt:** 
```
Extract the main topics and organizations mentioned in this article: https://example.com/tech-news
```

**Response:** 
```
I've processed the URL. I found several entities: 'Apple' (Organization), 'Cupertino' (Location), and 'M3 Chip' (Concept). Would you like more details on any of these?
```

**Prompt:** 
```
Summarize the following text into exactly 3 sentences: [Long Text Content]
```

**Response:** 
```
Here is a 3-sentence summary of the document: 1) The company announced record growth. 2) New markets in Asia contributed to 40% of revenue. 3) Future plans include a focus on sustainable energy.
```

## Capabilities

### Gauge Text Emotion
Run sentiment analysis to determine if a piece of text is positive, negative, or neutral, while also scoring for irony and subjectivity.

### Identify Core Concepts
Extract all named entities (people, places, companies) and abstract topics from any given body of text.

### Group Similar Documents
Take a collection of texts and automatically cluster them based on shared semantic meaning, grouping related ideas together.

### Determine Text Language
Check the input text to identify its language among 160+ supported options.

### Classify Content Type
Assign a structured category (e.g., IAB or business model) to content based on predefined taxonomies.

### Condense Long Reports
Generate concise summaries by extracting the most important, high-signal sentences from very long documents.

## Use Cases

### Analyzing Competitor Reviews
A product team collects 100 competitor reviews. They use `analyze_sentiment` to get the overall emotional score, and then they run `extract_topics` on all of them. This immediately highlights which features (e.g., 'battery life' or 'UI') are causing the most negative feelings among users.

### Researching Academic Papers
A researcher needs to synthesize findings from a dozen papers. They feed all the text into `summarize_text` and then use `cluster_text`. This groups similar research themes, allowing them to write a comprehensive literature review without reading every single word.

### Triage Global Support Tickets
A support center receives tickets from 10 different countries. They first run `detect_language` to route the ticket correctly, then use `analyze_sentiment` to gauge urgency. This allows agents to prioritize high-negative, foreign-language issues faster.

### Inventorying Content Assets
A marketing team has 5,000 old blog posts. They run `categorize_text` on the whole batch, immediately sorting them into 'Finance,' 'Tech,' or 'Health.' This gives them a clear content inventory and helps them know what needs updating.

## Benefits

- See emotional depth beyond simple positive/negative. `analyze_sentiment` checks for irony and subjectivity, telling you *why* the customer is upset, not just that they are.
- Stop manually tagging content. Use `categorize_text` to assign industry-standard labels (like IAB) across huge libraries of articles in seconds.
- Instantly find connections in chaos. Feed a batch of documents into `cluster_text` and get groups based on shared topics, revealing patterns you can't see otherwise.
- Cut through the noise with summaries. Instead of reading a 50-page report, use `summarize_text` to pull out the three most critical sentences immediately.
- Understand global data flow. The `detect_language` tool handles multilingual inputs, letting you process content from over 160 languages without language barriers.
- Contextual entity mapping. Run `extract_topics` on a news article and get structured lists of all organizations, people, and concepts mentioned—ready for database entry.

## How It Works

The bottom line is: you send raw text and get back highly structured, actionable insights about what that text means.

1. Subscribe to this server and enter your unique MeaningCloud License Key (API Key).
2. Your AI client sends unstructured text data or a URL to the appropriate tool endpoint.
3. MeaningCloud processes the request, returns structured JSON output containing metrics like sentiment scores, detected entities, or categorized labels.

## Frequently Asked Questions

**How do I use MeaningCloud MCP Server's analyze_sentiment tool?**
You send `analyze_sentiment` any text chunk. It returns a score and label (Positive, Negative, Neutral), plus confidence levels for irony and subjectivity. This lets you filter feedback based on emotional tone.

**Can MeaningCloud MCP Server's extract_topics handle URLs?**
Yes. While `extract_topics` is designed for text, the server context allows processing from a URL. It pulls content from that link and then extracts all key people, places, and concepts mentioned.

**What's the difference between categorize_text and extract_topics?**
`extract_topics` finds things like 'Apple' (an entity) or 'tech' (a topic). `categorize_text` takes a whole piece of content and forces it into one predefined bucket, like 'Business Model: SaaS'.

**Does summarize_text work on very long documents?**
Yes. You give it the full text—whether pasted or via URL—and it runs `summarize_text` to pull out the most relevant sentences, giving you a concise overview without losing critical details.

**How do I authenticate my connection when using any tool like `analyze_sentiment`?**
You must use your specific MeaningCloud License Key (API Key) for authentication. Your AI client passes this key to Vinkius, which validates the request before allowing access. Always check your subscription dashboard for current credential guidelines.

**Are there rate limits when I run intensive tools like `cluster_text`?**
Yes, all API interactions are subject to rate limits. If you hit a limit, the client will receive an error code; implement exponential backoff in your agent workflow to handle retries gracefully.

**What is the data handling policy for inputs passed through `categorize_text`?**
MeaningCloud processes your input data solely for the duration of the request. We do not store, retain, or use proprietary text content from tools like `categorize_text` for model training.

**Can I chain outputs? For example, using `extract_topics` and feeding it into `analyze_sentiment`?**
Absolutely. Your AI client handles the chaining of data. You simply pass the structured output from one tool (e.g., a list of entities) as the input text for the next operation.

**Can the AI detect if a customer is being ironic in their feedback?**
Yes. The `analyze_sentiment` tool identifies not only the polarity (positive/negative) but also the presence of irony and the degree of subjectivity in the text.

**How do I extract specific entities like names or locations from a news article?**
Use the `extract_topics` tool. You can provide a URL or raw text, and it will return a structured list of entities (people, places, organizations) and concepts found.

**Is it possible to summarize a long document into a specific number of sentences?**
Absolutely. The `summarize_text` tool allows you to specify the `sentences` parameter to control the length of the generated summary.