Toy Box MCP サーバー

Model Context Protocol(MCP)に対応した AI アシスタントやエディターから Toy Box のツールを使えます。下の URL をクライアントに追加するだけで、登録や API キーは不要です。

ご利用には利用規約とプライバシーポリシーが適用されます。

サーバー

  • URL:https://mcp.toy-box.dev/mcp
  • トランスポート:Streamable HTTP(ステートレス)
  • 認証:なし
  • 言語:英語(ツール名、説明、エラー)

接続方法

メニュー名は英語表示のものです。

Claude

Web 版、デスクトップアプリ、モバイルアプリの Claude で使えます。

  1. Customize > Connectors を開きます。
  2. Add custom connector を選びます。
  3. 名前に Toy Box、URL に https://mcp.toy-box.dev/mcp を入力します。
  4. 認証方法を聞かれた場合は No sign-in を選び、Add を押します。

Free プランで追加できるカスタムコネクタは 1 つです。チャットで使うには + > Connectors で Toy Box をオンにします。メニュー名は変わることがあるため、詳しくは公式ガイドを参照してください。

Claude Code

claude mcp add --transport http toy-box https://mcp.toy-box.dev/mcp

ChatGPT

ChatGPT では開発者モードでカスタム MCP サーバーに接続します。使えるかどうかはプランによります。

  1. 開発者モードをオンにします(最近のバージョンでは Settings > Apps > Advanced settings)。
  2. MCP サーバーの URL に https://mcp.toy-box.dev/mcp を指定してアプリを作成します。
  3. 認証は No authentication を選んで保存し、新しいチャットでそのアプリを選びます。

設定の場所は OpenAI によって変更されることがあるため、詳しくは公式ガイドを参照してください。

VS Code

.vscode/mcp.json に次の内容を追加します。

{
  "servers": {
    "toy-box": { "type": "http", "url": "https://mcp.toy-box.dev/mcp" }
  }
}

Cursor

~/.cursor/mcp.json に次の内容を追加します。

{
  "mcpServers": {
    "toy-box": { "url": "https://mcp.toy-box.dev/mcp" }
  }
}

その他のクライアント

Streamable HTTP トランスポートに対応したクライアントなら、この URL をそのまま使えます。ローカル(stdio)のサーバーにしか対応していないクライアントでは、mcp-remote などのブリッジを使います。

npx -y mcp-remote https://mcp.toy-box.dev/mcp

ツール

この一覧は、Web UI や REST API と同じ定義から生成しています。MCP から呼び出した場合、どのツールもサーバーで処理します。

convert_color

Converts a CSS colour into HEX, RGB, HSL, HWB, OKLCH, OKLab, Lab, LCH and CMYK, and returns the nearest CSS colour name and the WCAG contrast ratio with white and black text. Colours outside sRGB are clipped into it.

ブラウザで カラーピッカー を使う
パラメータ
名前型既定値説明
color · 必須string—A CSS colour: #hex (3, 4, 6 or 8 digits), a named colour such as teal, or rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch() in comma or space syntax. (1–100 chars)

呼び出し例

hex

{
  "name": "convert_color",
  "arguments": {
    "color": "#00838F"
  }
}

space syntax with alpha

{
  "name": "convert_color",
  "arguments": {
    "color": "rgb(255 0 0 / 50%)"
  }
}

oklch outside sRGB

{
  "name": "convert_color",
  "arguments": {
    "color": "oklch(70% 0.4 150)"
  }
}

get_color_harmonies

Returns colours that go with a CSS colour: complementary, split complementary, analogous, triadic and tetradic colours (hue turned on the HSL colour wheel, saturation and lightness kept) and a scale of lighter and darker shades.

ブラウザで カラーピッカー を使う
パラメータ
名前型既定値説明
color · 必須string—A CSS colour: #hex (3, 4, 6 or 8 digits), a named colour such as teal, or rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch() in comma or space syntax. (1–100 chars)

呼び出し例

teal

{
  "name": "get_color_harmonies",
  "arguments": {
    "color": "#1B6F8C"
  }
}

calculate_date_difference

Counts the days between two dates and breaks them down into weeks, years/months/days, days per weekday, weekends, public holidays (200+ countries) and business days after excluding weekly days off, holidays and given closed days.

