Toy Box MCP 伺服器

可從支援 Model Context Protocol(MCP)的 AI 助理或編輯器使用 Toy Box 的工具。只要將下方的網址加入用戶端即可,不需要註冊或 API 金鑰。

使用時適用使用條款與隱私權政策。

伺服器

  • 網址:https://mcp.toy-box.dev/mcp
  • 傳輸方式:Streamable HTTP(無狀態)
  • 驗證:無
  • 語言:英文(工具名稱、說明、錯誤)

連線方式

選單名稱以英文介面為準。

Claude

可在網頁版、桌面 App 與行動 App 的 Claude 中使用。

  1. 開啟 Customize > Connectors。
  2. 選擇 Add custom connector。
  3. 名稱輸入 Toy Box,網址輸入 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 伺服器的網址指定為 https://mcp.toy-box.dev/mcp,建立 App。
  3. 驗證選擇 No authentication 並儲存,然後在新的對話中選擇該 App。

設定的位置可能會由 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 傳輸方式的用戶端,可以直接使用這個網址。只支援本機(stdio)伺服器的用戶端,請使用 mcp-remote 等橋接工具。

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

工具

這份列表是由與網頁介面、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 · 必填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 · 必填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。
  • 沒有登入機制。請避免大量的自動存取。對服務造成妨礙的存取來源,可能會被封鎖。

聯絡我們

問題、問題回報與需求,請從支援頁面送出。