NLP Tools - Sentiment, NER, Toxicity & Language Detection
Toxicity, sentiment, NER, PII detection, and language identification tools
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"nlp-tools": {
"url": "https://nlp-mcp.thankfulfield-a7857897.eastus.azurecontainerapps.io/mcp"
}
}
}Remote-Endpunkte
https://nlp-mcp.thankfulfield-a7857897.eastus.azurecontainerapps.io/mcpstreamable-httphttps://apim-ai-apis.azure-api.net/mcp/nlp/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (6)
🟢analyze_toxicity(text)
Analyze text for toxic content. Returns scores for 6 categories: toxic, severe_toxic, obscene, threat, insult, identity_hate. Each score is 0.0-1.0. BERT-based classifier with sub-15ms latency on GPU. Args: text: Text to analyze for toxicity (hate speech, insults, threats). Returns: dict with keys: - toxic (float 0-1): Overall toxicity score - severe_toxic (float 0-1): Severe toxicity score - obscene (float 0-1): Obscenity score - threat (float 0-1): Threat score - insult (float 0-1): Insult score - identity_hate (float 0-1): Identity-based hate score - is_toxic (bool): Whether text exceeds toxicity threshold
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text to analyze for toxicity (hate speech, insults, threats)",
"maxLength": 100000,
"type": "string"
}
},
"required": [
"text"
]
}🟢analyze_sentiment(text, model)
Analyze text sentiment. Returns positive/negative classification with confidence scores. DistilBERT-based with sub-10ms latency. Multiple domain-specific model variants available. Args: text: Text to analyze for sentiment (positive/negative). model: Model variant -- 'general' (default), 'financial', 'twitter'. Returns: dict with keys: - label (str): 'positive' or 'negative' - score (float 0-1): Confidence score for the predicted label - scores (dict): All label scores (positive, negative)
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text to analyze for sentiment (positive/negative)",
"maxLength": 100000,
"type": "string"
},
"model": {
"default": "general",
"description": "Model variant: 'general' (default), 'financial', 'twitter'",
"type": "string"
}
},
"required": [
"text"
]
}🟢extract_entities(text)
Extract named entities (NER) from text. Identifies persons, organizations, locations, and miscellaneous entities with span offsets and confidence scores. BERT-NER based with sub-50ms latency. Args: text: Text to extract named entities from. Returns: dict with keys: - entities (list): Detected entities, each containing: - text (str): Entity text - label (str): Entity type (PER, ORG, LOC, MISC) - start (int): Character offset start - end (int): Character offset end - score (float 0-1): Confidence score - count (int): Total number of entities found
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text to extract named entities from (persons, organizations, locations)",
"maxLength": 100000,
"type": "string"
}
},
"required": [
"text"
]
}🟢detect_pii(text, redact)
Detect personally identifiable information (PII) in text. Finds emails, phone numbers, SSNs, credit cards, IP addresses, and person names. Optionally returns redacted text with PII replaced by type labels (e.g. [EMAIL], [PHONE]). BERT-NER + regex ensemble. Args: text: Text to scan for personally identifiable information. redact: If true, return redacted text with PII replaced by [TYPE]. Returns: dict with keys: - pii_found (list): Detected PII items, each containing: - text (str): The PII value found - type (str): PII type (EMAIL, PHONE, SSN, CREDIT_CARD, IP, PERSON) - start (int): Character offset start - end (int): Character offset end - score (float 0-1): Detection confidence - count (int): Total PII items found - redacted_text (str|null): Text with PII replaced (when redact=true) - has_pii (bool): Whether any PII was detected
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text to scan for personally identifiable information",
"maxLength": 100000,
"type": "string"
},
"redact": {
"default": false,
"description": "If true, return redacted text with PII replaced by [TYPE]",
"type": "boolean"
}
},
"required": [
"text"
]
}🟢detect_language(text, top_k)
Detect the language of text. Supports 176 languages using fastText. Sub-1ms inference latency. Returns ISO 639-1 codes with confidence scores. Args: text: Text to identify the language of. top_k: Number of top language predictions to return (default: 3). Returns: dict with keys: - language (str): Top predicted language ISO 639-1 code - confidence (float 0-1): Confidence for top prediction - predictions (list): Top-k predictions, each with: - language (str): ISO 639-1 code - confidence (float 0-1): Prediction confidence
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"description": "Text to identify the language of",
"maxLength": 100000,
"type": "string"
},
"top_k": {
"default": 3,
"description": "Number of top language predictions to return",
"type": "integer"
}
},
"required": [
"text"
]
}🟢check_nlp_service
Check health status of NLP API services and loaded models. Returns: dict with keys: - status (str): 'healthy' or error state - models (dict): Loaded model status per capability - version (str): API version
Eingabe-Schema
{
"type": "object",
"properties": {}
}Community
Nachweis