{"name":"io.github.fasuizu-br/nlp-tools","slug":"fasuizu-br-nlp-tools","title":"NLP Tools - Sentiment, NER, Toxicity & Language Detection","description":"Toxicity, sentiment, NER, PII detection, and language identification tools","url":"https://mcp.market/server/fasuizu-br-nlp-tools","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":2,"forks":0,"downloads_week":null,"last_push_at":"2026-08-03T02:21:17.000Z","license":"MIT"},"uptime":{"percent":96,"checks":28,"ok":27,"last_checked_at":"2026-11-04T06:00:23.551Z","last_ok_at":"2026-11-04T06:00:23.551Z","latency_ms":95},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/fasuizu-br/speech-ai-examples","website":"https://brainiall.com","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://apim-ai-apis.azure-api.net/mcp/nlp/mcp"}],"packages":[],"tools":[{"name":"analyze_sentiment","description":"Analyze text sentiment.\n\nReturns positive/negative classification with confidence scores.\nDistilBERT-based with sub-10ms latency. Multiple domain-specific\nmodel variants available.\n\nArgs:\n    text: Text to analyze for sentiment (positive/negative).\n    model: Model variant -- 'general' (default), 'financial', 'twitter'.\n\nReturns:\n    dict with keys:\n        - label (str): 'positive' or 'negative'\n        - score (float 0-1): Confidence score for the predicted label\n        - scores (dict): All label scores (positive, negative)","write_action":false,"price_micros":0,"input_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"]}},{"name":"analyze_toxicity","description":"Analyze text for toxic content.\n\nReturns scores for 6 categories: toxic, severe_toxic, obscene, threat,\ninsult, identity_hate. Each score is 0.0-1.0.\nBERT-based classifier with sub-15ms latency on GPU.\n\nArgs:\n    text: Text to analyze for toxicity (hate speech, insults, threats).\n\nReturns:\n    dict with keys:\n        - toxic (float 0-1): Overall toxicity score\n        - severe_toxic (float 0-1): Severe toxicity score\n        - obscene (float 0-1): Obscenity score\n        - threat (float 0-1): Threat score\n        - insult (float 0-1): Insult score\n        - identity_hate (float 0-1): Identity-based hate score\n        - is_toxic (bool): Whether text exceeds toxicity threshold","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"description":"Text to analyze for toxicity (hate speech, insults, threats)","maxLength":100000,"type":"string"}},"required":["text"]}},{"name":"check_nlp_service","description":"Check health status of NLP API services and loaded models.\n\nReturns:\n    dict with keys:\n        - status (str): 'healthy' or error state\n        - models (dict): Loaded model status per capability\n        - version (str): API version","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"detect_language","description":"Detect the language of text.\n\nSupports 176 languages using fastText. Sub-1ms inference latency.\nReturns ISO 639-1 codes with confidence scores.\n\nArgs:\n    text: Text to identify the language of.\n    top_k: Number of top language predictions to return (default: 3).\n\nReturns:\n    dict with keys:\n        - language (str): Top predicted language ISO 639-1 code\n        - confidence (float 0-1): Confidence for top prediction\n        - predictions (list): Top-k predictions, each with:\n            - language (str): ISO 639-1 code\n            - confidence (float 0-1): Prediction confidence","write_action":false,"price_micros":0,"input_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"]}},{"name":"detect_pii","description":"Detect personally identifiable information (PII) in text.\n\nFinds emails, phone numbers, SSNs, credit cards, IP addresses, and\nperson names. Optionally returns redacted text with PII replaced by\ntype labels (e.g. [EMAIL], [PHONE]). BERT-NER + regex ensemble.\n\nArgs:\n    text: Text to scan for personally identifiable information.\n    redact: If true, return redacted text with PII replaced by [TYPE].\n\nReturns:\n    dict with keys:\n        - pii_found (list): Detected PII items, each containing:\n            - text (str): The PII value found\n            - type (str): PII type (EMAIL, PHONE, SSN, CREDIT_CARD, IP, PERSON)\n            - start (int): Character offset start\n            - end (int): Character offset end\n            - score (float 0-1): Detection confidence\n        - count (int): Total PII items found\n        - redacted_text (str|null): Text with PII replaced (when redact=true)\n        - has_pii (bool): Whether any PII was detected","write_action":false,"price_micros":0,"input_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"]}},{"name":"extract_entities","description":"Extract named entities (NER) from text.\n\nIdentifies persons, organizations, locations, and miscellaneous entities\nwith span offsets and confidence scores. BERT-NER based with sub-50ms latency.\n\nArgs:\n    text: Text to extract named entities from.\n\nReturns:\n    dict with keys:\n        - entities (list): Detected entities, each containing:\n            - text (str): Entity text\n            - label (str): Entity type (PER, ORG, LOC, MISC)\n            - start (int): Character offset start\n            - end (int): Character offset end\n            - score (float 0-1): Confidence score\n        - count (int): Total number of entities found","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"description":"Text to extract named entities from (persons, organizations, locations)","maxLength":100000,"type":"string"}},"required":["text"]}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-28T06:08:07.241Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T06:08:07.212Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 180ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":12,"max":15,"notes":["last push 56 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://apim-ai-apis.azure-api.net/mcp/nlp/mcp","reachable":true,"authRequired":false,"latencyMs":180,"serverInfo":{"name":"brainiall-nlp","version":"2.14.5"}}],"packages":[],"repo":{"found":true,"owner":"fasuizu-br","repo":"speech-ai-examples","archived":false,"pushedAt":"2026-08-03T02:21:17Z","stars":2,"forks":0,"openIssues":24,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/210934578?v=4","ownerCreatedAt":"2025-05-09T00:56:27Z","license":"MIT"},"icon":{"url":"https://raw.githubusercontent.com/fasuizu-br/speech-ai-examples/main/icon.png","source":"registry","width":400,"height":400},"presence":{"stars":2,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-03T02:21:17.000Z","score":23}}}},"grade_history":[],"reviews":[]}