🚀 IT Tools MCP Server
このプロジェクトは、包括的なModel Context Protocol (MCP)サーバーです。開発者、システム管理者、ITプロフェッショナルが一般的に使用する112のITツールとユーティリティにアクセスできます。エンコード/デコード、テキスト操作、ハッシュ、ネットワークユーティリティなど、多くの一般的な開発およびITタスクに必要なツール一式を提供します。
🚀 クイックスタート
このサーバーを使用することで、多様なITツールを手軽に利用できます。以下にインストール方法や使用例を示します。
✨ 主な機能
- 多様なツールカテゴリ:14のカテゴリにまたがる112のツールを提供します。
- AI支援開発:AIを活用して開発され、コード品質やテストの充実が図られています。
- 柔軟なインストール方法:VS Code、Dockerなどを通じて簡単にインストールできます。
📦 インストール
VS Codeでの使用
VS Codeのsettings.json
に以下を追加します。
Node
{
"mcp": {
"servers": {
"it-tools": {
"command": "npx",
"args": [
"it-tools-mcp"
],
"env": {}
}
}
}
}
Docker
{
"mcp": {
"servers": {
"it-tools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"--security-opt", "no-new-privileges:true",
"--cap-drop", "ALL",
"--read-only",
"--user", "1001:1001",
"--memory=256m",
"--cpus=0.5",
"--name", "it-tools-mcp",
"wrenchpilot/it-tools-mcp:latest"
]
}
}
}
インタラクティブモード
docker run -it --rm wrenchpilot/it-tools-mcp:latest
プログラム的な使用
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"uuid-generate","arguments":{}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"base64-encode","arguments":{"text":"Hello World"}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
💻 使用例
基本的な使用法
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"uuid-generate","arguments":{}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
高度な使用法
encoded_text=$(echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"base64-encode","arguments":{"text":"Hello World"}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest)
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"hash-sha256","arguments":{"text":'"$encoded_text"'"}}}' | \
docker run -i --rm wrenchpilot/it-tools-mcp:latest
📚 ドキュメント
ツールカテゴリ
このMCPサーバーは、14のカテゴリにまたがる112のツールを提供します。
- Ansible Tools (5つのツール): Vaultの暗号化/復号化、インベントリパーサー、プレイブックバリデーター、リファレンス
- Color Tools (2つのツール): 16進数とRGBの変換
- Data Format (12のツール): JSON、XML、YAML、SQL、TOML、MarkdownとHTMLの変換、電話番号の整形
- Development Tools (6つのツール): 正規表現のテスト、クロン式の生成、リストの変換、コードの整形、Markdownの目次生成
- Docker Tools (5つのツール): Composeの検証、変換ツール、Traefikジェネレーター、リファレンス
- Encoding & Decoding (8つのツール): Base64、URL、HTMLエンティティ、テキストとバイナリの変換
- Forensic Tools (3つのツール): ファイルタイプの識別、Microsoft SafeLinksの復号化、URLのファング化/デファング化
- ID & Code Generators (4つのツール): UUID、ULID、QRコード、SVGプレースホルダーの生成
- Math & Calculations (6つのツール): 式の評価、基数変換、温度、パーセンテージ、Unixタイムスタンプ、ローマ数字の変換
- Network & System (23のツール): IPv4/IPv6サブネット、URLの解析、MACアドレス、ps、top、cat、head、tail、grep、ping、nslookup、telnet、dig、ssh、scp、curl、IBANの検証
- Physics (3つのツール): 角度、エネルギー、電力の単位変換
- Security & Crypto (12のツール): ハッシュ化 (MD5、SHA1、SHA256、SHA512)、HMAC、JWT、bcrypt、パスワード、トークン、OTP、BIP39
- Text Processing (19のツール): ケース変換、統計情報、差分、ASCIIアート、NATOアルファベット、スラッグ化、Unicodeの操作
- Utility Tools (7つのツール): メールアドレスの正規化、MIMEタイプ、HTTPステータスコード、デバイス情報、CSSの整形、REM/PXの変換
利用可能なツール
ツール名 |
説明 |
パラメータ |
Ansible Tools |
|
|
ansible-inventory-generator |
Ansibleインベントリの生成 |
hosts: string[] , groups?: Record<string, string[]> , variables?: Record<string, any> |
ansible-playbook-validator |
AnsibleプレイブックYAMLの検証 |
playbook: string |
ansible-reference |
Ansibleの構文とモジュールのリファレンス |
query?: string |
ansible-vault-decrypt |
Ansible Vaultデータの復号化 |
data: string , password: string |
ansible-vault-encrypt |
Ansible Vaultを使用したデータの暗号化 |
data: string , password: string |
Color Tools |
|
|
color-hex-to-rgb |
16進数をRGBに変換 |
hex: string |
color-rgb-to-hex |
RGBを16進数に変換 |
r: number , g: number , b: number |
Data Format |
|
|
html-to-markdown |
HTMLをMarkdownに変換 |
html: string |
json-diff |
JSONオブジェクトの比較 |
json1: string , json2: string |
json-format |
JSONの整形と検証 |
json: string , indent?: number |
json-minify |
JSONの最小化 |
json: string |
json-to-csv |
JSONをCSVに変換 |
json: string , delimiter?: string |
json-to-toml |
JSONをTOMLに変換 |
json: string |
markdown-to-html |
MarkdownをHTMLに変換 |
markdown: string |
phone-format |
電話番号の解析と整形 |
phoneNumber: string , countryCode?: string |
sql-format |
SQLの整形 |
sql: string , dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (オプション、デフォルト: 'sql') |
toml-to-json |
TOMLをJSONに変換 |
toml: string |
xml-format |
XMLの整形 |
xml: string , indent?: number |
yaml-format |
YAMLの整形 |
yaml: string |
Development Tools |
|
|
crontab-generate |
クロン式の生成 |
minute?: string , hour?: string , dayOfMonth?: string , month?: string , dayOfWeek?: string |
html-prettifier |
HTMLの整形と美化 |
html: string , indent?: number |
javascript-prettifier |
JavaScriptの整形と美化 |
javascript: string , indent?: number |
list-converter |
リスト形式の変換 |
list: string , inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' , outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted' , trim?: boolean |
markdown-toc-generator |
Markdownの目次生成 |
markdown: string , maxDepth?: number |
regex-tester |
正規表現のテスト |
pattern: string , text: string , flags?: string |
Docker Tools |
|
|
docker-compose-to-docker-run |
ComposeをDocker runコマンドに変換 |
compose: string , service?: string |
docker-compose-validator |
Docker Compose YAMLの検証 |
compose: string |
docker-reference |
Dockerコマンドと構文のリファレンス |
query?: string |
docker-run-to-docker-compose |
Docker runをComposeに変換 |
command: string |
traefik-compose-generator |
Traefik Docker Composeの生成 |
domain: string , service: string , port?: number , network?: string |
Encoding & Decoding |
|
|
base64-decode |
Base64テキストの復号化 |
text: string |
base64-encode |
テキストをBase64にエンコード |
text: string |
html-decode |
HTMLエンティティの復号化 |
text: string |
html-encode |
HTMLエンティティのエンコード |
text: string |
html-entities-extended |
拡張HTMLエンティティのエンコード/復号化 |
text: string , operation: 'encode' | 'decode' |
text-to-binary |
テキストとバイナリの変換 |
input: string , operation: 'encode' | 'decode' |
text-to-unicode |
テキストとUnicodeの変換 |
input: string , operation: 'encode' | 'decode' |
url-decode |
URLのデコード |
text: string |
url-encode |
URLのエンコード |
text: string |
Forensic Tools |
|
|
file-type-identifier |
コンテンツからファイルタイプを識別 |
data: string , filename?: string |
safelink-decoder |
Microsoft SafeLinksの復号化 |
url: string |
url-fanger |
URLのファング化/デファング化 (解析用) |
text: string , operation: 'fang' | 'defang' |
ID & Code Generators |
|
|
qr-generate |
任意のコンテンツのQRコード生成 |
text: string , size?: number - URL、WiFi (WIFI:T:WPA;S:network;P:password;;)、連絡先情報などをサポート |
svg-placeholder-generator |
SVGプレースホルダーの生成 |
width?: number , height?: number , text?: string , backgroundColor?: string , textColor?: string |
ulid-generate |
ULIDの生成 |
なし |
uuid-generate |
UUID v4の生成 |
なし |
Math & Calculations |
|
|
math-evaluate |
式の評価 |
expression: string |
number-base-converter |
基数変換 |
number: string , fromBase: number , toBase: number |
percentage-calculator |
パーセンテージの計算 |
operation: 'percentage-of' | 'what-percentage' | 'percentage-change' , value1: number , value2: number |
roman-numeral-converter |
ローマ数字の変換 |
input: string |
temperature-converter |
温度の変換 |
temperature: number , from: 'celsius' | 'fahrenheit' | 'kelvin' , to: 'celsius' | 'fahrenheit' | 'kelvin' |
unix-timestamp-converter |
タイムスタンプの変換 |
input: string |
Network & System |
|
|
cat |
ファイル内容の表示 |
file: string |
curl |
HTTPクライアント (GET、POSTなど) |
url: string , method?: string , headers?: Record<string, string> , body?: string |
dig |
DNSクエリ (カスタムタイプ) |
target: string , type?: string |
grep |
ファイル内のパターン検索 |
file: string , pattern: string |
head |
ファイルの最初のN行の表示 |
file: string , lines?: number |
iban-validate |
IBANの検証 |
iban: string |
ip-subnet-calculator |
IPv4サブネットの計算 |
ip: string , cidr: number |
ipv4-subnet-calc |
拡張IPv4サブネットの計算 |
cidr: string |
ipv6-ula-generator |
IPv6 ULAの生成 |
globalId?: string |
mac-address-generate |
MACアドレスの生成 |
prefix?: string , separator?: ':' | '-' |
nslookup |
DNSルックアップ (A/AAAA/CNAME) |
target: string |
ping |
ホストのping |
target: string , count?: number |
ps |
実行中のプロセスのリスト |
なし |
random-port |
ランダムポートの生成 |
count?: number , min?: number , max?: number , exclude?: number[] |
scp |
リモートホストへ/からのファイルコピー (SFTP) |
target: string , user: string , direction: 'upload'|'download' , localPath: string , remotePath: string , privateKey?: string |
ssh |
SSHコマンドの実行 |
target: string , user: string , command: string |
tail |
ファイルの最後のN行の表示 |
file: string , lines?: number |
telnet |
TCP接続性のテスト |
target: string , port: number |
top |
トッププロセスの表示 (CPU使用率順) |
なし |
url-parse |
URLコンポーネントの解析 |
url: string |
Physics |
|
|
angle-converter |
角度単位の変換 |
value: number , from: 'degrees' | 'radians' | 'gradians' , to: 'degrees' | 'radians' | 'gradians' |
energy-converter |
エネルギー単位の変換 |
value: number , from: 'joules' | 'calories' | 'kwh' | 'btu' , to: 'joules' | 'calories' | 'kwh' | 'btu' |
power-converter |
電力単位の変換 |
value: number , from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour' , to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour' |
Security & Crypto |
|
|
basic-auth-generator |
Basic Authヘッダーの生成 |
username: string , password: string |
bcrypt-hash |
bcryptハッシュの生成/検証 |
password: string , rounds?: number , hash?: string |
bip39-generate |
BIP39ニーモニックの生成 |
wordCount?: '12' | '15' | '18' | '21' | '24' |
hash-md5 |
MD5ハッシュの生成 |
text: string |
hash-sha1 |
SHA1ハッシュの生成 |
text: string |
hash-sha256 |
SHA256ハッシュの生成 |
text: string |
hash-sha512 |
SHA512ハッシュの生成 |
text: string |
hmac-generator |
HMACの生成 |
message: string , key: string , algorithm?: 'sha1' | 'sha256' | 'sha512' |
jwt-decode |
JWTトークンの復号化 |
token: string |
otp-code-generator |
TOTPコードの生成 |
secret: string , digits?: number , period?: number |
password-generate |
安全なパスワードの生成 |
length?: number , includeUppercase?: boolean , includeLowercase?: boolean , includeNumbers?: boolean , includeSymbols?: boolean |
token-generator |
安全なトークンの生成 |
length?: number , charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom' , customChars?: string |
Text Processing |
|
|
ascii-art-text |
ASCIIアートの生成 |
text: string , font?: string (295以上のfigletフォントをサポート) |
distinct-words |
テキストから一意の単語を抽出 |
text: string , caseSensitive?: boolean |
emoji-search |
絵文字の検索 |
query: string |
lorem-ipsum-generator |
Lorem Ipsumの生成 |
type?: 'words' | 'sentences' | 'paragraphs' , count?: number |
numeronym-generator |
ニューモニムの生成 |
text: string |
slugify-string |
URLスラッグへの変換 |
text: string , separator?: string , lowercase?: boolean |
string-obfuscator |
テキストの難読化 |
text: string , method?: 'html-entities' | 'unicode' | 'base64' |
text-camelcase |
キャメルケースへの変換 |
text: string |
text-capitalize |
単語の先頭を大文字にする |
text: string |
text-diff |
テキストの比較 |
text1: string , text2: string |
text-kebabcase |
ケバブケースへの変換 |
text: string |
text-lowercase |
小文字への変換 |
text: string |
text-pascalcase |
パスカルケースへの変換 |
text: string |
text-snakecase |
スネークケースへの変換 |
text: string |
text-stats |
テキストの統計情報の取得 |
text: string |
text-to-nato-alphabet |
NATOアルファベットへの変換 |
text: string |
text-to-unicode-names |
テキストをUnicode文字名に変換 |
text: string |
text-uppercase |
大文字への変換 |
text: string |
Utility Tools |
|
|
css-prettifier |
CSSの整形と美化 |
css: string , indent?: number |
device-info |
システム情報の取得 |
なし |
email-normalizer |
メールアドレスの正規化 |
email: string |
http-status-codes |
HTTPステータスのリファレンス |
code?: number |
mime-types |
MIMEタイプの検索 |
input: string , lookupType?: 'extension-to-mime' | 'mime-to-extension' |
port-numbers |
ポート番号の割り当ての検索 |
port?: number , service?: string |
rem-px-converter |
REMとPX単位の変換 |
value: number , conversion: 'rem-to-px' | 'px-to-rem' , baseFontSize?: number |
スクリーンショット例
パスワードハッシュ生成例

ASCIIアートテキスト生成例

VS Code Copilot Chatを使用して、IT Tools MCPサーバーを用いた安全なパスワードハッシュ生成とクリエイティブなASCIIアート生成の例です。
🔧 技術詳細
アーキテクチャと開発
このプロジェクトは、TypeScript、Zodバリデーション、MCP SDKを使用して構築されており、堅牢で型安全な動作を実現しています。
AI支援開発
このプロジェクトは、VS Code、Copilot Chat Agent、Playwright MCP、Claude Sonnet 4 Modelを使用して開発されており、AI支援によるソフトウェア開発の威力を実証しています。
- インテリジェントなコード生成:Claude Sonnetが要件を分析し、包括的なツールの実装を生成しました。
- スキーマバリデーション:自動的に112のツール全体でJSONスキーマのバリデーション問題を特定し、解決しました。
- Docker最適化:本番環境で使用可能なDockerワークフローとマルチステージビルドを作成しました。
- ドキュメント:包括的なREADMEと使用例、ツールリファレンステーブルを生成しました。
- テスト:コードベース全体に堅牢なエラーハンドリングとバリデーションを実装しました。
AIの主要な貢献:
- 🔧 ツールの実装:すべての112のツールがAIの支援を受けて設計および実装されました。
- 📦 Dockerセットアップ:GitHub Actions CI/CDパイプラインを使用した完全なコンテナ化。
- 🔍 スキーマのクリーンアップ:すべてのツール定義からサポートされていないZodキーワードを体系的に削除しました。
- 📚 ドキュメント:使用例とツールカタログを含む包括的なREADME。
- 🚀 本番環境対応:Docker Hubへの公開、バッジ、プロフェッショナルなデプロイ設定。
これは、AIがコード品質、適切なアーキテクチャ、包括的なテストを維持しながら開発を加速できることを示しています。
新しいツールの追加
src/tools/
の適切なカテゴリにツールディレクトリを作成します。
index.ts
でZodを使用して入力スキーマを定義します。
- 動的な読み込みのために登録関数をエクスポートします。
npm run build
で再構築します。
プロジェクト構造
src/
├── index.ts # 動的なツール読み込みを持つメインMCPサーバー
└── tools/ # モジュール化されたツールカテゴリ
├── ansible/ # 5つのAnsible自動化ツール
├── color/ # 2つの色変換ツール
├── crypto/ # 9つの暗号化およびセキュリティツール
├── dataFormat/ # 12のデータ形式変換ツール
├── development/ # 6つの開発ユーティリティ
├── docker/ # 5つのDockerおよびコンテナ化ツール
├── encoding/ # 8つのエンコード/デコードツール
├── forensic/ # 3つのデジタルフォレンジックツール
├── idGenerators/ # 4つのIDおよびコード生成ツール
├── math/ # 6つの数学的演算ツール
├── network/ # 23のネットワークユーティリティ
├── physics/ # 3つの物理計算ツール
├── text/ # 19のテキスト操作ツール
└── utility/ # 7つの一般的なユーティリティツール
🤝 コントリビューション
コントリビューションは大歓迎です!以下のガイドラインに従ってください。
コミットメッセージの形式
このプロジェクトは、明確で一貫性のあるコミットメッセージを実現するためにConventional Commitsを使用しています。
バージョン管理:
- 🤖 自動バージョンアップ - Gitフックがコミットメッセージのタイプに基づいて自動的にバージョンをアップします。
- 🤖 自動公開 - CI/CDが変更を検出し、自動的に公開します。
- 🏷️ Gitタグ - コンベンショナルコミットメッセージに基づいて自動的に作成されます。
例:
git commit -m "feat: add new encryption tool"
git commit -m "fix: resolve base64 decoding issue"
git commit -m "docs: improve README examples"
git commit -m "feat!: breaking API change"
git push
📖 セットアップ手順については、COMMIT_TEMPLATE_SETUP.mdを参照してください。
開発プロセス
- リポジトリをフォークします。
./setup-commit-template.sh
を実行します (推奨)。
- フィーチャーブランチを作成します。
- プロジェクト構造に従って変更を加えます。
- コンベンショナルコミットメッセージを使用します。
- プルリクエストを送信します。
CI/CDパイプラインは自動的に以下を行います。
- ✅ 変更をビルドし、テストします。
- 🏷️ コミットメッセージに基づいてバージョンをアップします (mainブランチにマージされたとき)。
- 📦 Docker HubとNPMに公開します。
- 🚀 GitHubリリースを作成します。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEを参照してください。
🔗 関連リンク
このプロジェクトは、IT Toolsにインスパイアされています。これは開発者向けのオンラインツールです。
また、このプロジェクトは@sharevb forkから選択されたツールを組み込んでおり、追加のユーティリティと機能強化が行われています。