buildutilities-mcp について
buildutilities-mcpは、開発者向けの決定的なユーティリティを提供するローカルMCPサーバーです。ネットワーク接続、アカウント、APIキーは不要で、ハッシュ計算や正規表現の実行、Cron計算、テキスト分析などを行います。
主な機能
- 01UUID・パスワード・トークンの生成
- 02Base64とURLのエンコード・デコード
- 03ハッシュとHMAC署名の計算
- 04タイムスタンプ変換とCron実行時刻の計算
- 05JSON整形とJWT内容の確認
- 06正規表現の実行とテキストの計数・差分
活用シーン
- 01開発用のランダムな認証情報の作成
- 02ダイジェストやWebhook署名の確認
- 03タイムゾーンを考慮したCron次回実行時刻の算出
- 04正規表現の照合やテキストの正確な集計
MCP 対応
MCPクライアントに開発ユーティリティのツールを提供します。ローカルで動作し、ネットワーク通信は行いません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
20掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| count | integer | いいえ | 生成する UUID の数 |
| uppercase | boolean | いいえ | 大文字で返します |
詳細
buildutilities-mcp
決定論的な開発者向けユーティリティをMCPツールとして提供します。すべてお使いのマシン上で動作します。ネットワーク通信なし、テレメトリーなし、APIキー不要、アカウント不要です。
buildutilities.comを開発しているチームが提供しています。
他のツールではなく、これらのツールを選ぶ理由
言語モデルはすでにほとんどのテキスト操作を得意としており、必要のないツールはコンテキストウィンドウを消費するだけです。そのため、このサーバーではモデルが実際に苦手とする処理を意図的にカバーしています。
- 乱数。 モデルは乱数を生成できません。UUIDやパスワードを尋ねても、学習データの分布から選ばれた値が返されます。セッション間で繰り返されたり、公開されているコードサンプルからそのまま取り出されたりすることもあります。セキュリティに関わる用途では、これは実際の欠陥です。
- 正確なダイジェストとバイト列。 SHA-256を計算できないため、もっともらしい値をでっち上げます。実質的に記憶していないデータのBase64エンコード結果は、気づかれないまま破損して返されます。
- 正規表現の実行。 パターンに一致するか尋ねられると、モデルはパターンを実行するのではなく、パターンについて推論します。そのため、実在しない一致を報告したり、実在する一致を見落としたりします。
- 長文に対する正確なカウントや、タイムゾーンと夏時間をまたぐカレンダー計算も苦手です。「このcronが次に実行されるのはいつか」といった質問にも、自信満々に誤った回答をします。
ここにあるものはすべて純粋関数です。同じ引数には同じ答えが返り、状態も副作用もありません。
インストール
Claude Code
claude mcp add buildutilities -- npx -y buildutilities-mcp
Claude Desktop、Cursor、またはJSON設定を使う任意のクライアント
{
"mcpServers": {
"buildutilities": {
"command": "npx",
"args": ["-y", "buildutilities-mcp"]
}
}
}
Node 18以降が必要です。MCPクライアントを使わずにツール一覧を確認するには、次を実行します。
npx -y buildutilities-mcp --help
ツール
モデルには偽造できない乱数
| Tool | What it does |
|---|---|
generate_uuid | OSのCSPRNGを使って、暗号学的にランダムなUUID v4を生成します。 |
generate_password | 有効にした各文字セットから少なくとも1文字を含む、ランダムなパスワードを生成します。 |
generate_token | APIキー、セッションID、ノンス、ソルト用のランダムなトークンを生成します。形式はhex、base64url、英数字から選べます。 |
正確なバイト列とダイジェスト
| Tool | What it does |
|---|---|
base64_encode | 標準形式またはURLセーフ形式でBase64にエンコードします。 |
base64_decode | Base64をデコードし、文字化けした結果を返すのではなく、無効な入力を報告します。 |
url_encode | コンポーネント形式または完全なURI形式でパーセントエンコードします。 |
url_decode | パーセントエンコードをデコードし、不正な入力を報告します。 |
hash_text | md5、sha1、sha256、sha384、sha512のダイジェストを生成し、安全でないアルゴリズムには警告を表示します。 |
hmac_sign | シークレットを使ってメッセージのHMAC署名を生成します。Webhookやリクエストの署名に使えます。 |
hmac_verify | メッセージと期待される署名を、タイミング攻撃に強い方法で照合します。 |
カレンダー計算
| Tool | What it does |
|---|---|
convert_timestamp | Unixエポックを任意のIANAタイムゾーンの日時に変換します。秒とミリ秒を自動判定します。 |
cron_next_runs | 5フィールドのcron式について、指定したタイムゾーンでの次回実行時刻を返します。 |
ドキュメント、トークン、差分
| Tool | What it does |
|---|---|
format_json | JSONを正確に整形または圧縮します。解析エラーが発生した場合は、行と列を表示します。 |
decode_jwt | JWTのヘッダー、ペイロード、有効期限を読み取ります。デコードのみを行い、検証はしません。 |
diff_text | 行単位の差分を取り、追加・削除された内容を示します。 |
予測せず、実行する
| Tool | What it does |
|---|---|
test_regex | パターンを実際に実行し、インデックスとキャプチャグループを含むすべての一致を返します。 |
escape_regex | 文字列を正規表現リテラルとして使えるようにエスケープします。 |
analyze_text | 文字数、単語数、行数、文数、段落数、バイト数を正確に数えます。 |
slugify | アクセント記号を変換し、URLで安全に使えるスラッグを生成します。 |
check_color_contrast | WCAG 2.2のコントラスト比を正確に計算し、どのAA/AAA基準を満たすかを示します。 |
対応していないこと
- JWT の署名は検証しません。
decode_jwtはトークンを読み取るだけで、そのトークンが本物かどうかは判定できません。認証において、その出力を決して信頼しないでください。 - md5 と sha1 は含まれていますが、安全ではありません。 チェックサムとレガシーシステムとの相互運用のために用意されており、ツールの出力にもその旨が示されます。
- Cron は標準の 5 フィールド形式のみです。 非標準の構文(
L、W、#、?)は推測して処理せず、拒否します。もっともらしい誤ったスケジュールよりもエラーのほうが望ましいためです。夏時間の開始時に時計が進むことで生じる時間帯に含まれる時刻も一覧表示されます。このケースの扱いは、実際の cron 実装によって異なります。
ネットワークに接続しないという主張はテスト済みです
test/no-network.test.ts にある 3 つのテストでこの点を検証しているため、いつの間にか守られなくなることはありません。
- ソースファイルから
node:net、http、https、dns、tls、dgramをインポートしたり、fetchを呼び出したりしていないこと。 - カタログ内のすべてのツールを実行しても、ネットワーク関連のネイティブバインディングが読み込まれないこと。
- パッケージで宣言するランタイム依存関係が、MCP SDK と zod の 2 つだけであること。3 つ目を追加するとテストに失敗し、再確認が必要になります。
npm test # 48 tests
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。