{"name":"io.github.why-see/agent-tools-mcp","slug":"why-see-agent-tools-mcp","title":"Agent Tools MCP","description":"32 free MCP tools for data validation, text optimization, and synthetic test data.","url":"https://mcp.market/server/why-see-agent-tools-mcp","rating":null,"grade":"B","score":79,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-21T00:01:06.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T07:31:13.964Z","last_ok_at":"2026-11-04T07:31:13.964Z","latency_ms":296},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/why-see/agent-tools-mcp","website":"https://agent-tools-mcp.yvan11.workers.dev/","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://agent-tools-mcp.yvan11.workers.dev/mcp"}],"packages":[],"tools":[{"name":"generate-avatar","description":"Create an SVG placeholder profile icon. Use for synthetic avatars in demos and UI prototypes. Returns SVG markup, not a photorealistic likeness.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"description":"Optional initials or label used to customize the placeholder.","type":"string","maxLength":256},"pattern":{"description":"Avatar layout: initials, blocks, circles or random.","type":"string","enum":["initials","blocks","circles","random"]},"size":{"description":"SVG width and height in pixels, from 32 to 256.","type":"integer","minimum":32,"maximum":256},"seed":{"description":"Optional deterministic seed for repeatable test fixtures; do not use as a secret.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-card-number","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"brand":{"description":"Synthetic card brand: visa, mastercard, amex or discover.","type":"string","enum":["visa","mastercard","amex","discover"]},"seed":{"description":"Optional deterministic seed for reproducible fake card fixtures.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-color","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"base":{"description":"Optional base color such as #3366ff.","type":"string","maxLength":256},"scheme":{"description":"Palette harmony algorithm: complementary, triadic, tetradic, analogous, monochrome or random.","type":"string","enum":["complementary","triadic","tetradic","analogous","monochrome","random"]},"count":{"description":"Number of colors, from 1 to 12.","type":"integer","minimum":1,"maximum":12},"format":{"description":"Output color notation: hex, rgb or hsl.","type":"string","enum":["hex","rgb","hsl"]},"seed":{"description":"Optional deterministic seed for repeatable palette generation.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-dataset","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"description":"Number of records to generate, 1–8, default 3.","type":"integer","minimum":1,"maximum":8},"format":{"description":"Output format: json, jsonl or csv.","type":"string","enum":["json","jsonl","csv"]},"seed":{"description":"Optional deterministic seed for reproducible test rows.","type":"string","maxLength":128},"schema":{"description":"Optional map of field names to upstream synthetic field specifications; no real records.","type":"object","propertyNames":{"type":"string","maxLength":64},"additionalProperties":{}}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-fake-data","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["user","company","address","rows"],"description":"Fixture category: user, company, address or rows."},"count":{"description":"Requested number of synthetic records, up to eight.","type":"integer","minimum":1,"maximum":8},"seed":{"description":"Optional deterministic seed to reproduce the same fake records.","type":"string","maxLength":128}},"required":["kind"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-hash","description":"Compute 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":4096,"description":"Public or synthetic text to digest; never send secrets for hashing."},"algo":{"description":"Digest algorithm: sha-256 (default) or legacy md5.","type":"string","enum":["sha-256","md5"]}},"required":["text"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-lorem","description":"Generate lorem ipsum placeholder copy. Use for mock layouts needing filler words, sentences or paragraphs. Returns synthetic copy, not sourced editorial content.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"units":{"description":"Output unit: words, sentences or paragraphs.","type":"string","enum":["words","sentences","paragraphs"]},"count":{"description":"Number of units, from 1 to 8; default 3.","type":"integer","minimum":1,"maximum":8},"seed":{"description":"Optional deterministic seed for reproducible placeholder text.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-password","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"length":{"description":"Desired password length, 8–256 characters.","type":"integer","minimum":8,"maximum":256},"symbols":{"description":"Whether punctuation/symbol characters are included.","type":"boolean"},"seed":{"description":"Optional deterministic seed for testing only; seeded output is predictable.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-phone-number","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"state":{"description":"Optional US state abbreviation: CA, NY, TX or FL.","type":"string","enum":["CA","NY","TX","FL"]},"city":{"description":"Optional city: Los Angeles, San Francisco, New York, Houston or Miami; must match state if given.","type":"string","enum":["Los Angeles","San Francisco","New York","Houston","Miami"]},"count":{"description":"Number of fabricated numbers, up to eight.","type":"integer","minimum":1,"maximum":8},"seed":{"description":"Optional deterministic seed for repeatable test numbers.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-prompt","description":"Fill 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"description":"Prompt template category: text, code or image; default text.","type":"string","enum":["text","code","image"]},"template":{"type":"string","maxLength":4096,"description":"Template text, e.g. Hello {name}; omitted variables are replaced with empty text."},"vars":{"description":"Object mapping placeholder names to values, e.g. {\"name\":\"Ada\"} for {name}.","type":"object","propertyNames":{"type":"string","maxLength":64},"additionalProperties":{}},"seed":{"description":"Optional deterministic seed for the {{RAND_INT:min,max}} helper, not ordinary placeholders.","type":"string","maxLength":128}},"required":["template"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-slug","description":"Convert a title into a Unicode-aware URL slug. Use when forming new path segments from headings. Inspect output before publishing permanent URLs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":4096,"description":"Source title to normalize, such as Café startups!."},"maxLength":{"description":"Maximum slug length, 1–160 characters; omit for the upstream default.","type":"integer","minimum":1,"maximum":160}},"required":["text"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-ssn","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"description":"Number of synthetic SSN-style fixtures, 1–8.","type":"integer","minimum":1,"maximum":8},"formatted":{"description":"Whether to add standard dashes to the generated identifier.","type":"boolean"},"valid":{"description":"Whether fixtures should pass the generator's structural validity rules, not actual issuance checks.","type":"boolean"},"seed":{"description":"Optional deterministic seed for repeatable fake identifiers.","type":"string","maxLength":128}},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"generate-token","description":"Generate token strings or UUIDs. Use for test identifiers; use generate-password for password fixtures. Seeded output is predictable and unsuitable for authentication credentials.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string","enum":["uuid","hex","base64","numeric"],"description":"Token format: uuid, hex, base64 or numeric."},"length":{"description":"Output length parameter, 1–256, where applicable to the selected token type.","type":"integer","minimum":1,"maximum":256},"seed":{"description":"Optional deterministic seed, intended for reproducible test output only.","type":"string","maxLength":128}},"required":["type"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-card-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"number":{"type":"string","maxLength":256,"description":"Synthetic payment-card number string to examine; do not provide real card details."}},"required":["number"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-email-safe","description":"Check 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","maxLength":256,"description":"Email address string to check, such as founder@example.com; ASCII format only."}},"required":["email"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-iban-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iban":{"type":"string","maxLength":256,"description":"IBAN string, optionally with spaces; do not submit real private bank account details."}},"required":["iban"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-ip-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","maxLength":256,"description":"IPv4 or IPv6 literal address such as 192.0.2.1 or 2001:db8::1."}},"required":["ip"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-iso-date-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":256,"description":"Candidate date formatted YYYY-MM-DD, such as 2024-02-29."}},"required":["date"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-json-safe","description":"Parse 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"json":{"type":"string","maxLength":4096,"description":"JSON document as a string, up to 4096 characters; depth and key counts are limited."}},"required":["json"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-password-safe","description":"Evaluate 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"password":{"type":"string","maxLength":256,"description":"Fictitious test password; never supply an actual password or secret."}},"required":["password"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-phone-e164","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"phone":{"type":"string","maxLength":256,"description":"Candidate internationally formatted telephone number, for example +66812345678."}},"required":["phone"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-url-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","maxLength":4096,"description":"Absolute HTTP(S) URL string; other schemes such as javascript: are not supported."}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-us-tin-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tin":{"type":"string","maxLength":256,"description":"Synthetic US taxpayer identifier string; do not submit actual personal identifiers."}},"required":["tin"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-uuid-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"uuid":{"type":"string","maxLength":256,"description":"UUID string in canonical hyphenated format."},"version":{"description":"Optional UUID version number from 1 to 8; omit to accept any supported version.","type":"integer","minimum":1,"maximum":8}},"required":["uuid"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"is-vat-safe","description":"Check 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"vat":{"type":"string","maxLength":256,"description":"Country-prefixed VAT number string such as DE123456789."}},"required":["vat"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"minify-css","description":"Reduce whitespace in CSS snippets. Use for basic stylesheet cleanup rather than production minification. Not a full CSS parser; visually test the result.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","maxLength":4096,"description":"CSS source code string, limited to 4096 characters."}},"required":["code"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"minify-html","description":"Remove 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"html":{"type":"string","maxLength":4096,"description":"Original HTML source as text, up to 4096 characters."}},"required":["html"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"minify-js","description":"Compact 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","maxLength":4096,"description":"JavaScript source code string, limited to 4096 characters."}},"required":["code"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"minify-prompt","description":"Normalize 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":4096,"description":"Prompt text to compact, up to 4096 characters."}},"required":["text"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"optimize-dataset","description":"Clean 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"input":{"type":"string","maxLength":4096,"description":"Source dataset text (maximum 4096 characters)."},"format":{"description":"Parsing format: auto detects, or explicitly select json, jsonl or csv.","type":"string","enum":["auto","json","jsonl","csv"]}},"required":["input"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"optimize-google-tag","description":"Rebuild 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"html":{"type":"string","maxLength":4096,"description":"Existing HTML snippet containing the Google Analytics tag to optimize."}},"required":["html"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"strip-ansi","description":"Strip terminal ANSI escape codes from text. Use to make colorized logs readable for indexing or display. Returns plain text without interpreting log entries.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","maxLength":4096,"description":"Terminal output string containing optional ANSI escape sequences."}},"required":["text"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":79,"grade":"B","scanned_at":"2026-10-28T05:56:57.033Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-28T05:56:56.925Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 865ms"]},"poisoning":{"score":15,"max":15,"notes":["32 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 4 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 7 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://agent-tools-mcp.yvan11.workers.dev/mcp","reachable":true,"authRequired":false,"latencyMs":865,"serverInfo":{"name":"agent-tools-mcp","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"why-see","repo":"agent-tools-mcp","archived":false,"pushedAt":"2026-10-21T00:01:06Z","stars":0,"forks":0,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/276882567?v=4","ownerCreatedAt":"2026-04-17T06:39:46Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/276882567?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-10-21T00:01:06.000Z","score":23}}}},"grade_history":[],"reviews":[]}