{"tools":[{"name":"slop_memory_set","slug":"memory-set","description":"Store a named memory with a string or JSON value, optional tags for organization, and an optional namespace for isolation. Persists across agent sessions. Returns confirmation with storage timestamp. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_memory_get","slug":"memory-get","description":"Retrieve a stored memory by its key within an optional namespace. Returns the value, creation timestamp, last-updated timestamp, and associated tags. Returns null if key does not exist. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_memory_search","slug":"memory-search","description":"Search stored memories by tag match, key substring, or value substring within an optional namespace. Returns all matching key-value pairs with their metadata, sorted by last-updated date. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_memory_list","slug":"memory-list","description":"List all stored memory keys in a namespace, with optional filtering by tag. Returns key names, creation dates, value sizes, and tags. Does not return values themselves (use memory-get for that). FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_memory_delete","slug":"memory-delete","description":"Delete a stored memory by key within an optional namespace. Returns confirmation including the deleted key and a timestamp. Silently succeeds if key does not exist. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_memory_stats","slug":"memory-stats","description":"Return statistics for a memory namespace: total key count, total stored bytes, oldest entry timestamp, newest entry timestamp, number of keys with TTLs set, and breakdown by tag. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_counter_get","slug":"counter-get","description":"Return the current value of a named persistent counter, along with its creation timestamp and last-incremented timestamp. Returns 0 for counters that have never been set. FREE - no credits required.","category":"Memory","credits":0,"free":true,"input_schema":{"type":"object"},"example":null},{"name":"slop_crypto_hash_sha256","slug":"crypto-hash-sha256","description":"Compute SHA256 hash of input data.","category":"Crypto & Security","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text to hash","required":true}},"example":{"input":{"text":"hello"},"output":{"hash":"2cf24dba...","algorithm":"sha256"}}},{"name":"slop_crypto_hash_sha512","slug":"crypto-hash-sha512","description":"Compute SHA512 hash of input data.","category":"Crypto & Security","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text to hash","required":true}},"example":{"input":{"text":"hello"},"output":{"hash":"9b71d224..."}}},{"name":"slop_text_word_count","slug":"text-word-count","description":"Count words, characters, sentences, and paragraphs in text.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text to count","required":true}},"example":{"input":{"text":"The quick brown fox jumps."},"output":{"words":5,"characters":26,"sentences":1}}},{"name":"slop_text_token_count","slug":"text-token-count","description":"Estimate LLM token count (~4 chars/token). Essential for context window management.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","required":true},"model":{"type":"string","description":"Model for tokenizer (default: cl100k)"}},"example":{"input":{"text":"Hello world"},"output":{"tokens":2,"characters":11}}},{"name":"slop_text_slugify","slug":"text-slugify","description":"Convert text to URL-safe slug.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text to slugify","required":true}},"example":{"input":{"text":"Hello World!"},"output":{"slug":"hello-world"}}},{"name":"slop_text_extract_emails","slug":"text-extract-emails","description":"Extract all email addresses from text using pattern matching.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text containing email addresses","required":true}},"example":{"input":{"text":"Email me at hi@slopshop.gg"},"output":{"emails":["hi@slopshop.gg"],"count":1}}},{"name":"slop_text_extract_urls","slug":"text-extract-urls","description":"Extract all URLs from text.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text containing URLs","required":true}},"example":{"input":{"text":"Visit https://slopshop.gg"},"output":{"urls":["https://slopshop.gg"],"count":1}}},{"name":"slop_text_json_validate","slug":"text-json-validate","description":"Validate JSON syntax, return errors if invalid.","category":"Data Transform","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"JSON string to validate","required":true}},"example":{"input":{"text":"{\"a\":1}"},"output":{"valid":true}}},{"name":"slop_text_diff","slug":"text-diff","description":"Line-by-line diff of two texts. Returns added, removed, unchanged.","category":"Text Processing","credits":3,"free":false,"input_schema":{"a":{"type":"string","description":"Original text","required":true},"b":{"type":"string","description":"Modified text","required":true}},"example":{"input":{"a":"hello\nworld","b":"hello\nlobster"},"output":{"added":["lobster"],"removed":["world"],"total_changes":2}}},{"name":"slop_text_readability_score","slug":"text-readability-score","description":"Flesch-Kincaid readability grade level and score.","category":"Text Processing","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Text to score","required":true}},"example":{"input":{"text":"The cat sat on the mat."},"output":{"flesch_kincaid_grade":1.2,"difficulty":"Easy"}}},{"name":"slop_math_statistics","slug":"math-statistics","description":"Compute mean, median, mode, stddev, min, max, sum, count from number array.","category":"Math & Numbers","credits":3,"free":false,"input_schema":{"numbers":{"type":"array","description":"Array of numbers","required":true}},"example":{"input":{"numbers":[1,2,3,4,5]},"output":{"mean":3,"median":3,"stddev":1.414}}},{"name":"slop_math_evaluate","slug":"math-evaluate","description":"Safely evaluate a math expression (no eval). Supports +,-,*,/,^,%,parentheses.","category":"Math & Numbers","credits":1,"free":false,"input_schema":{"text":{"type":"string","description":"Math expression (e.g. (2+3)*4)","required":true}},"example":{"input":{"text":"(2 + 3) * 4"},"output":{"result":20}}},{"name":"slop_crypto_uuid","slug":"crypto-uuid","description":"Generate cryptographically random UUID v4.","category":"Crypto & Security","credits":1,"free":false,"input_schema":{},"example":{"input":{},"output":{"uuid":"550e8400-...","version":4}}},{"name":"slop_gen_short_id","slug":"gen-short-id","description":"Generate compact URL-safe unique ID.","category":"Generate","credits":1,"free":false,"input_schema":{"length":{"type":"number","description":"ID length (default: 8)"}},"example":{"input":{"length":8},"output":{"id":"xK9mZp3q"}}},{"name":"slop_gen_fake_name","slug":"gen-fake-name","description":"Generate sample full name.","category":"Generate","credits":1,"free":false,"input_schema":{},"example":{"input":{},"output":{"full":"Alice Smith"}}},{"name":"slop_date_parse","slug":"date-parse","description":"Parse any date string to structured output (ISO, unix, components).","category":"Date & Time","credits":1,"free":false,"input_schema":{"date":{"type":"string","description":"Date string to parse","required":true}},"example":{"input":{"date":"2026-03-25"},"output":{"iso":"2026-03-25T00:00:00.000Z","day_of_week":"Wednesday"}}},{"name":"slop_date_format","slug":"date-format","description":"Format date using pattern tokens (YYYY, MM, DD, HH, mm, ss).","category":"Date & Time","credits":1,"free":false,"input_schema":{"date":{"type":"string","required":true},"format":{"type":"string","description":"Pattern: YYYY, MM, DD, HH, mm, ss"}},"example":{"input":{"date":"2026-03-25","format":"MM/DD/YYYY"},"output":{"formatted":"03/25/2026"}}},{"name":"slop_text_csv_to_json","slug":"text-csv-to-json","description":"Parse CSV text into JSON array of objects.","category":"Data Transform","credits":3,"free":false,"input_schema":{"text":{"type":"string","description":"CSV text","required":true},"separator":{"type":"string","description":"Delimiter (default: ,)"}},"example":{"input":{"text":"name,age\nalice,30"},"output":{"rows":[{"name":"alice","age":"30"}],"count":1}}},{"name":"slop_text_json_to_csv","slug":"text-json-to-csv","description":"Convert JSON array to CSV text.","category":"Data Transform","credits":3,"free":false,"input_schema":{"data":{"type":"array","description":"Array of objects to convert to CSV","required":true}},"example":{"input":{"data":[{"name":"alice","age":30}]},"output":{"csv":"name,age\nalice,30"}}},{"name":"slop_exec_filter_json","slug":"exec-filter-json","description":"Filter a JSON array of objects by a set of conditions (field equals, contains, greater than, less than, in list, regex match). Supports AND/OR logic. Returns filtered array and count of matching items.","category":"Execute","credits":1,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_exec_sort_json","slug":"exec-sort-json","description":"Sort a JSON array of objects by one or more fields, each with ascending or descending direction. Supports string (locale-aware), numeric, and date sorting. Returns the sorted array.","category":"Execute","credits":1,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_exec_join_json","slug":"exec-join-json","description":"Perform an inner, left, or full outer join between two JSON arrays on a shared key field. Returns a merged array where matching objects are combined. Handles duplicate keys by suffixing field names.","category":"Execute","credits":1,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_analyze_json_stats","slug":"analyze-json-stats","description":"Compute statistical summaries for every numeric field across a JSON array of objects: count, sum, mean, median, mode, standard deviation, variance, min, max, and percentiles (p25, p75, p90, p99).","category":"Analyze","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_data_pivot","slug":"data-pivot","description":"Pivot tabular data: group by index, spread columns, aggregate values.","category":"Data Transform","credits":3,"free":false,"input_schema":{"rows":{"type":"array","required":true},"index":{"type":"string","required":true},"columns":{"type":"string","required":true},"values":{"type":"string","required":true}},"example":{"input":{"rows":[{"cat":"A","month":"Jan","val":10}],"index":"cat","columns":"month","values":"val"},"output":{"result":{"A":{"Jan":10}}}}},{"name":"slop_sense_url_content","slug":"sense-url-content","description":"Fetch a URL and return clean readable text content, stripping all HTML tags, scripts, and styles. Returns the main textual content a human would read.","category":"Sense: Web","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_sense_url_tech_stack","slug":"sense-url-tech-stack","description":"Fetch a URL and detect technologies in use: JavaScript frameworks (React, Vue, Angular), CMS generators (WordPress, Ghost), analytics tools, CDNs, and server software from headers and HTML patterns.","category":"Sense: Web","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_sense_url_response_time","slug":"sense-url-response-time","description":"Make multiple HTTP requests to a URL and return min, max, and average response times in milliseconds. Useful for detecting latency patterns and slowdowns.","category":"Sense: Web","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_sense_url_links","slug":"sense-url-links","description":"Fetch a URL and extract all hyperlinks (href attributes), returning absolute URLs with their anchor text and whether they are internal or external.","category":"Sense: Web","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_exec_javascript","slug":"exec-javascript","description":"Execute a JavaScript code string in an isolated Node.js vm sandbox with no access to the filesystem, network, or process. Returns the return value, console output, execution time, and any thrown errors. Timeout enforced.","category":"Execute","credits":5,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_exec_sql_on_json","slug":"exec-sql-on-json","description":"Execute a SQL SELECT statement against a JSON array treated as a database table. Supports WHERE clauses, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET, aggregate functions (COUNT, SUM, AVG, MIN, MAX), and JOINs between multiple named arrays.","category":"Execute","credits":3,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_orch_cache_get","slug":"orch-cache-get","description":"Retrieve a previously cached API response by providing the API slug and a cache key (typically a hash of the inputs). Returns the cached result and its age in seconds, or a cache miss indicator.","category":"Orchestrate","credits":1,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_orch_cache_set","slug":"orch-cache-set","description":"Store an API response in the cache with a given key and TTL in seconds. Subsequent calls to orch-cache-get with the same key will return this value until TTL expires. Useful for expensive or rate-limited API results.","category":"Orchestrate","credits":1,"free":false,"input_schema":{"type":"object"},"example":null},{"name":"slop_orch_retry","slug":"orch-retry","description":"Retry a Slopshop API call up to N times with configurable backoff strategy (linear, exponential, or fixed) and jitter. Specify which error codes should trigger a retry vs abort. Returns the first successful response or final error.","category":"Orchestrate","credits":3,"free":false,"input_schema":{"type":"object"},"example":null}],"count":40,"total_available":1429,"note":"Curated list of highest-value tools for AI agents. GET /v1/tools for the full catalog. GET /v1/openapi.json for OpenAPI spec."}