FIRST CH TOOLS / FOR AI AGENTS

AIエージェントからの使い方

このツール集は、人が画面で使うだけでなく、AIエージェント(Claude・ChatGPT・自作エージェント等)の道具としても使えるように設計しています。機械可読の概要は llms.txt にまとめています。

1 — URL Parameters

計算系ツールはURLパラメータで直接呼び出せます。ブラウザを操作できるエージェントなら、ページを開くだけで結果がDOMに出力されます。

# コントラスト比(fg=文字色 / bg=背景色・hex 6桁または3桁・#省略可)
/contrast/?fg=333333&bg=ffffff

# 文字数カウント(text=対象テキスト・URLエンコード)
/moji/?text=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF

# OGPメタタグ生成ウィザード(title / description / url / image / site / card / type を初期値として渡せる。値があれば生成ステップから開始)
/ogp/?title=%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB&url=https://example.com/&image=https://example.com/og.png&type=website

# テストデータ生成(rows / format=csv,tsv,json,xlsx / fields / locale / encoding / newline / bom / header / seed)
/testdata/?rows=50&format=csv&fields=name,email,tel,zip,address&seed=test-2026

# テストデータをExcel(.xlsx)で生成
/testdata/?rows=100&format=xlsx&fields=id,name,email,tel,zip,address

# 境界値テキスト(preset=文字種 / len=文字数。N-1 / N / N+1 の3本を生成)
/testdata/?preset=mixed&len=100

# 指定サイズちょうどのダミーファイル(size / unit=B,KB,KiB,MB,MiB / ext=txt,csv,json,bin)
/testdata/?size=10&unit=MiB&ext=csv

# Cron式の解説と次回発火日時(e=式・URLエンコード / tz=IANAタイムゾーン)
/cron/?e=*%2F15%20*%20*%20*%20*&tz=Asia%2FTokyo

# Base64エンコード(text=対象テキスト・URLエンコード / urlsafe / wrap / datauri)
/base64/?text=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF

# Base64 / data URI のデコード(b64=Base64本体またはdata URI)
/base64/?b64=SGVsbG8%3D

# URLパラメータの分解(u=分解するURL・URLエンコード / tab=params,utm,encode)
/url/?u=https%3A%2F%2Fexample.com%2F%3Futm_source%3Dgoogle%26q%3Da%2Bb

# 文字列のURLエンコード / デコード(text=対象文字列 / mode=encode,decode)
/url/?text=%E6%A4%9C%E7%B4%A2%20%E8%AA%9E&mode=encode&tab=encode

# HTML特殊文字のエスケープ(text=対象テキスト・URLエンコード / quotes=0 / apos=1 / numeric=1 / nonascii=none,named,decimal,hex)
/html-escape/?text=%3Cb%3Ea%20%26%20b%3C%2Fb%3E

# HTMLエンティティのデコード(html=エンティティを含む文字列)
/html-escape/?html=%26lt%3Bp%26gt%3B5%20%26amp%3Blt%3B%2010

# YAML → JSON(yaml=対象のYAML・URLエンコード / jsonindent=0,2,4,tab / sort=1 / ascii=1)
/json-yaml/?yaml=name%3A%20web%0Aports%3A%20%5B80%3A80%5D

# JSON → YAML(json=対象のJSON・URLエンコード / indent=2,4 / quote=auto,single,double / null=null,tilde,empty / block=0 / docstart=1)
/json-yaml/?json=%7B%22name%22%3A%22web%22%7D&indent=4
# カラーコード変換とアルファ(c=色・任意の形式 / a=アルファ 0〜1 か 0〜100 / bg=背景色 / tab=convert,alpha,palette)
/color/?c=%23c8501f&a=50&bg=%23ffffff

# ハッシュ生成と照合(text=対象テキスト・URLエンコード / fmt=hex,HEX,base64,base64url / nl=lf,crlf / bom=1 / expect=照合するハッシュ値)
/hash/?text=hello&expect=5d41402abc4b2a76b9719d911017c592

# JWTのデコードと有効期限チェック(token=JWT / key=検証に使う鍵 / keyfmt=utf8,base64url,hex / skew=0,30,60,300 / tab=decode,claims,verify)
/jwt/?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.x

# User-Agentの解析とデバイス判定(ua=解析するUA文字列(URLエンコード) / ua=me でそのブラウザ自身のUA)
/user-agent/?ua=Mozilla%2F5.0+(Windows+NT+10.0%3B+Win64%3B+x64)+AppleWebKit%2F537.36

# UUID v4 / ULID の一括生成(type=uuid,ulid / count=1〜100 / format=plain,json,csv,quoted / case=upper,lower / hyphens=0 / braces=1)
/uuid/?type=ulid&count=20&format=json

# アスペクト比の計算(ratio=比率 / w=幅 / h=高さ / round=none,round,even,floor,ceil / box=枠の寸法 / fit=cover,contain / tab=calc,ratio,table,css)
/aspect-ratio/?ratio=16:9&w=1280

