@koinunopochi/word-count
v0.1.0
Published
MCP サーバー: テキストまたはファイルの文字数をカウントするツール
Maintainers
Readme
@koinunopochi/word-count
テキストまたはファイルの文字数・単語数・行数をカウントする Model Context Protocol (MCP) サーバーです。
インストール
npm install -g @koinunopochi/word-countまたは、npx で直接実行:
npx @koinunopochi/word-count機能
ツール: word-count
テキストまたはファイルの文字数(サロゲートペア対応)・単語数・行数を返します。
パラメータ
- text (string, optional): 直接カウントするテキスト
- path (string, optional): 文字数を数える対象ファイルへの相対または絶対パス
- encoding (string, optional): ファイル読込時の文字エンコーディング
- デフォルト:
utf8 - 対応エンコーディング:
utf8,utf16le,latin1,base64,hex,ascii,binary,ucs2など
- デフォルト:
※ text と path のいずれか一つを指定する必要があります。
レスポンス
テキスト直接入力の場合:
{
"content": [
{
"type": "text",
"text": "ソース: 入力テキスト\n文字数: 100\n単語数: 20\n行数: 3"
}
],
"metadata": {
"source": "入力テキスト",
"characters": 100,
"words": 20,
"lines": 3
}
}ファイル入力の場合:
{
"content": [
{
"type": "text",
"text": "ソース: /path/to/file.txt\n文字数: 1234\n単語数: 200\n行数: 50"
}
],
"metadata": {
"source": "/path/to/file.txt",
"characters": 1234,
"words": 200,
"lines": 50,
"encoding": "utf8"
}
}使用例
MCP クライアントからの使用
MCP 対応クライアントで以下のように設定:
{
"mcpServers": {
"word-count": {
"command": "npx",
"args": ["@koinunopochi/word-count"]
}
}
}API使用例
テキスト直接入力:
{
"tool": "word-count",
"arguments": {
"text": "これはサンプルテキストです。\n文字数をカウントします。"
}
}ファイル指定:
{
"tool": "word-count",
"arguments": {
"path": "./document.txt",
"encoding": "utf8"
}
}開発
# ソースからビルド
npm run build
# 開発モード(ファイル監視)
npm run dev
# クリーンビルド
npm run clean && npm run build技術仕様
- Node.js: 18.18 以上
- TypeScript: 5.3 以上
- MCP SDK: @modelcontextprotocol/sdk
- スキーマ検証: zod
特徴
- サロゲートペア対応の正確な文字数カウント(絵文字も1文字として正しくカウント)
- テキスト直接入力とファイル読み込みの両方に対応
- 文字数・単語数・行数の同時カウント
- 複数のエンコーディングに対応
- TypeScript による型安全性
- エラーメッセージの日本語対応
エラーハンドリング
- ファイルが存在しない場合: 「ファイルが見つかりませんでした」エラー
- ファイル読み込み失敗時: 詳細なエラーメッセージを返す
- パラメータ未指定時:
textまたはpathのいずれかを指定するよう要求 - 無効なエンコーディング: Node.js がサポートしていないエンコーディングを指定した場合エラー
ライセンス
MIT
