mcpField
Z
Zh Word Counter

Zh Word Counter

本地服务
github.com/yoqu生产力068 周前更新

关于 Zh Word Counter

Zh Word Counter 是面向文本处理场景的 MCP 中文字数统计服务,可批量分析文本文件。它按中英文及全角、半角字符的不同权重计算字数,并提供分类统计。

主要功能

  1. 01统计中英文及全角、半角字符
  2. 02批量处理多个文件
  3. 03按字符类型提供明细
  4. 04按规则计算并向上取整
  5. 05支持常见文本文件格式

适用场景

  1. 01统计文档或 Markdown 文件字数
  2. 02比较多个文件的字符构成
  3. 03检查代码与 JSON 文件文本量

MCP 相关

它向 MCP 客户端提供 `count_words` 工具,接收文件路径并返回各文件的详细统计、总字数及错误信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"word-counter": {
"command": "npx",
"args": [
"-y",
"@yoqulin/mcp-word-counter"
]
}
}
}
启动命令npx -y @yoqulin/mcp-word-counter

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@yoqulin/mcp-word-counter

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
filePathsarray是要统计字数的文件路径数组

详细介绍

来自项目 README

MCP Word Counter - 中文字数统计服务

一个基于 Model Context Protocol (MCP) 的中文字数统计服务,支持智能统计中文、英文、全角和半角字符。

功能特性

  • ✅ 智能字符识别:准确识别中文汉字、英文字符、全角和半角字符
  • ✅ 多文件支持:同时统计多个文件的字数
  • ✅ 详细统计:提供每种字符类型的详细统计信息
  • ✅ 智能计算:按照指定规则计算字数并向上取整
  • ✅ 错误处理:友好的错误提示和异常处理

字数计算规则

字符类型计算权重示例
中文汉字1.0中、文、汉、字
英文字符0.5a-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": {}
    }
  }
}
方法三:本地开发
  1. 克隆项目并安装依赖:
git clone https://github.com/yourusername/mcp-word-counter.git
cd mcp-word-counter
npm install
  1. 构建项目:
npm run build
  1. 配置 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

如果你想要发布自己的版本:

  1. 更新 package.json 中的作者信息和仓库地址
  2. 登录 npm:
    npm login
    
  3. 发布包:
    npm publish
    

贡献

欢迎提交 Issue 和 Pull Request!

更新日志

v1.0.0
  • 初始版本
  • 支持中文字数统计
  • 支持多文件处理
  • 完整的 MCP 集成
  • 支持 npx 直接使用

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。