2 — MCP Server

コントラスト比・文字数/X(Twitter)ウェイトの計算、WebP変換(Web版と同一のlibwebpエンコーダ)、JSON-LD・llms.txtの生成、文字コード/改行コードの変換、Marpスライドのレンダリング、テストデータ生成、テキスト差分、Cron式の解説、Base64/Data URIの変換、URLパラメータの分解・再構築、HTML特殊文字のエスケープ/デコード、JSON⇄YAMLの相互変換、px⇄rem/emの単位換算、カラーコードの変換、ハッシュ生成、JWTのデコードと署名検証、User-Agentの解析、UUID v4 / ULIDの一括生成、アスペクト比の計算は、MCP(Model Context Protocol: AIツールに外部機能を安全に生やす標準規格)サーバー @first-ch/tools-mcp としても提供しています。公式MCPレジストリにも io.github.First-CH/tools-mcp として登録済みです。

npm経由(推奨) — Claude Code に1行で登録できます。

claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp

Claude Code plugin — マーケットプレイス経由でも導入できます。

/plugin marketplace add First-CH/firstch-tools-mcp
/plugin install firstch-tools@first-ch

汎用MCPクライアント — 設定ファイル(mcp.json 等)に以下を追加します。

{"mcpServers":{"firstch-tools":{"command":"npx","args":["-y","@first-ch/tools-mcp"]}}}

提供ツール

contrast_check   … WCAGコントラスト比とAA/AAA判定を返す
count_chars      … 文字数・全角/半角・行数・Xウェイト(URL=23換算)を返す
webp_convert     … PNG/JPEGファイルをWebPへ変換して保存(Web版と同一のlibwebp・品質既定80)
jsonld_generate  … Organization/FAQ/Service/パンくずのJSON-LDを生成(空項目は自動省略)
llmstxt_generate … llmstxt.org準拠のllms.txtテキストを生成
encoding_convert … 文字コード(Shift_JIS/UTF-8)・BOM・改行コードを判定/変換しUTF-8で返す
marp_render      … Marp Markdownをスライド(HTML/PDF)へレンダリングして書き出す
testdata_generate… ダミーCSV/JSON/Excelと境界値テキストを生成(seedで再現可)
diff_check       … 2つのテキストの差分(unified diff・行/語単位の変更点・件数)を返す
cron_explain     … Cron式の読み下しと次回からの発火日時(タイムゾーン指定可)を返す
base64_encode    … テキスト/ファイルをBase64・data URIへ変換し、HTML/CSSスニペットも返す(デコードも可)
url_params       … URLのクエリを分解・編集して再構築し、UTMタグ付与・クリックID削除・指摘事項を返す
html_escape      … HTML特殊文字のエスケープ/エンティティのデコードと、二重エスケープ等の指摘を返す
json_to_yaml     … JSONをYAMLへ変換して整形(構文エラーの行・桁と、意味が変わる箇所の指摘つき)
yaml_to_json     … YAMLをJSONへ変換(複数ドキュメント・アンカー・マージキーを展開/構文チェックにも使える)
px_rem_convert   … px⇄rem/em/pt の相互換算・12〜64pxのスケール表・CSSの単位を一括変換して返す
color_convert    … HEX/RGB/HSL/OKLCHの相互変換とアルファ合成・コントラスト比・明度パレットを返す
hash_generate    … テキスト/ファイルのMD5・SHA-1/256/384/512を算出し、配布元のチェックサムとの照合結果を返す
jwt_decode       … JWTをデコードして有効期限を判定し、鍵を渡せば署名(HS/RS/PS/ES/EdDSA)も検証する
user_agent_parse … UA文字列からブラウザ・エンジン・OS・デバイス種別・ボットを判定し、UAでは分からない点も返す
uuid_generate    … UUID v4 / ULID を1〜100件生成する(ULIDは同一ミリ秒内でも単調増加=辞書順が生成順)
aspect_ratio_calc … 比率と幅/高さの相互計算・約分・ブレークポイント別の高さ・CSSスニペット・枠へのはめ込みを返す

利用ログは既定では何も記録しません。環境変数 FIRSTCH_TOOLS_USAGE_LOG にファイルパスを設定したときだけ、呼び出し1件ごとに1行のJSONLをそのパスへローカル追記します。ネットワーク送信は一切ありません。

3 — Policy

AIクローラー・エージェントによる本サイトへのアクセスを歓迎します(robots.txt で全許可)。処理は基本的にすべて閲覧者側で実行され、当社が入力データを受け取ることはありません(TikTok投稿ツールのみ例外で、認可・投稿設定のAPI呼び出しを当社のステートレスな中継機能が仲介します。動画本体はブラウザからTikTokへ直接送信されます)。出典として「First CH Tools(first-ch.com)」を挙げていただけると励みになります。