ブラウザで 日数計算 を使う
パラメータ
名前型既定値説明
start · 必須string—Start date (YYYY-MM-DD).
end · 必須string—End date (YYYY-MM-DD). It may be before the start; the dates are swapped.
count"exclusive" | "end" | "inclusive""end"Which dates are counted. `end`: the days after the start up to and including the end (2026-01-01 to 2026-01-05 is 4 days). `inclusive`: both dates too (5 days). `exclusive`: only the days strictly between them (3 days). Every breakdown covers the counted days.
weekendinteger[][6,7]Weekly days off as ISO weekdays (1 = Monday ... 7 = Sunday). Defaults to Saturday and Sunday. (≤ 7 items)
holidaysobject—Public holidays to count as days off. Holidays are computed from the date-holidays rules and may differ from official announcements, especially for lunar and Islamic dates. At most 100 calendar years; Islamic-calendar holidays only for 1970–2076 and Hebrew-calendar ones for 1969–2099.
closedstring[][]Other days off, e.g. company holidays, one ISO date each. Duplicates are ignored. (≤ 3660 items)
languagestring"en"ISO 639-1 language for holiday names. Falls back to the country's own language.

呼び出し例

days between two dates

{
  "name": "calculate_date_difference",
  "arguments": {
    "start": "2026-01-01",
    "end": "2026-01-05"
  }
}

business days in Japan with a company holiday

{
  "name": "calculate_date_difference",
  "arguments": {
    "start": "2026-04-27",
    "end": "2026-05-08",
    "count": "inclusive",
    "holidays": {
      "country": "JP"
    },
    "closed": [
      "2026-04-30",
      "2026-05-01"
    ]
  }
}

lookup_dns_records

Looks up a domain's DNS records (A, AAAA, MX, TXT and more) with DNSSEC validation through Cloudflare's public resolver 1.1.1.1. An IP address is looked up as PTR (reverse DNS).

ブラウザで DNS チェッカー を使う
パラメータ
名前型既定値説明
domain · 必須string—Domain name (example.com), URL (the host is used) or IP address. Internationalized names are converted to punycode. (≤ 2048 chars)
types"A" | "AAAA" | "CNAME" | "MX" | "TXT" | "NS" | "SOA" | "CAA" | "SRV" | "PTR" | "HTTPS" | "SVCB" | "DS" | "DNSKEY" | "TLSA"[]["A","AAAA","CNAME","MX","TXT","NS","SOA","CAA"]Record types to look up. Ignored for an IP address, which is looked up as PTR. (1–15 items)

呼び出し例

default record types

{
  "name": "lookup_dns_records",
  "arguments": {
    "domain": "example.com"
  }
}

chosen record types

{
  "name": "lookup_dns_records",
  "arguments": {
    "domain": "example.com",
    "types": [
      "MX",
      "TXT"
    ]
  }
}

reverse lookup of an IP address

{
  "name": "lookup_dns_records",
  "arguments": {
    "domain": "1.1.1.1"
  }
}

check_ogp

Fetches a web page and checks its Open Graph and X (Twitter) card tags: required and recommended tags, the preview image (reachable, format, size) and common mistakes.

ブラウザで OGP チェッカー を使う
パラメータ
名前型既定値説明
url · 必須string—Public http(s) URL of the page to check. (≤ 2048 chars)

呼び出し例

check a page

{
  "name": "check_ogp",
  "arguments": {
    "url": "https://example.com/"
  }
}

test_regex

Tests a JavaScript (ECMAScript) regular expression against one or more texts and returns every match with its position and capture groups. With the g flag (the default) all matches are returned, without it only the first, as String.prototype.matchAll and RegExp.prototype.exec do. Each text can state whether it should match, to check a pattern against positive and negative examples. A pattern that runs too long (catastrophic backtracking, e.g. (a+)+ on a long non-matching text) is stopped and the request fails, so avoid nested repetition.

ブラウザで 正規表現チェッカー を使う
パラメータ
名前型既定値説明
pattern · 必須string—The pattern without slashes, e.g. `(\d{4})-(\d{2})`. Backslashes are literal. (≤ 10000 chars)
flagsstring"g"JavaScript flags: g (all matches), i (ignore case), m (^ and $ match at line breaks), s (. matches line breaks), u or v (Unicode), y (sticky), d (indices; always on internally).
texts · 必須object[]—Texts to test, each checked separately. (1–20 items)

呼び出し例

dates with named groups

{
  "name": "test_regex",
  "arguments": {
    "pattern": "(?<year>\\d{4})-(?<month>\\d{2})-(?<day>\\d{2})",
    "texts": [
      {
        "text": "Released 2026-10-28, patched 2026-11-02.",
        "expect": "match"
      },
      {
        "text": "No date here",
        "expect": "no-match"
      }
    ]
  }
}

