blackmount-nlp-mcp
blackmount-nlp-mcp
NLP для MCP — без тяжелых зависимостей. Создано Blackmount.
45 инструментов для анализа текста в виде сервера FastMCP. Никаких NLTK. Никаких spaCy. Никаких transformers. Одна зависимость (mcp[cli]), менее 50 КБ кода NLP, готово к работе за секунды. Требуется Python 3.10+.
Почему это существует
blackmount-nlp-mcp | NLTK | spaCy | transformers | |
Размер wheel | 42 КБ | 1.5 МБ | 6 МБ+ (+ модели) | 10 МБ+ (+ модели) |
Прямые зависимости | 1 | много | много | много |
Токенизация | ✅ | ✅ | ✅ | ✅ |
Анализ тональности | ✅ | ✅ | ❌ | ✅ |
Оценка читабельности | ✅ | ❌ | ❌ | ❌ |
Извлечение ключевых слов | ✅ | ✅ | ❌ | ❌ |
Сходство текстов | ✅ | ✅ | ✅ | ✅ |
Определение языка | ✅ (18 языков) | ❌ | ❌ | ❌ |
Все реализовано с нуля на чистом Python — стеммер Портера, TF-IDF, RAKE, расстояние Левенштейна, анализ тональности в стиле VADER, индексы читабельности Флеша / Ганнинга-Фога / Коулмана-Лиау / ARI / SMOG, экстрактивная суммаризация, определение языка — плюс встроенный лексикон тональности из 2000+ слов и список из 500+ стоп-слов, включенные в пакет.
Related MCP server: LODA MCP Server
Быстрый старт
pip install blackmount-nlp-mcpClaude Desktop
Добавьте в файл конфигурации:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"nlp": {
"command": "blackmount-nlp-mcp"
}
}
}Cursor
Добавьте в .cursor/mcp.json в корне вашего проекта:
{
"mcpServers": {
"nlp": {
"command": "blackmount-nlp-mcp"
}
}
}Любой MCP-клиент
Сервер работает через stdio. Укажите клиенту команду blackmount-nlp-mcp:
blackmount-nlp-mcpПерезапустите редактор. Все 45 инструментов NLP теперь доступны — просто спросите на естественном языке.
Каталог инструментов
Токенизация (4 инструмента)
Инструмент | Описание | Пример запроса |
| Разбиение текста на слова с учетом сокращений и пунктуации | "Разбей этот абзац на слова" |
| Разбиение на предложения с учетом распространенных сокращений | "Раздели этот текст на отдельные предложения" |
| Генерация n-грамм на уровне слов из списка токенов | "Сгенерируй биграммы из этих токенов" |
| Генерация n-грамм на уровне символов | "Получи триграммы символов для этого слова" |
Читабельность (8 инструментов)
Все функции читабельности возвращают 0.0 для пустого ввода или ввода, состоящего только из пробелов.
Инструмент | Описание | Пример запроса |
| Оценка легкости чтения 0–100 (выше = легче) | "Рассчитай индекс легкости чтения Флеша" |
| Оценка уровня образования в США | "Для какого уровня образования написан этот текст?" |
| Индекс туманности на основе соотношения сложных слов | "Рассчитай индекс туманности для этого текста" |
| Индекс уровня образования Коулмана-Лиау | "Получи оценку по Коулману-Лиау" |
| Индекс уровня образования ARI | "Какой ARI у этого документа?" |
| Индекс SMOG (рекомендуется для медицинских текстов) | "Рассчитай индекс SMOG для этого документа" |
| Оценка количества слогов в любом слове | "Сколько слогов в слове 'extraordinary'?" |
| Все оценки читабельности в одном вызове с пояснением | "Дай мне полный отчет о читабельности этого текста" |
Анализ тональности (4 инструмента)
Инструмент | Описание | Пример запроса |
| Составная оценка тональности от −1.0 до +1.0 | "Какова тональность этого отзыва клиента?" |
| Возвращает | "Этот отзыв положительный или отрицательный?" |
| Анализ тональности по предложениям | "Покажи мне тональность каждого предложения" |
| Тональность по конкретным темам | "Какова тональность отзывов по теме 'цены'?" |
Извлечение ключевых слов (4 инструмента)
Инструмент | Описание | Пример запроса |
| Ранжирование ключевых слов по TF-IDF в корпусе | "Какие ключевые слова в этих документах?" |
| Алгоритм RAKE — извлечение ключевых фраз | "Извлеки ключевые фразы из этой статьи" |
| Топ слов по частоте, исключая стоп-слова | "Какие слова встречаются в этом тексте чаще всего?" |
| Топ n-грамм фраз по частоте | "Какие фразы из двух слов встречаются чаще всего?" |
Сходство текстов (5 инструментов)
Инструмент | Описание | Пример запроса |
| Пересечение множеств слов, 0–1 | "Насколько похожи эти два абзаца?" |
| Косинусное сходство (мешок слов), 0–1 | "Рассчитай косинусное сходство между этими текстами" |
| Расстояние редактирования Левенштейна | "Сколько правок нужно, чтобы превратить 'kitten' в 'sitting'?" |
| Расстояние редактирования, нормализованное до 0–1 | "Насколько различаются эти две строки?" |
| Длина наибольшей общей подпоследовательности | "Какова длина LCS этих двух строк?" |
Очистка текста (10 инструментов)
Инструмент | Описание | Пример запроса |
| Удаление 500+ английских стоп-слов | "Удали стоп-слова из этого текста" |
| Удаление всей пунктуации | "Удали пунктуацию" |
| Удаление числовых токенов | "Удали все числа из этого текста" |
| Удаление URL-адресов | "Очисти от URL-адресов" |
| Удаление адресов электронной почты | "Удали email-адреса из этого текста" |
| Удаление HTML-тегов | "Удали HTML из этого контента" |
| Сжатие и обрезка пробелов | "Нормализуй пробелы" |
| Приведение к нижнему регистру | "Преобразуй это в нижний регистр" |
| Стеммер Портера (чистый Python, без NLTK) | "Сделай стемминг слова 'running'" |
| Настраиваемая многошаговая очистка в одном вызове | "Очисти этот текст: удали HTML, URL и стоп-слова" |
Детекция (8 инструментов)
Инструмент | Описание | Пример запроса |
| Определение языка из 18 поддерживаемых | "На каком языке написан этот текст?" |
| Определение скрипта: ASCII, Latin, Cyrillic, CJK, Arabic | "Какой скрипт использует этот текст?" |
| Оценка уверенности, что текст на английском, 0–1 | "Этот текст на английском?" |
| Количество слов | "Сколько слов в этом тексте?" |
| Количество предложений | "Посчитай предложения" |
| Количество абзацев | "Сколько здесь абзацев?" |
| Средняя длина слова в символах | "Какова средняя длина слова?" |
| Средняя длина предложения в словах | "Какова средняя длина предложений?" |
Суммаризация (2 инструмента)
Инструмент | Описание | Пример запроса |
| Выбор N наиболее значимых предложений из документа | "Сделай краткое изложение этой статьи в 3 предложениях" |
| Полная статистика документа: слова, читабельность, язык, время чтения | "Дай мне статистический профиль этого текста" |
Использование в качестве библиотеки
Подмодули можно импортировать напрямую — MCP-сервер не требуется:
from blackmount_nlp_mcp.sentiment import sentiment_score, sentiment_label
from blackmount_nlp_mcp.readability import reading_level
from blackmount_nlp_mcp.keywords import rake_keywords
text = "This product is absolutely amazing! The quality is excellent."
print(sentiment_score(text))
# 0.9285
print(sentiment_label(text))
# 'positive'
print(reading_level(text))
# {'grade_level': 12.39, 'label': 'college',
# 'flesch_reading_ease': 14.27, 'flesch_kincaid_grade': 12.39,
# 'gunning_fog': 19.58, 'coleman_liau': 10.94,
# 'automated_readability': 7.51, 'smog_grade': 11.21}
print(rake_keywords(text))
# [{'phrase': 'absolutely amazing', 'score': 4.0},
# {'phrase': 'product', 'score': 1.0},
# {'phrase': 'quality', 'score': 1.0},
# {'phrase': 'excellent', 'score': 1.0}]Разработка
git clone https://github.com/BlackMount-ai/blackmount-nlp-mcp
cd blackmount-nlp-mcp
pip install -e .
pytest tests/ -vЭкосистема Blackmount
blackmount-nlp-mcp создано Blackmount — инструменты для тех, кто работает с ИИ.
blackmount-mcp — память браузера, поиск по чатам ИИ и аналитика сессий в виде MCP-сервера. Используйте его вместе с blackmount-nlp-mcp для анализа сохраненных диалогов: извлекайте ключевые слова из истории чатов, оценивайте читабельность ответов ИИ, отслеживайте тренды тональности в сессиях.
app.blackmount.ai — полная платформа Blackmount. Ищите, организуйте и анализируйте все, что создают ваши ИИ-инструменты.
Лицензия
MIT
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides intelligent summarization capabilities through a clean, extensible architecture. Mainly built for solving AI agents issues on big repositories, where large files can eat up the context window.2537MIT
- AlicenseNot gradedqualityDmaintenanceProvides token-efficient document search and retrieval for LLMs by returning relevant document sections within specified token budgets. It utilizes section-aware parsing and Bloom filter elimination to offer high-speed, zero-dependency access to large documents.MIT
- AlicenseAqualityAmaintenanceWeb content extraction for AI agents. 10 tools: scrape, crawl, map, batch, extract, summarize, diff, brand, search, research. Uses TLS fingerprinting to bypass anti-bot without a headless browser. Outputs LLM-optimized markdown with 67% fewer tokens than raw HTML.102,292AGPL 3.0
- AlicenseAqualityCmaintenanceSmart memory for AI agents. Solves the Karpathy problem: memories decay, topics are frequency-weighted, one-time questions don't become obsessions. 7 tools. Zero deps.4112MIT
Related MCP Connectors
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.
16 AI-native tools with dual SSE + streamable-http transport. Free tier available.
Honest library picks for coding agents in 25-360 tokens. Tells your agent what NOT to install.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BlackMount-ai/blackmount-nlp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server