Brainiall NLP
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
| Endpoint | https://api.brainiall.com/mcp/nlp/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.0 |
| Now | 22 tools · grade B (86) · pin ts_e0e74636fae60df807c3f8f677d0e61b · protocol 2025-06-18 |
| First / last listed | 2026-10-28 03:46 UTC / 2026-10-28 03:46 UTC |
| Grade over time | 2026-10-28: B (86), 22 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: analyze_toxicity analyze_sentiment extract_entities detect_pii detect_language check_nlp_service translate_text summarize_text answer_question knowledge_ingest knowledge_query knowledge_list_documents fraud_score fraud_feedback extract_key_phrases aspect_sentiment classify_text_custom link_entities_to_wikidata detect_conversational_pii detect_prompt_injection check_groundedness detect_protected_material
analyze_toxicity | 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): S params: text* |
analyze_sentiment | Analyze text sentiment.
Returns positive/negative classification with confidence scores.
Brainiall Sentiment engine-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 params: text*, model |
extract_entities | 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 (s params: text* |
detect_pii | 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].
params: text*, redact |
detect_language | 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): Confide params: text*, top_k |
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 params: none |
translate_text | Translate text between 100+ languages.
Args:
text: The text to translate.
target_lang: Target language code.
source_lang: Source language code; omit to auto-detect.
Returns:
dict with the translated text (key: translated_text) and the detected source language if auto-detected. params: text*, target_lang*, source_lang |
summarize_text | Summarize text — extractive (verbatim key sentences in original order) or abstractive (concise rewrite).
Args:
text: The text to summarize.
mode: 'abstractive' or 'extractive'.
max_length: Target maximum length of the summary, in words.
Returns:
dict with the summary (key: summary) plus word/char counts. params: text*, mode, max_length |
answer_question | Answer a question using ONLY the supplied text; returns the supporting sentence(s) with character offsets.
Replies found:false rather than guessing when the answer isn't present in the text.
Args:
text: The text/document to answer from.
question: The question to answer.
Returns:
dict with keys: answer (str|null), found (bool), supporting_spans (list of {text, start, end}). params: text*, question* |
knowledge_ingest | Ingest a document into a knowledge base: it is chunked, embedded and stored for you (managed RAG).
Args:
namespace: The knowledge-base namespace.
text: The document text.
title: Optional title.
Returns:
dict with keys: doc_id (str), n_chunks (int). params: namespace*, text*, title |
knowledge_query | Retrieve the most relevant passages from a knowledge base plus (optionally) a grounded, cited answer.
Returns found:false rather than a guess when the passages don't contain the answer.
Args:
namespace: The knowledge-base namespace.
question: The natural-language question.
top_k: How many passages to retrieve.
rerank: Re-order retrieved passages before answering.
synthesize: params: namespace*, question*, top_k, rerank, synthesize |
knowledge_list_documents | List the documents stored in a knowledge base (most recent first).
Args:
namespace: The knowledge-base namespace.
Returns:
dict with keys: documents (list of {doc_id, title, ...}). params: namespace* |
fraud_score | Score a transaction or account event for fraud risk. Send whatever signals you have — all optional.
Returns a 0-1 fraud probability, a risk level, the exact risk factors that drove the score (each with its
weight, direction and a human-readable detail), and a recommended decision (allow|review|deny).
Returns:
dict with keys: fraud_probability (float), risk_level (str), decision (str), risk_s params: amount, currency, avg_txn_amount_30d, txn_count_1h, txn_count_24h, distinct_cards_24h, distinct_countries_24h, is_new_device, is_new_ip, is_tor, is_proxy_or_vpn, card_country, ip_country, account_age_days, avs_match, cvv_provided, prior_chargebacks, event_id |
fraud_feedback | Report the confirmed outcome of an event so the fraud model can be re-calibrated to your data.
Args:
event_id: The event identifier.
label: 'fraud' | 'legitimate' | 'chargeback' | 'dispute'.
notes: Optional free-text notes.
Returns:
dict with keys: event_id (str), label (str), accepted (bool), feedback_id (int). params: event_id*, label*, notes |
extract_key_phrases | Statistical key-phrase extraction — top-N ranked phrases.
Brainiall Key Phrases engine. Pure-statistical (TF + position + casing + stopword filter), no ML cost. params: text*, top_k, max_ngram |
aspect_sentiment | Sentiment per aspect. Brainiall Aspect Sentiment engine.
Splits the text into sentences mentioning each aspect, classifies each, aggregates. params: text*, aspects* |
classify_text_custom | Zero-shot text classification — define your labels at call time. No training, no data upload.
Brainiall Custom Classifier engine. Returns {top_label, scores, confidence}. params: text*, labels*, multi_label |
link_entities_to_wikidata | Named-entity recognition + canonical linking to Wikidata Q-ids.
Brainiall Entity Linker engine. Disambiguates 'Apple' the company from 'apple' the fruit. params: text*, max_entities |
detect_conversational_pii | Multi-turn PII detection with cross-turn coreference.
Brainiall Conversational PII engine. Same surface text + type across turns gets the same entity_id. params: turns* |
detect_prompt_injection | Classify a prompt before it reaches your LLM. Brainiall Prompt Shield engine.
Returns category (jailbreak | prompt_injection | data_exfiltration | impersonation | none),
severity, reason, confidence. params: prompt* |
check_groundedness | Hallucination check: is a claim actually supported by a source text?
Brainiall Groundedness engine. Returns {grounded, confidence, supporting_span, reason}. params: claim*, source* |
detect_protected_material | Detect copyrighted text in user input — famous lyrics, literary openings, proprietary code.
Brainiall Protected Material engine. Returns matched spans with source attribution. params: text* |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.