blackmount-nlp-mcp
blackmount-nlp-mcp
MCP를 위한 NLP — 무거운 의존성 제로. Blackmount에서 제작.
FastMCP 서버로 제공되는 45가지 텍스트 분석 도구. NLTK 없음. spaCy 없음. 트랜스포머 없음. 단 하나의 의존성(mcp[cli]), 50KB 미만의 NLP 코드, 수 초 내에 준비 완료. Python 3.10+ 필요.
이 프로젝트의 존재 이유
blackmount-nlp-mcp | NLTK | spaCy | transformers | |
휠 크기 | 42 KB | 1.5 MB | 6 MB+ (+ 모델) | 10 MB+ (+ 모델) |
직접 의존성 | 1 | 다수 | 다수 | 다수 |
토큰화 | ✅ | ✅ | ✅ | ✅ |
감성 분석 | ✅ | ✅ | ❌ | ✅ |
가독성 점수 | ✅ | ❌ | ❌ | ❌ |
키워드 추출 | ✅ | ✅ | ❌ | ❌ |
텍스트 유사도 | ✅ | ✅ | ✅ | ✅ |
언어 감지 | ✅ (18개 언어) | ❌ | ❌ | ❌ |
모든 기능은 순수 Python으로 처음부터 구현되었습니다. Porter 스테머, TF-IDF, RAKE, Levenshtein, VADER 스타일 감성 분석, Flesch / Gunning Fog / Coleman-Liau / ARI / SMOG 가독성 지수, 추출적 요약, 언어 감지 기능이 포함되어 있으며, 2000개 이상의 단어가 포함된 감성 사전과 500개 이상의 불용어 목록이 패키지에 내장되어 있습니다.
빠른 시작
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-gram 생성 | "이 토큰들로 바이그램을 생성해줘" |
| 문자 단위 n-gram 생성 | "이 단어의 문자 트라이그램을 가져와줘" |
가독성 (8개 도구)
도구 | 설명 | 질문 예시 |
| 0–100 가독성 점수 (높을수록 쉬움) | "Flesch Reading Ease 점수를 계산해줘" |
| 미국 학년 수준 추정치 | "이 글은 몇 학년 수준인가요?" |
| 복합 단어 비율 기반 Fog 지수 | "이 텍스트의 Fog 지수를 계산해줘" |
| Coleman-Liau 학년 수준 지수 | "Coleman-Liau 점수를 가져와줘" |
| ARI 학년 수준 지수 | "이 문서의 ARI는 얼마인가요?" |
| SMOG 학년 수준 (의료 텍스트 권장) | "이 문서의 SMOG 등급을 계산해줘" |
| 단어의 음절 수 추정 | "'extraordinary'에는 음절이 몇 개인가요?" |
| 모든 가독성 점수를 평이한 영어 라벨과 함께 반환 | "이 텍스트에 대한 전체 가독성 보고서를 줘" |
감성 분석 (4개 도구)
도구 | 설명 | 질문 예시 |
| -1.0에서 +1.0 사이의 복합 감성 점수 | "이 고객 리뷰의 감성은 어떤가요?" |
|
| "이 피드백은 긍정적인가요, 부정적인가요?" |
| 문장별 감성 분석 | "각 문장의 감성을 보여줘" |
| 특정 주제에 대한 감성 분석 | "이 리뷰들에서 '가격'에 대한 감성은 어떤가요?" |
키워드 추출 (4개 도구)
도구 | 설명 | 질문 예시 |
| 말뭉치 전체에 대한 TF-IDF 키워드 순위 | "이 문서들 전체의 핵심 용어는 무엇인가요?" |
| RAKE 알고리즘 — 구 단위 키워드 추출 | "이 기사에서 핵심 구를 추출해줘" |
| 불용어를 제외한 빈도수 상위 단어 | "이 텍스트에서 가장 흔한 단어는 무엇인가요?" |
| 빈도수 상위 n-gram 구 | "가장 자주 나타나는 두 단어 구는 무엇인가요?" |
텍스트 유사도 (5개 도구)
도구 | 설명 | 질문 예시 |
| 단어 집합 중첩도, 0–1 | "이 두 문단은 얼마나 비슷한가요?" |
| Bag-of-words 코사인 유사도, 0–1 | "이 텍스트들 간의 코사인 유사도를 계산해줘" |
| Levenshtein 편집 거리 | "'kitten'을 'sitting'으로 바꾸려면 몇 번의 편집이 필요한가요?" |
| 0–1로 정규화된 편집 거리 | "이 두 문자열은 얼마나 다른가요?" |
| 두 문자열 간 LCS 길이 | "이 두 문자열의 LCS 길이는 얼마인가요?" |
텍스트 정제 (10개 도구)
도구 | 설명 | 질문 예시 |
| 500개 이상의 영어 불용어 제거 | "이 텍스트에서 불용어를 제거해줘" |
| 모든 구두점 제거 | "구두점을 제거해줘" |
| 숫자 토큰 제거 | "여기서 모든 숫자를 제거해줘" |
| URL 제거 | "URL을 정리해줘" |
| 이메일 주소 제거 | "이 텍스트에서 이메일 주소를 제거해줘" |
| HTML 태그 제거 | "이 콘텐츠에서 HTML을 제거해줘" |
| 공백 축소 및 다듬기 | "공백을 정규화해줘" |
| 텍스트 소문자 변환 | "이것을 소문자로 바꿔줘" |
| Porter 스테머 (순수 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/ -vBlackmount 생태계
blackmount-nlp-mcp는 AI와 함께 작업하는 사람들을 위한 도구인 Blackmount에서 제작했습니다.
blackmount-mcp — MCP 서버로서의 브라우저 메모리, AI 채팅 검색 및 세션 분석. blackmount-nlp-mcp와 함께 사용하여 저장된 대화를 분석하세요: 채팅 기록에서 키워드 추출, AI 응답의 가독성 점수 매기기, 세션 전반의 감성 추세 감지.
app.blackmount.ai — 전체 Blackmount 플랫폼. AI 도구가 생성하는 모든 것을 검색, 정리 및 분석하세요.
라이선스
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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