NLP Tools - Sentiment, NER, Toxicity & Language Detection
Toxicity, sentiment, NER, PII detection, and language identification tools
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"nlp-tools": {
"url": "https://nlp-mcp.thankfulfield-a7857897.eastus.azurecontainerapps.io/mcp"
}
}
}远程端点
https://nlp-mcp.thankfulfield-a7857897.eastus.azurecontainerapps.io/mcpstreamable-httphttps://apim-ai-apis.azure-api.net/mcp/nlp/mcpstreamable-http它能做什么
工具清单
工具(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
输入模式
{
"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)
输入模式
{
"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
输入模式
{
"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
输入模式
{
"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
输入模式
{
"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
输入模式
{
"type": "object",
"properties": {}
}社区
证据