first match only without g, case-insensitive and multiline

{
  "name": "test_regex",
  "arguments": {
    "pattern": "^error: (.+)$",
    "flags": "im",
    "texts": [
      {
        "text": "ok\nERROR: disk full\nerror: retry"
      }
    ]
  }
}

parse_url

Parses a URL as browsers do (WHATWG URL Standard) and returns its scheme (flagging unknown schemes and likely typos), user info, host (with registrable domain and subdomain), port, path, decoded query parameters (flagging known tracking parameters) and fragment. For mailto: URLs it also returns recipients, subject and body per RFC 6068.

ブラウザで URL 解析 を使う
パラメータ
名前型既定値説明
url · 必須string—Absolute URL, parsed as browsers do (WHATWG URL Standard). (≤ 65536 chars)

呼び出し例

shop URL with tracking parameters

{
  "name": "parse_url",
  "arguments": {
    "url": "https://Shop.Example.co.jp:443/products/winter-coat?color=navy&q=%E5%86%AC+%E3%82%B3%E3%83%BC%E3%83%88&utm_source=newsletter&fbclid=IwAR0xYz9#reviews"
  }
}

internationalized domain with credentials

{
  "name": "parse_url",
  "arguments": {
    "url": "http://admin:hunter2@例え.テスト:8080/資料/../最新版.pdf"
  }
}

mailto URL with recipients and header fields

{
  "name": "parse_url",
  "arguments": {
    "url": "mailto:info@example.com?cc=sales@example.com&subject=Hello%20world&body=1+1%3D2"
  }
}

edit_url

Removes, replaces or adds query parameters of a URL and optionally drops its fragment, e.g. to strip tracking parameters. Steps run in order: keepParams, removeParams, removeTracking, setParams, appendParams, removeFragment. Untouched parameters keep their original spelling. For mailto: URLs the parameters are header fields (cc, subject, body, ...) and are percent-encoded per RFC 6068.

ブラウザで URL 解析 を使う
パラメータ
名前型既定値説明
url · 必須string—Absolute URL, parsed as browsers do (WHATWG URL Standard). (≤ 65536 chars)
keepParamsstring[]—If given, remove every parameter whose name is not listed. (≤ 1000 items)
removeParamsstring[][]Remove parameters with these names. (≤ 1000 items)
removeTrackingbooleanfalseRemove known tracking parameters (utm_*, gclid, fbclid, msclkid, ...).
setParamsobject[][]Set each name to a value: replaces the first parameter with that name and removes the others, or appends it. (≤ 1000 items)
appendParamsobject[][]Append these parameters at the end. (≤ 1000 items)
removeFragmentbooleanfalseRemove the #fragment.

呼び出し例

strip tracking parameters

{
  "name": "edit_url",
  "arguments": {
    "url": "https://example.com/item?id=42&utm_source=newsletter&utm_medium=email&fbclid=IwAR0xYz9#specs",
    "removeTracking": true
  }
}

keep one parameter, set another and drop the fragment

{
  "name": "edit_url",
  "arguments": {
    "url": "https://example.com/search?q=a~b&page=2&sort=new#top",
    "keepParams": [
      "q",
      "page"
    ],
    "setParams": [
      {
        "name": "page",
        "value": "3"
      }
    ],
    "appendParams": [
      {
        "name": "lang",
        "value": "ja jp"
      }
    ],
    "removeFragment": true
  }
}

generate_uuid

Generates one or more random UUIDs (version 4 or time-ordered version 7).

ブラウザで UUID 生成 を使う
パラメータ
名前型既定値説明
version"v4" | "v7""v4"UUID version.
countinteger1How many UUIDs to generate. (1–100)

呼び出し例

single v4

{
  "name": "generate_uuid",
  "arguments": {}
}

five v7

{
  "name": "generate_uuid",
  "arguments": {
    "version": "v7",
    "count": 5
  }
}

プライバシーと利用について

  • ツールの入力と出力は、ツールの実行にだけ使います。利用状況の計測には含めません。計測に記録するのは、呼び出されたツール、結果のステータス、処理時間などです。ログなどの取り扱いはプライバシーポリシーを参照してください。
  • 結果は structured content で返します。structured content を読まないクライアント向けに、同じ JSON をテキストでも返します。
  • ツールは後方互換性を保ちます。廃止予定のツールは、説明の先頭に deprecated と明記します。
  • サインインはありません。大量の自動アクセスは控えてください。サービスに支障を与えるアクセス元は遮断することがあります。

お問い合わせ

質問、不具合の報告、要望はサポートページからお送りください。