NLP Tools - Sentiment, NER, Toxicity & Language Detection

Toxicity, sentiment, NER, PII detection, and language identification tools

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
88%
이름 품질
90%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,500토큰 (도구 정의)
~601 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.17%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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-http
https://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": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개