https://github.com/yoqu/mcp-word-counter
https://github.com/yoqu/mcp-word-counter
Last synced: 19 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/yoqu/mcp-word-counter
- Owner: yoqu
- Created: 2025-07-09T02:57:13.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-09T03:08:06.000Z (11 months ago)
- Last Synced: 2025-08-09T00:41:22.915Z (10 months ago)
- Language: JavaScript
- Size: 6.66 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MCP 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 安装和配置,无需手动下载:
```bash
npx mcp-word-counter
```
在你的 MCP 客户端配置文件中添加:
```json
{
"mcpServers": {
"word-counter": {
"command": "npx",
"args": ["mcp-word-counter"],
"env": {}
}
}
}
```
### 方法二:全局安装
```bash
npm install -g mcp-word-counter
```
配置 MCP 客户端:
```json
{
"mcpServers": {
"word-counter": {
"command": "mcp-word-counter",
"env": {}
}
}
}
```
### 方法三:本地开发
1. 克隆项目并安装依赖:
```bash
git clone https://github.com/yourusername/mcp-word-counter.git
cd mcp-word-counter
npm install
```
2. 构建项目:
```bash
npm run build
```
3. 配置 MCP 客户端:
```json
{
"mcpServers": {
"word-counter": {
"command": "node",
"args": ["path/to/mcp-word-counter/dist/index.js"],
"env": {}
}
}
}
```
## 使用方法
### 在 MCP 客户端中使用
调用 `count_words` 工具:
```json
{
"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
```
### 开发模式
```bash
# 监听文件变化并自动编译
npm run dev
# 运行编译后的服务器
npm start
```
### 测试
创建测试文件并使用 MCP 客户端测试:
```bash
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:
```bash
npm login
```
3. 发布包:
```bash
npm publish
```
## 贡献
欢迎提交 Issue 和 Pull Request!
## 更新日志
### v1.0.0
- 初始版本
- 支持中文字数统计
- 支持多文件处理
- 完整的 MCP 集成
- 支持 npx 直接使用