Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Chinese NLP toolkit for MCP: segmentation, pinyin, keywords, sensitive words. Offline via stdio.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"chinese-nlp": {
"command": "uvx",
"args": [
"chinese-nlp-mcp"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add chinese-nlp -- uvx chinese-nlp-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"chinese-nlp": {
"command": "uvx",
"args": [
"chinese-nlp-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"chinese-nlp": {
"type": "stdio",
"command": "uvx",
"args": [
"chinese-nlp-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 leonmch-byte 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.1)은 27일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Aiterm MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
mcp-name: io.github.leonmch-byte/chinese-nlp-mcp
中文 NLP 能力的 MCP Server:分词、关键词提取、拼音转换、自定义敏感词检测。 本地 stdio 运行,全部推理在进程内完成。
📝 Tutorial: How to Add Chinese NLP to Your AI Agent in 5 Minutes
Python 3.10 或更高版本。
uvx chinese-nlp-mcp
需要先安装 uv:https://docs.astral.sh/uv/getting-started/installation/ (macOS/Linux 用 curl -LsSf https://astral.sh/uv/install.sh | sh, Windows 用 irm https://astral.sh/uv/install.ps1 | iex)
pip install chinese-nlp-mcp
chinese-nlp-mcp
git clone https://github.com/leonmch-byte/chinese-nlp-mcp
cd chinese-nlp-mcp
python -m venv .venv ./.venv/Scripts/python.exe -m pip install -r requirements.txt
python3 -m venv .venv ./.venv/bin/python -m pip install -r requirements.txt
推荐用 uvx,无需关心 Python 环境:
{
"mcpServers": { "chinese-nlp-mcp": { "command": "uvx", "args": ["chinese-nlp-mcp"] } } }
若用 pip 安装(方式二):
{
"mcpServers": { "chinese-nlp-mcp": { "command": "chinese-nlp-mcp" } } }
若从源码安装(方式三):
{
"mcpServers": { "chinese-nlp-mcp": { "command": "/absolute/path/to/chinese-nlp-mcp/.venv/Scripts/python.exe", "args": ["/absolute/path/to/chinese-nlp-mcp/server.py"] } } }
VS Code 用
servers键,Claude Desktop / Cursor 用mcpServers键。
| 工具 | 签名 | 说明 | |
|---|---|---|---|
hello_world | () -> str | 健康检查,返回 Hello from Chinese NLP MCP | |
segment_chinese | (text: str, mode: str = "default") -> list[str] | 中文分词,mode 支持 default / search / index | |
convert_pinyin | (text: str, style: str = "tone", separator: str = " ") -> str | 拼音转换,style 支持 tone / tone2 / initials / first_letter | |
extract_keywords | (text: str, topN: int = 10) -> list[dict] | TF-IDF 关键词提取,返回 [{word, weight}],按权重降序 | |
detect_sensitive_words | `(text: str, words: list[str] \ | None = None) -> dict` | 自定义敏感词检测(Aho-Corasick 自动机) |
🔴 `detect_sensitive_words` 不含任何内置词库
本工具不内置任何词库,也不内置任何示例词。词库唯一来源是调用方传入的
words参数。传[]或None等同于不检测,直接返回
{"matches": [], "clean": true}。
内容安全策略必须由使用者自己掌控,工具不会替他预设。
这些直接影响你怎么解析返回值,所以列在这里。
`detect_sensitive_words` — 重叠匹配返回全部命中
不去重、不做最长/最短优先裁剪。调用方是自己词库的负责人, 最清楚"命中什么"才是关心的信号;拿到全部命中后可按 index 自行裁剪或聚合。
例:text="中华人民共和国", words=["中国人民","人民"] → 返回 2 条命中, index 分别为 0 和 2。index 是字符索引(中文按 1 字计,非字节索引)。
`extract_keywords` — `weight` 是未归一化的 TF-IDF 原始分
值域通常 0 ~ 6,可大于 1.0(例:"天安门广场" → 1.6316)。 它表示该词在当前语料中的重要程度,不是概率或百分比。
返回顺序已按权重降序;topN 超过可提取词数时返回全部词,不报错。 中英混合文本中,英文单词会作为独立 token 保留并参与计算,不会被过滤 (例:Python 编程语言很强大 → 提取出 Python,weight 3.98)。
`convert_pinyin` — `tone2` 的数字标在元音后
zhong → zho1ng,不是 zhong1。这是 pypinyin 的既有命名规则。 style 只接受上表四个值,传入其他值会抛错(底层库本会静默降级, 本项目在入口处拦下,避免你拿到"看起来对但不是你要的结果")。
`segment_chinese` — `index` 与 `search` 行为一致
jieba 没有独立的 index 模式,本项目把 index 映射为搜索模式。 两种模式都不返回位置信息,返回值统一是 list[str]。
返回值怎么读
返回 dict 的工具(detect_sensitive_words)会被 fastmcp 直接展开为 structuredContent,不额外加 `result` 包装层; 返回 list / str 的工具则会被包成 structuredContent.result。
例:从 structuredContent.matches 与 structuredContent.clean 取值, 而不是 structuredContent.result.matches。
错误处理
参数非法抛 ValueError,内部失败抛 RuntimeError, 均由 fastmcp 转成 isError=true,工具签名保持纯净。
所有工具都可免费使用,但有每日次数上限(按 UTC 00:00 重置):
| 工具 | 每日上限 |
|---|---|
hello_world | 无限制(健康检查永不拦截) |
segment_chinese | 500 |
convert_pinyin | 300 |
extract_keywords | 100 |
detect_sensitive_words | 200 |
单次输入上限:文本 20,000 字符、自定义词库 1,000 条、topN 最大 50。
达到上限时该工具返回 isError: true,并附带当前限制、重置时间、 Pro 权益与升级链接。hello_world 始终不受影响,避免客户端误判服务器故障。
export CHINESE_NLP_LICENSE_KEY=<你的 key> # Windows: $env:CHINESE_NLP_LICENSE_KEY="..."
| 项目 | 值 |
|---|---|
| 验证频率 | 每次启动校验一次,结果缓存 24 小时 |
| 断网宽限 | 7 天(上次成功验证在 7 天内且网络故障时保持 Pro) |
| 超时 | 8 秒,不重试 |
| 本地保存 | 默认不保存明文 key |
如果你希望免去每次配环境变量,可显式同意把 key 存在本地 (权限 0600 + HMAC 签名):
export CHINESE_NLP_STORE_KEY=1
诊断用 CHINESE_NLP_LICENSE_DEBUG=1(tier 与缓存状态打到 stderr), 自解锁用 CHINESE_NLP_LICENSE_RESET=1(清除本地缓存与凭证)。
License 失效是静默的:不会弹窗、不会改变工具返回结构, 只是退回免费层配额(表现为原有的配额超限文案)。
每日计数保存在你本机的状态文件里:
%LOCALAPPDATA%\chinese-nlp-mcp\~/Library/Application Support/chinese-nlp-mcp/$XDG_STATE_HOME/chinese-nlp-mcp/需要更高额度与批量 API:https://wolfmanchao.gumroad.com/l/chinese-nlp-mcp-pro ($19 买断,非订阅)
Without a license key: Fully offline. No network calls, no telemetry. Your text never leaves the machine.
With a Pro license key: The key is verified against Gumroad once at startup, cached for 24 hours. Only product_id and license_key are sent. No text content, no usage statistics, no machine identifiers.
Verification can be disabled entirely by not setting CHINESE_NLP_LICENSE_KEY.
工具调用本身在两种情况下都完全离线 —— 网络请求只发生在服务器启动时, 且仅在配置了 license key 时。每 24 小时至多一次。
本地只保存 license key 的 SHA-256 摘要(前 16 位十六进制), 不保存明文。缓存、日志、错误信息中都不含明文 key、邮箱或 IP。
这个项目是 MIT 开源的本地软件,没有 DRM。
每日计数是防篡改(tamper-resistant)而非防破解(tamper-proof)——
有决心的人总能从源码层面绕过任何本地机制。
我们卖的是便利(批量 API、长文本、自定义词典),不是锁。
验收方式、测试规约、实现层踩坑记录见 DEVELOPMENT.md。
MIT