关于 Zh Word Counter
Zh Word Counter 是面向文本处理场景的 MCP 中文字数统计服务,可批量分析文本文件。它按中英文及全角、半角字符的不同权重计算字数,并提供分类统计。
主要功能
- 01统计中英文及全角、半角字符
- 02批量处理多个文件
- 03按字符类型提供明细
- 04按规则计算并向上取整
- 05支持常见文本文件格式
适用场景
- 01统计文档或 Markdown 文件字数
- 02比较多个文件的字符构成
- 03检查代码与 JSON 文件文本量
MCP 相关
它向 MCP 客户端提供 `count_words` 工具,接收文件路径并返回各文件的详细统计、总字数及错误信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| filePaths | array | 是 | 要统计字数的文件路径数组 |
详细介绍
来自项目 READMEMCP Word Counter - 中文字数统计服务
一个基于 Model Context Protocol (MCP) 的中文字数统计服务,支持智能统计中文、英文、全角和半角字符。
功能特性
- ✅ 智能字符识别:准确识别中文汉字、英文字符、全角和半角字符
- ✅ 多文件支持:同时统计多个文件的字数
- ✅ 详细统计:提供每种字符类型的详细统计信息
- ✅ 智能计算:按照指定规则计算字数并向上取整
- ✅ 错误处理:友好的错误提示和异常处理
字数计算规则
| 字符类型 | 计算权重 | 示例 |
|---|---|---|
| 中文汉字 | 1.0 | 中、文、汉、字 |
| 英文字符 | 0.5 | a-z, A-Z |
| 全角字符 | 1.0 | !、(、) |
| 半角字符 | 0.5 | !、(、) |
注意:最终字数会向上取整。例如:3.2 → 4,5.7 → 6
安装与配置
方法一:使用 npx(推荐)
直接使用 npx 安装和配置,无需手动下载:
npx mcp-word-counter
在你的 MCP 客户端配置文件中添加:
{
"mcpServers": {
"word-counter": {
"command": "npx",
"args": ["mcp-word-counter"],
"env": {}
}
}
}
方法二:全局安装
npm install -g mcp-word-counter
配置 MCP 客户端:
{
"mcpServers": {
"word-counter": {
"command": "mcp-word-counter",
"env": {}
}
}
}
方法三:本地开发
- 克隆项目并安装依赖:
git clone https://github.com/yourusername/mcp-word-counter.git
cd mcp-word-counter
npm install
- 构建项目:
npm run build
- 配置 MCP 客户端:
{
"mcpServers": {
"word-counter": {
"command": "node",
"args": ["path/to/mcp-word-counter/dist/index.js"],
"env": {}
}
}
}
使用方法
在 MCP 客户端中使用
调用 count_words 工具:
{
"name": "count_words",
"arguments": {
"filePaths": ["./example.txt", "./document.md"]
}
}
支持的文件格式
- 纯文本文件 (.txt)
- Markdown 文件 (.md)
- JavaScript/TypeScript 文件 (.js, .ts)
- JSON 文件 (.json)
- 其他任何文本格式文件
输出示例
文件: ./example.txt
总字数: 156
详细统计:
- 汉字: 120
- 英文字符: 45
- 全角字符: 8
- 半角字符: 12
- 其他字符: 3
- 原始字数: 155.50
文件: ./document.md
总字数: 89
详细统计:
- 汉字: 78
- 英文字符: 20
- 全角字符: 2
- 半角字符: 5
- 其他字符: 1
- 原始字数: 88.50
总计字数: 245
开发
项目结构
mcp-word-counter/
├── src/
│ ├── index.ts # MCP 服务器主文件
│ ├── word-counter.ts # 字数统计核心逻辑
│ └── types.ts # 类型定义
├── dist/ # 编译输出目录
├── package.json
├── tsconfig.json
└── README.md
开发模式
# 监听文件变化并自动编译
npm run dev
# 运行编译后的服务器
npm start
测试
创建测试文件并使用 MCP 客户端测试:
echo "Hello 世界!This is a test." > test.txt
API 文档
count_words 工具
统计指定文件的中文字数。
参数:
filePaths(string[]): 要统计的文件路径数组
返回值:
- 每个文件的详细统计信息
- 总字数统计
- 错误信息(如果有)
技术栈
- Node.js: 运行时环境
- TypeScript: 开发语言
- MCP SDK: Model Context Protocol 官方 SDK
- ESM: ES 模块系统
许可证
MIT License
发布到 npm
如果你想要发布自己的版本:
- 更新
package.json中的作者信息和仓库地址 - 登录 npm:
npm login - 发布包:
npm publish
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
v1.0.0
- 初始版本
- 支持中文字数统计
- 支持多文件处理
- 完整的 MCP 集成
- 支持 npx 直接使用
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。