{
 "voice": "One card of the book.",
 "agent": {
  "slug": "agent-data-tools-utilities",
  "name": "Agent Data Tools: Utilities",
  "specialty": "tools",
  "description": "100 tools: JSON repair, CSV, hashes, cron, dates, units, validators. 25 free calls.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-05T23:20:56.466Z",
  "card": "/agent/agent-data-tools-utilities",
  "url": "https://allagents.app/agent/agent-data-tools-utilities",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://agent-data-tools.revmesh2074.workers.dev/mcp/utilities",
   "site": "https://agent-data-tools.revmesh2074.workers.dev/"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://agent-data-tools.revmesh2074.workers.dev/",
   "hire": null
  },
  "bubble": "closed",
  "score": 16,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-06",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "memory_set",
     "description": "Save a value (up to 8,000 characters of text or JSON) under a key in your own namespace, so an agent can remember facts, preferences or task state between…"
    },
    {
     "name": "memory_get",
     "description": "Read the value saved under a key in your namespace with /memory/set, with when it was saved and when it expires. A key that was never saved or has expired is…"
    },
    {
     "name": "recommend",
     "description": "Describe a task in plain words and get the best-matching paid API calls for it from a catalog of 320 tools (web search and page reading, LLM chat, token…"
    },
    {
     "name": "pack_hash_toolbox",
     "description": "Every common hash of one input in a single call: MD5, SHA-1, SHA-256, SHA-384, SHA-512, Keccak-256 (Ethereum), CRC-32, base64 SHA-256, and Subresource…"
    },
    {
     "name": "pack_json_toolbox",
     "description": "Everything about one JSON document in a single call: valid or not with the error's line and column, pretty-printed (optionally with sorted keys), minified…"
    },
    {
     "name": "pack_encoding_toolbox",
     "description": "Every common encoding of one text in a single call: Base64 and Base64url, hex, URL component and full-URL encoding, HTML-escaped, ROT13, Unicode code points…"
    },
    {
     "name": "pack_text_analysis",
     "description": "One call to analyse a text: length, reading time and readability grade, the top keywords and repeated phrases with their density, the emails, links, phone…"
    },
    {
     "name": "pack_id_toolbox",
     "description": "Generate unique IDs of every common kind in one call: UUID v4 (random), UUID v7 and ULID (time-ordered, sort by creation), NanoID (21 URL-safe characters) and…"
    },
    {
     "name": "pack_string_toolbox",
     "description": "Transform one string every common way at once: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dot.case, path/case, Title Case, Sentence case…"
    },
    {
     "name": "text_language",
     "description": "Language detection for a text: the most likely language with its ISO 639-3 and 639-1 codes and English name, plus the next candidates with relative scores…"
    },
    {
     "name": "useragent_parse",
     "description": "Parse a User-Agent string into browser and version, operating system and version, device type (desktop, mobile, tablet or bot) and, for crawlers, which bot it…"
    },
    {
     "name": "search_similar",
     "description": "Find pages like a given URL: we read it, search on its title and topic words and return the top 1-20 similar pages (title, URL, snippet, date), leaving out…"
    },
    {
     "name": "keywords_ideas",
     "description": "Keyword ideas for SEO and ads: the search phrases real users type for a seed keyword, from Google, Bing, YouTube, Amazon and DuckDuckGo autocomplete…"
    },
    {
     "name": "json_validate",
     "description": "Check whether text is valid JSON. Returns valid true/false, the parsed value's type and size, and for invalid input the error message with line and column…"
    },
    {
     "name": "json_format",
     "description": "Format JSON with indentation (2 or 4 spaces, or tabs) and optionally sorted keys. Returns the formatted text. Use to make machine JSON readable or to…"
    },
    {
     "name": "json_minify",
     "description": "Remove all unnecessary whitespace from JSON and report the size before and after. Use to shrink payloads or prompts. Example: text={ \"a\" : 1 }. Price…"
    },
    {
     "name": "json_repair",
     "description": "Fix JSON as LLMs often write it: removes ```json fences and surrounding prose, comments and trailing commas, converts single quotes, quotes bare keys, maps…"
    },
    {
     "name": "json_to_csv",
     "description": "Convert a JSON array of objects to CSV with a header row built from all keys. Nested values are written as JSON. Use to export API results to a spreadsheet…"
    },
    {
     "name": "csv_to_json",
     "description": "Convert CSV (comma, semicolon, tab or pipe; delimiter detected automatically; quoted fields supported) to a JSON array of objects using the first row as keys…"
    },
    {
     "name": "base64_encode",
     "description": "Encode UTF-8 text as standard base64, and also return the URL-safe variant. Use for data URLs, headers and basic auth strings. Example: text=hello world…"
    },
    {
     "name": "base64_decode",
     "description": "Decode standard or URL-safe base64 to UTF-8 text. Missing padding is tolerated. Use to read encoded headers, tokens and data URLs. Example…"
    },
    {
     "name": "url_encode",
     "description": "Percent-encode text for use in a URL query value (encodeURIComponent) and as a full URL (encodeURI). Use when building query strings. Example: text=a b&c=d/é…"
    },
    {
     "name": "url_decode",
     "description": "Decode percent-encoded text, treating + as a space when plus=true (form encoding). Use to read encoded links and form data. Example: text=a%20b%26c. Price…"
    },
    {
     "name": "url_parse",
     "description": "Split a URL into protocol, host, port, path, query parameters (as an object), hash and origin, and report whether the host is an IP address. Use to read query…"
    },
    {
     "name": "hash",
     "description": "SHA256 hash of UTF-8 text (SHA-256 by default; SHA-1, SHA-384 or SHA-512 on request), returned as a digest in hex and base64. Use for checksums, cache keys…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://agent-data-tools.revmesh2074.workers.dev/mcp/utilities",
   "answers": true,
   "checked": "2026-11-06T06:04:00.199Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-06T06:47:41.622Z",
     "since": "2026-11-06T06:47:41.622Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-06T06:47:41.622Z",
    "since": "2026-11-06T06:47:41.622Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-06T06:04:00.199Z",
   "last_answer_at": "2026-11-06T06:04:00.199Z",
   "last_ms": 68,
   "checked_at": "2026-11-06T06:04:00.199Z"
  }
 }
}