Brainiall NLP
Brainiall NLP: анализ тональности, токсичности, сущностей, PII, перевод и фрод-скоринг
Что умеет
- Анализировать тональность, токсичность и аспекты текста
- Извлекать сущности, ключевые фразы и персональные данные
- Переводить, суммировать текст и отвечать на вопросы
- Оценивать риск мошенничества и проверять на инъекции промптов
- Искать и добавлять документы в базу знаний
Какие данные видит
Работает без авторизации, анализирует только переданный текст, без хранения персональных данных пользователя.
Нужен ли аккаунт
Не нужен: сервер работает без входа
MCP-сервер с набором инструментов обработки текста: определяет тональность и токсичность, извлекает сущности и персональные данные, переводит и суммирует текст, отвечает на вопросы по базе знаний и оценивает риск мошенничества. Подходит для встраивания NLP-анализа в работу ассистента.
Как подключить
Как подключить Brainiall NLP к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://api.brainiall.com/mcp/nlp/mcp
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Brainiall NLP к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://api.brainiall.com/mcp/nlp/mcp
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Brainiall NLP к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://api.brainiall.com/mcp/nlp/mcp
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (22)
Технические названия из tools/list. Нужны только разработчикам.
| 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): 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 |
| 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' or 'negative' - score (float 0-1): Confidence score for the predicted label - scores (dict): All label scores (positive, negative) |
| 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 (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 |
| 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]. 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 |
| 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): Confidence for top prediction - predictions (list): Top-k predictions, each with: - language (str): ISO 639-1 code - confidence (float 0-1): Prediction confidence |
| 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 |
| 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. |
| 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. |
| 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}). |
| 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). |
| 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: Also return a grounded answer. Returns: dict with keys: answer (str|null), found (bool), passages (list), synthesized (bool), reranked (bool), ... |
| 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, ...}). |
| 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_score_points (float), risk_factors (list of {factor, weight, direction, detail}), decision_bands (dict). |
| 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). |
| 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. |
| aspect_sentiment | Sentiment per aspect. Brainiall Aspect Sentiment engine. Splits the text into sentences mentioning each aspect, classifies each, aggregates. |
| 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}. |
| 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. |
| 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. |
| 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. |
| check_groundedness | Hallucination check: is a claim actually supported by a source text? Brainiall Groundedness engine. Returns {grounded, confidence, supporting_span, reason}. |
| 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. |