Agent Tools MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
32 free MCP tools for data validation, text optimization, and synthetic test data.
| Author | io.github.why-see |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2561 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Agent Tools MCP": {
"url": "https://agent-tools-mcp.yvan11.workers.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (32)
is-card-saferead-onlyCheck payment-card brand, length and Luhn checksum. Use with synthetic card numbers in payment-form tests. Returns {ok, normalized?, brand?, last4?, issues}; not a payment authorization or fraud check.
Parameters:
number(required) — string — Synthetic payment-card number string to examine; do not provide real card details.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-email-saferead-onlyCheck conservative ASCII email address syntax. Use to reject malformed addresses in forms and test fixtures. Returns true or false; does not check mailbox existence or deliverability.
Parameters:
email(required) — string — Email address string to check, such as [email protected]; ASCII format only.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-iban-saferead-onlyCheck IBAN country rules, length and checksum against a bundled registry. Use to screen public or synthetic IBANs in test data. Returns {ok, normalized?, issues}; does not verify account ownership or transferability.
Parameters:
iban(required) — string — IBAN string, optionally with spaces; do not submit real private bank account details.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-iso-date-saferead-onlyCheck Gregorian YYYY-MM-DD calendar dates, including leap days. Use for date-only form fields, not timestamps or timezone offsets. Returns true for a valid date, otherwise false.
Parameters:
date(required) — string — Candidate date formatted YYYY-MM-DD, such as 2024-02-29.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-ip-saferead-onlyCheck IPv4 or IPv6 literal-address syntax. Use to screen candidate IP strings, not test reachability or geolocation. Returns {ok, version, issues}; version is 4, 6 or null.
Parameters:
ip(required) — string — IPv4 or IPv6 literal address such as 192.0.2.1 or 2001:db8::1.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-json-saferead-onlyParse JSON with bounded depth, key counts and input size. Use to screen JSON without execution; use optimize-dataset for JSONL or CSV cleanup. Returns {ok, issues, bytes, depth, keys, value?}; parsed value is included only when valid.
Parameters:
json(required) — string — JSON document as a string, up to 4096 characters; depth and key counts are limited.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-password-saferead-onlyEvaluate password strength using local heuristics. Use only with dummy passwords when testing password policies. Returns {ok, score, entropyBits, length, sets, reasons, suggestions}; no breach-database lookup.
Parameters:
password(required) — string — Fictitious test password; never supply an actual password or secret.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-phone-e164read-onlyCheck phone number syntax against E.164 after local normalization. Use to test international number formats, including spaces or 00 prefixes. Returns true or false, not the normalized number; no subscriber or reachability check.
Parameters:
phone(required) — string — Candidate internationally formatted telephone number, for example +66812345678.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-uuid-saferead-onlyCheck canonical UUID syntax and optional RFC variant/version. Use to validate UUIDs; use generate-token to create them. Returns true or false; does not check uniqueness or resource existence.
Parameters:
uuid(required) — string — UUID string in canonical hyphenated format.version— integer — Optional UUID version number from 1 to 8; omit to accept any supported version.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-url-saferead-onlyCheck absolute HTTP or HTTPS URL syntax. Use to screen links before display or storage. Returns true or false; does not visit or assess the site's safety.
Parameters:
url(required) — string — Absolute HTTP(S) URL string; other schemes such as javascript: are not supported.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-us-tin-saferead-onlyCheck synthetic US EIN, SSN or ITIN number formats. Use with tax-ID input fixtures, never real personal identifiers. Returns {ok, normalized?, type, issues}; does not verify IRS issuance or identity.
Parameters:
tin(required) — string — Synthetic US taxpayer identifier string; do not submit actual personal identifiers.
Hints: read-only yes · destructive no · idempotent yes · open-world no
is-vat-saferead-onlyCheck country-specific VAT number patterns. Use to screen VAT fixtures before form submission. Returns {ok, country?, normalized?, issues}; no VIES lookup or active-registration check.
Parameters:
vat(required) — string — Country-prefixed VAT number string such as DE123456789.
Hints: read-only yes · destructive no · idempotent yes · open-world no
optimize-datasetread-onlyClean and compact JSON, JSONL or CSV rows. Use for small datasets; use is-json-safe to check JSON syntax without changes. Returns text in the selected format; trims strings, deduplicates rows and may drop mostly empty columns.
Parameters:
input(required) — string — Source dataset text (maximum 4096 characters).format— string — Parsing format: auto detects, or explicitly select json, jsonl or csv.
Hints: read-only yes · destructive no · idempotent yes · open-world no
optimize-google-tagread-onlyRebuild GA4 gtag.js markup from a G- measurement ID. Use on existing GA4 snippets, not GTM containers or consent setup. Returns replacement HTML with async loading and a config call, or original input if no G- ID exists. Review lost settings and consent.
Parameters:
html(required) — string — Existing HTML snippet containing the Google Analytics tag to optimize.
Hints: read-only yes · destructive no · idempotent yes · open-world no
minify-htmlread-onlyRemove comments and compact whitespace in HTML fragments. Use for small, controlled HTML snippets, not full document compilation. Returns an HTML string; preserves pre, textarea, script and style contents. Regression-test rendered output.
Parameters:
html(required) — string — Original HTML source as text, up to 4096 characters.
Hints: read-only yes · destructive no · idempotent yes · open-world no
minify-jsread-onlyCompact small JavaScript snippets. Use for basic source cleanup, not AST-aware production minification. Returns JavaScript text, sometimes unchanged for complex syntax; regression-test its behavior.
Parameters:
code(required) — string — JavaScript source code string, limited to 4096 characters.
Hints: read-only yes · destructive no · idempotent yes · open-world no
minify-cssread-onlyReduce whitespace in CSS snippets. Use for basic stylesheet cleanup rather than production minification. Not a full CSS parser; visually test the result.
Parameters:
code(required) — string — CSS source code string, limited to 4096 characters.
Hints: read-only yes · destructive no · idempotent yes · open-world no
minify-promptread-onlyNormalize prompt whitespace and line breaks. Use to compact formatting before calling a model; filler phrases are not removed. Returns trimmed text with normalized spacing; review prompts where whitespace carries meaning.
Parameters:
text(required) — string — Prompt text to compact, up to 4096 characters.
Hints: read-only yes · destructive no · idempotent yes · open-world no
strip-ansiread-onlyStrip terminal ANSI escape codes from text. Use to make colorized logs readable for indexing or display. Returns plain text without interpreting log entries.
Parameters:
text(required) — string — Terminal output string containing optional ANSI escape sequences.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-avatarread-onlyCreate an SVG placeholder profile icon. Use for synthetic avatars in demos and UI prototypes. Returns SVG markup, not a photorealistic likeness.
Parameters:
seed— string — Optional deterministic seed for repeatable test fixtures; do not use as a secret.size— integer — SVG width and height in pixels, from 32 to 256.text— string — Optional initials or label used to customize the placeholder.pattern— string — Avatar layout: initials, blocks, circles or random.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-card-numberread-onlyGenerate a synthetic payment-card fixture. Use for payment-form UI tests requiring a Luhn-valid card number. Returns {number, brand, expiry, cvc}; values are synthetic, not issued credentials.
Parameters:
seed— string — Optional deterministic seed for reproducible fake card fixtures.brand— string — Synthetic card brand: visa, mastercard, amex or discover.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-colorread-onlyGenerate a palette from a base color and harmony scheme. Use for design prototypes; defaults: random base, triadic scheme, five hex colors. Returns {base, scheme, colors, textOnBase}; text color is heuristic, not a WCAG contrast check.
Parameters:
base— string — Optional base color such as #3366ff.seed— string — Optional deterministic seed for repeatable palette generation.count— integer — Number of colors, from 1 to 12.format— string — Output color notation: hex, rgb or hsl.scheme— string — Palette harmony algorithm: complementary, triadic, tetradic, analogous, monochrome or random.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-datasetread-onlyGenerate synthetic rows as JSON, JSONL or CSV. Use for data import/export tests; use generate-fake-data for preset people or company fixtures. Returns at most eight records without accessing a database.
Parameters:
seed— string — Optional deterministic seed for reproducible test rows.count— integer — Number of records to generate, 1–8, default 3.format— string — Output format: json, jsonl or csv.schema— object — Optional map of field names to upstream synthetic field specifications; no real records.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-fake-dataread-onlyCreate fictional users, companies, addresses or rows. Use to seed demos with preset records; use generate-dataset for custom fields. Synthetic values are not verified identities.
Parameters:
kind(required) — string — Fixture category: user, company, address or rows.seed— string — Optional deterministic seed to reproduce the same fake records.count— integer — Requested number of synthetic records, up to eight.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-hashread-onlyCompute SHA-256 or legacy MD5 text digests. Use for non-secret content fingerprints; generate-token creates new IDs instead. Returns a hex digest; unsuitable for password storage or key derivation.
Parameters:
text(required) — string — Public or synthetic text to digest; never send secrets for hashing.algo— string — Digest algorithm: sha-256 (default) or legacy md5.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-loremread-onlyGenerate lorem ipsum placeholder copy. Use for mock layouts needing filler words, sentences or paragraphs. Returns synthetic copy, not sourced editorial content.
Parameters:
seed— string — Optional deterministic seed for reproducible placeholder text.count— integer — Number of units, from 1 to 8; default 3.units— string — Output unit: words, sentences or paragraphs.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-passwordread-onlyGenerate random or seeded test passwords. Use for demo login fields; use generate-token for identifiers. Seeded values are predictable and visible to MCP clients; not a secure credential vault.
Parameters:
seed— string — Optional deterministic seed for testing only; seeded output is predictable.length— integer — Desired password length, 8–256 characters.symbols— boolean — Whether punctuation/symbol characters are included.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-phone-numberread-onlyGenerate fictional US-format phone numbers. Use for US demo phone fields; when supplied, city selects a local area-code pool and must match state. Returns an array of fictional (AAA) 555-01XX numbers; no subscriber lookup.
Parameters:
city— string — Optional city: Los Angeles, San Francisco, New York, Houston or Miami; must match state if given.seed— string — Optional deterministic seed for repeatable test numbers.count— integer — Number of fabricated numbers, up to eight.state— string — Optional US state abbreviation: CA, NY, TX or FL.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-promptread-onlyFill a prompt template with supplied variables. Use {name} placeholders with matching vars.name; missing variables become empty text. Returns a prompt string without invoking a model; code/image modes can add framing.
Parameters:
template(required) — string — Template text, e.g. Hello {name}; omitted variables are replaced with empty text.seed— string — Optional deterministic seed for the {{RAND_INT:min,max}} helper, not ordinary placeholders.type— string — Prompt template category: text, code or image; default text.vars— object — Object mapping placeholder names to values, e.g. {"name":"Ada"} for {name}.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-slugread-onlyConvert a title into a Unicode-aware URL slug. Use when forming new path segments from headings. Inspect output before publishing permanent URLs.
Parameters:
text(required) — string — Source title to normalize, such as Café startups!.maxLength— integer — Maximum slug length, 1–160 characters; omit for the upstream default.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-ssnread-onlyGenerate fictional US SSN-style test identifiers. Use for SSN test fields; use generate-fake-data for mixed-record fixtures. Returns a string for count=1, otherwise an array; structural validity does not confirm issuance.
Parameters:
seed— string — Optional deterministic seed for repeatable fake identifiers.count— integer — Number of synthetic SSN-style fixtures, 1–8.valid— boolean — Whether fixtures should pass the generator's structural validity rules, not actual issuance checks.formatted— boolean — Whether to add standard dashes to the generated identifier.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate-tokenread-onlyGenerate token strings or UUIDs. Use for test identifiers; use generate-password for password fixtures. Seeded output is predictable and unsuitable for authentication credentials.
Parameters:
type(required) — string — Token format: uuid, hex, base64 or numeric.seed— string — Optional deterministic seed, intended for reproducible test output only.length— integer — Output length parameter, 1–256, where applicable to the selected token type.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.