A Model Context Protocol server for Chinese word segmentation using rjieba
Project description
MCP Jieba Server
这是一个基于 rjieba (Rust implementation of Jieba) 的 Model Context Protocol (MCP) 服务器,提供高性能的中文分词服务。
功能特性
- 高性能分词: 使用 Rust 编写的底层引擎。
- 多模式支持: 支持精确模式 (
exact) 和搜索引擎模式 (search)。 - 词性标注: 支持 ICTCLAS 兼容的词性标注。
- 关键词提取: 基于 BM25 算法的关键词提取。
- 批量处理: 支持单字符串或字符串数组输入,返回 JSON 格式结果。
- 双模部署:
- STDIO: 适用于本地开发和 Claude Context/Cherry Studio/VS Code 集成。
- Streamable-HTTP: 适用于远程部署(如 ModelScope)。
安装
使用 pip / uv / pipx
# 使用 pip
pip install .
# 使用 uv
uv pip install .
使用方法
1. 本地运行 (STDIO)
直接运行模块即可启动 STDIO 服务器:
python -m mcp_jieba.server
或者在 Claude Context/Cherry Studio/VS Code 的 MCP 配置中添加:
{
"mcpServers": {
"jieba": {
"command": "python",
"args": ["-m", "mcp_jieba.server"]
}
}
}
2. 远程部署 (Streamable-HTTP)
使用命令行参数启动 HTTP 服务器:
python -m mcp_jieba.server --transport http --host 0.0.0.0 --port 8000
SSE 端点地址: http://localhost:8000/sse
ModelScope 部署
在 ModelScope 创建 Space 时,选择 Python 环境,并使用以下启动命令:
python -m mcp_jieba.server --transport http --host 0.0.0.0 --port 8000
当前 pyproject.toml 已经包含所有依赖。
开发与测试
目前项目的单元测试尚不完善。建议使用 MCP Inspector 进行交互式测试和调试。
bunx @modelcontextprotocol/inspector python -m mcp_jieba.server
工具说明
tokenize
对文本进行分词。
| 项目 | 描述 |
|---|---|
| 参数 |
|
| 返回 | JSON 对象,键为输入数组的索引(字符串格式),值为分词结果数组。 |
示例:
- 输入:
text=["我爱北京天安门"], mode="exact" - 输出:
{"0": ["我", "爱", "北京", "天安门"]}
tag
对文本进行词性标注,标注类型符合ICTCLAS标准。
| 项目 | 描述 |
|---|---|
| 参数 |
|
| 返回 | JSON 对象,键为输入数组的索引,值为单词-词性对的列表。 |
示例:
- 输入:
text=["我爱北京天安门"] - 输出:
{"0": [{"word": "我", "flag": "r"}, {"word": "爱", "flag": "v"}, ...]}
extract_keywords
使用向量化的针对关键词BM25-ADPT算法提取关键词。
| 项目 | 描述 |
|---|---|
| 参数 |
|
| 返回 | JSON 对象,键为输入数组的索引,值为关键词列表。 |
示例:
- 输入:
text=["我爱北京天安门"], top_k=2 - 输出:
{"0": ["天安门", "北京"]}
鸣谢
- @messense/jieba-rs
- @messense/rjieba-py
- BM25-ADPT https://doi.org/10.1145/2063576.2063871
- GitHub Copilot
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_jieba-0.1.0.tar.gz.
File metadata
- Download URL: mcp_jieba-0.1.0.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45b2ebc21cb45c3158522971a0b520cf162f9aac69047c6a82498e6ef2fd4410
|
|
| MD5 |
d0b61a78776b5e3dc155d83872adeadd
|
|
| BLAKE2b-256 |
59777b68cbcb7c2b5aa3b979f06465ea7e7b9c0889a311cd839db37c1ecf75ff
|
File details
Details for the file mcp_jieba-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcp_jieba-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a85f507908a6b70b6243a691d93204c9668f7f9e475af935872561053ed25b6d
|
|
| MD5 |
dc2a5c16613de526f9e09f4a0a0aab3f
|
|
| BLAKE2b-256 |
648ce47db2564ed684ac900b404c0451aad6ab538acd5e560183708d42761402
|