DevUtils MCP Server について
DevUtils MCP Serverは、MCP対応AIアシスタント向けに、ハッシュ、エンコード、JSON、JWT、ネットワーク、テキスト処理など36種類の開発ツールをローカルで提供します。外部APIは呼び出しません。
主な機能
- 01ハッシュ生成と検証
- 02エンコードとデコード
- 03UUID、パスワード、乱数の生成
- 04JWTのデコードと検証
- 05JSONの整形、検証、クエリ
- 06ネットワーク、日付、テキストの各種ツール
活用シーン
- 01エージェントのワークフローでエンコードやハッシュを処理
- 02UUID、パスワード、ランダム文字列の生成
- 03JWTの確認とJSONの整形
- 04CIDR範囲の計算や日付、テキストの変換
MCP 対応
stdioを通じて36種類の開発ツールをMCPクライアントに提供します。ツールはローカルで動作し、外部APIを呼び出しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
36掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | string | はい | ハッシュ化する文字列 |
詳細
DevUtils MCP サーバー
あらゆるMCP互換AIアシスタントで使える、日常的な開発者向けツール36種。 ハッシュ化、エンコード、UUID生成、JWTデコード、JSON整形、ネットワークツール、テキストユーティリティなど、さらに多くの機能を搭載。すべてローカルで動作し、外部APIは不要です。
開発者向けツールの busybox のようなものです。小さく、必須で、いつでも役立ちます。
プラグインとしても利用できます: devutils-cursor-plugin — CursorとClaude Codeにワンクリックでインストールできます。
なぜ使うのか?
開発者は毎日、文字列のハッシュ化、データのエンコード/デコード、UUIDの生成、JWTのデコード、JSONの整形、CIDR範囲の計算、タイムスタンプの変換を行う必要があります。DevUtils MCP サーバーは、これらすべてのツールをAIアシスタントで直接利用できるようにします。Claude、Cursor、VS Code、Windsurf、その他あらゆるMCP互換クライアントで動作します。
インストール
前提条件: Node.js 18以上(Node 22を推奨)。
node -vで確認してください。
ワンクリック/プラグイン
上記の Add to Cursor / VS Code バッジを使うか、プラグインをインストールしてください:
/plugin marketplace add paladini/devutils-cursor-plugin
/plugin install devutils-mcp@devutils-cursor-plugin
Cursor:Settings → Customize から設定するか、GitHubの paladini/devutils-cursor-plugin から追加してください。
npx(インストール不要)
npx -y devutils-mcp-server
npm
npm install -g devutils-mcp-server
devutils-mcp-server
Docker
# Published image (when available)
docker run -i --rm ghcr.io/paladini/devutils-mcp-server
# Or build locally
docker build -t devutils-mcp-server .
docker run -i --rm devutils-mcp-server
# Or with Compose
docker compose build
docker compose run --rm -i devutils-mcp
公式MCPレジストリ
io.github.paladini/devutils-mcp-server として登録されています。io.github.paladini/devutils を検索してください。
GitHub Packages
リリースは @paladini/devutils-mcp-server として npm と GitHub Packages の両方に公開されます(.github/workflows/release.yml を参照)。ほとんどのインストールでは公開 npm パッケージをおすすめします。npm.pkg.github.com に対してすでに認証している場合は、GitHub Packages をご利用ください。
# After authenticating to npm.pkg.github.com for the @paladini scope:
npx -y @paladini/devutils-mcp-server
Smithery
Smithery でも利用できます。
クライアントの設定
Cursor
ワンクリック: この README の上部にある Add to Cursor バッジを使用します。
プラグイン(推奨): Cursor Settings → Customize から DevUtils MCP をインストールします。
手動: ~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
または、Docker を使用します。
{
"mcpServers": {
"devutils": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/paladini/devutils-mcp-server"]
}
}
}
Claude Code
/plugin marketplace add paladini/devutils-cursor-plugin
/plugin install devutils-mcp@devutils-cursor-plugin
VS Code(GitHub Copilot)
ワンクリック: 上部にある VS Code バッジを使用するか、.vscode/mcp.json またはユーザー設定に追加します。
{
"servers": {
"devutils": {
"type": "stdio",
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します。
{
"mcpServers": {
"devutils": {
"command": "npx",
"args": ["-y", "devutils-mcp-server"]
}
}
}
Docker MCP Toolkit(Docker Desktop)
このサーバーが Docker MCP Catalog で利用できる場合:
- Docker Desktop → MCP Toolkit を開きます
- DevUtils を検索します
- Enable をクリックします
ローカル開発
npm install
npm run dev
利用可能なツール(36)
ハッシュ(6)
| ツール | 説明 |
|---|---|
hash_md5 | MD5 ハッシュを生成 |
hash_sha1 | SHA-1 ハッシュを生成 |
hash_sha256 | SHA-256 ハッシュを生成 |
hash_sha512 | SHA-512 ハッシュを生成 |
hash_bcrypt | bcrypt ハッシュを生成(ラウンド数を設定可能) |
hash_bcrypt_verify | 文字列が bcrypt ハッシュと一致するか検証 |
エンコード(8)
| ツール | 説明 |
|---|---|
base64_encode | 文字列を Base64 にエンコード |
base64_decode | Base64 を文字列にデコード |
url_encode | URL エンコード(パーセントエンコーディング) |
url_decode | URL エンコードされた文字列をデコード |
html_encode | HTML エンティティにエンコード |
html_decode | HTML エンティティをデコード |
hex_encode | 文字列を 16 進数にエンコード |
hex_decode | 16 進数を文字列にデコード |
生成(4)
| ツール | 説明 |
|---|---|
generate_uuid | 暗号論的に安全な UUID v4(バッチ処理に対応) |
generate_nanoid | 短く URL に使いやすい ID(長さを設定可能) |
generate_password | 安全なパスワード(複雑さを設定可能) |
generate_random_hex | ランダムな 16 進数文字列(長さを設定可能) |
JWT(2)
| ツール | 説明 |
|---|---|
jwt_decode | JWT のヘッダーとペイロードをデコード(人が読みやすい日付形式) |
jwt_validate | JWT の構造と有効期限を検証 |
フォーマッター(3)
| ツール | 説明 |
|---|---|
json_format | JSON を整形または圧縮 |
json_validate | エラー箇所を示して JSON を検証 |
json_path_query | ドット記法のパスを使用して値を抽出 |
変換(5)
| ツール | 説明 |
|---|---|
timestamp_to_date | Unix タイムスタンプ → 人が読みやすい日付(タイムゾーンに対応) |
date_to_timestamp | 日付文字列 → Unix タイムスタンプ |
number_base_convert | 基数間で変換(bin/oct/dec/hex/任意) |
color_convert | 色を変換(HEX ↔ RGB ↔ HSL) |
byte_convert | バイト単位を変換(B/KB/MB/GB/TB/PB) |
ネットワーク(2)
| ツール | 説明 |
|---|---|
cidr_calculate | CIDR → ネットワーク、ブロードキャスト、マスク、ホスト範囲、ホスト数 |
ip_validate | IPv4/IPv6 アドレスを検証して分類 |
テキスト(6)
| ツール | 説明 |
|---|---|
text_stats | 文字数/単語数/行数/文数、読了時間 |
lorem_ipsum | プレースホルダーテキストを生成 |
case_convert | camelCase、snake_case、PascalCase などの間で変換 |
slugify | 文字列を URL 向けのスラッグに変換 |
regex_test | 入力に対して正規表現パターンをテスト |
text_diff | 2 つのテキストを行ごとに比較 |
アーキテクチャ
src/
├── index.ts # MCP server entry point (stdio transport)
└── tools/
├── hash.ts # Cryptographic hash functions
├── encoding.ts # Encode/decode utilities
├── generators.ts # ID and password generators
├── jwt.ts # JWT decode and validation
├── formatters.ts # JSON formatting and querying
├── converters.ts # Data type and unit converters
├── network.ts # Network calculation utilities
└── text.ts # Text analysis and manipulation
技術スタック: TypeScript + Node.js 22 · @modelcontextprotocol/sdk · bcryptjs · nanoid · zod
外部 API への依存はありません。 すべてのツールはネットワーク接続なしでローカル実行されます。
Docker
イメージのサイズを最小限に抑えるため、マルチステージビルドを使用します。
- ビルドステージ: Node 22 Alpine で TypeScript をコンパイル
- 実行ステージ: 非 root ユーザーとして、Node 22 Alpine 上でコンパイル済み JS を実行
docker build -t devutils-mcp-server .
# Smoke-test with an MCP initialize request
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | docker run -i --rm devutils-mcp-server
よくある質問と設計思想
なぜライブラリではなく MCP なのですか?
もっともな指摘です: Python スクリプトを書いていて、何かをハッシュ化する必要があるなら、hashlib で 2 行のコードを書けば済みます。なぜ MCP のオーバーヘッドをかけるのでしょうか?
回答: このサーバーは、コードを書くプログラマーではなく、複数のステップからなるワークフローで使用する AI エージェント 向けに最適化されています。
- AI のハルシネーションによるコストは MCP のオーバーヘッドを大きく上回ります — AI モデルが MCP ツールの呼び出しに 50ms(ライブラリ呼び出しなら 1ms)かかっても、代わりにモデルが ハッシュをでっち上げたり、誤ったエンコーディングを使ったりすることに比べれば無視できる程度です。
- 信頼できるツールの仕様 — MCP は厳格なツール契約を適用します。たとえば、
jwt_decodeは常に、タイムゾーンに対応した人間が読める日付を返します。 - 幅広く利用可能 — MCP 互換のクライアントなら、どれでもこれらのツールを使用できます。Python ライブラリが使えるのは、エージェントが Python ベースの場合だけです。
- マルチテナントでの安全性 — MCP では、入力検証を伴う明示的なツールの許可リストを利用できます。
DevUtils と代替手段の使い分け
次の場合は DevUtils を使用してください:
- Claude、Cursor、VS Code Copilot、Windsurf、または MCP 互換の AI アシスタントを使用している
- AI ワークフローで、信頼性が高く検証済みのユーティリティ操作が必要
- 36 個のツールを 1 つのパッケージで使いたい
次の場合は DevUtils を使用しないでください:
- 通常のアプリケーションコードを書いている(ネイティブライブラリを使用してください)
- 極めて高いパフォーマンスが必要(ライブラリを直接呼び出すほうが高速です)
- 使用する AI クライアントが MCP に対応していない
設計思想
- 小規模で目的に特化: 36 個のユーティリティ、外部 API への依存ゼロ、約 50MB のコンテナ
- セキュリティ優先: 非 root ユーザー、Alpine Linux、最小限の攻撃対象領域
- AI フレンドリー: 一貫した命名規則(
<domain>_<operation>)、厳格なスキーマ、人間が読みやすい出力 - クライアント非依存: stdio トランスポートを介して、あらゆる MCP 互換クライアントで動作
利用先
| チャネル | リンク |
|---|---|
| 公式 MCP レジストリ | io.github.paladini/devutils-mcp-server — registry.modelcontextprotocol.io |
| npm | devutils-mcp-server |
| GitHub Packages | @paladini/devutils-mcp-server(リリースタグでデュアル公開) |
| GHCR(Docker) | ghcr.io/paladini/devutils-mcp-server |
| Glama | glama.ai/mcp/servers/paladini/devutils-mcp-server |
| Smithery | smithery.ai/server/devutils-mcp-server |
| Cursor / Claude プラグイン | devutils-cursor-plugin |
コントリビューション
質問やアイデア:GitHub Discussions
セキュリティに関する報告:SECURITY.md をご覧ください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feat/amazing-tool) - 変更をコミットします(
git commit -m 'feat: add amazing tool') - ブランチにプッシュします(
git push origin feat/amazing-tool) - プルリクエストを作成します
CHANGELOG.md をご覧ください。
License
MIT © Fernando Paladini
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。