{"serverId":"mcp-registry/com.aisenseapi/free-public-tools","tools":[{"name":"complete_lease","fixed":{"name":"complete_lease","description":"Finish owned work and save a reusable JSON result for later callers with the same identity and fingerprint. The result is limited to 32 KB and secret-shaped fields are redacted. Do not store secrets or personal data. The owner token is required. No authentication is required.","inputSchema":{"type":"object","required":["key","owner_token","result"],"properties":{"key":{"type":"string","maxLength":200,"minLength":1,"description":"Work identity. With a namespace use 1 to 128 URL-safe ASCII characters, starting with a letter or digit. Without one use a caller-generated secret of 32 to 200 ASCII characters from A-Z, a-z, 0-9, dot, underscore, colon, tilde or hyphen, with at least eight distinct characters."},"result":{"description":"Reusable JSON value. Maximum encoded size is 32 KB. Do not include secrets.","type":"string"},"namespace":{"type":"string","pattern":"^ns_[A-Za-z0-9_-]{43}$","description":"Optional 256-bit namespace from create_lease_namespace. Keep it secret."},"owner_token":{"type":"string","pattern":"^own_[A-Za-z0-9_-]{43}$","description":"Secret owner token returned by acquire_lease."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"title":"Complete lease"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: result. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":326,"tokensAfter":330},{"name":"enqueue_agent_queue_job","fixed":{"name":"enqueue_agent_queue_job","description":"Add a JSON job using the write token and a stable job_key. The same key and payload return the original job. Changing the payload for that key is a conflict. Payloads are limited to 16 KiB encoded JSON and must contain no secrets or personal data. The 100-job lifetime limit includes completed and failed jobs.","inputSchema":{"type":"object","required":["queue_id","write_token","job_key","payload"],"properties":{"job_key":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$","maxLength":64,"minLength":1},"payload":{"description":"Required JSON value, including null. Maximum encoded size: 16384 bytes.","type":"string"},"queue_id":{"type":"string","pattern":"^[a-f0-9]{32}$"},"write_token":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"title":"Enqueue agent queue job"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: payload. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":227,"tokensAfter":231},{"name":"schedule_webhook","fixed":{"name":"schedule_webhook","description":"Schedule an HTTP POST of a JSON payload to a public URL: once, after delay_seconds or at the Unix time fire_at, 5 seconds to 24 hours ahead, or repeatedly every 60 to 86400 seconds until 24 hours after creation. The URL must resolve to a public address on port 80 or 443. The answer has schedule_id, which reads and cancels the job and should be kept private. No API key, no account and no sign up: call it directly.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","maxLength":2048,"minLength":1},"every":{"type":"integer","maximum":86400,"minimum":60},"fire_at":{"type":"integer"},"payload":{"description":"Any JSON, at most 32 KB. Defaults to {}.","type":"string"},"delay_seconds":{"type":"integer","maximum":86400,"minimum":5}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"title":"Schedule a webhook"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: payload. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":230,"tokensAfter":235},{"name":"store_temporary_data","fixed":{"name":"store_temporary_data","description":"Put any JSON value somewhere another process can fetch it, and get back a storage_id plus a public read_url. Use it to hand a result to a different agent, a script, a webhook receiver or a later run, when there is no shared filesystem and no database between you. No API key, no account and no sign up: call it directly. Anyone holding the URL can read it, so never store secrets, credentials or personal data. The value disappears 24 hours after it is written. Read it back with read_temporary_data,","inputSchema":{"type":"object","required":["data"],"properties":{"data":{"description":"The JSON value to store. Any type: object, array, string, number, boolean or null. Readable by anyone with the URL, so no secrets.","type":"string"},"max_downloads":{"type":"integer","maximum":100,"minimum":1,"description":"Optional. How many times the value may be read before it is removed, 1 to 100. Without it the value lives 24 hours."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"title":"Store temporary data"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: data. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":276,"tokensAfter":281}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"ack_agent_queue_job","params":["job_id","receipt","queue_id","worker_token"]},{"tool":"cancel_webhook_schedule","params":["schedule_id"]},{"tool":"claim_agent_queue_job","params":["queue_id","worker_token"]},{"tool":"create_qr_code","params":["text"]},{"tool":"crypto_wallet","params":["chain","operation"]},{"tool":"encode_data","params":["format","operation"]},{"tool":"enqueue_agent_queue_job","params":["job_key","queue_id","write_token"]},{"tool":"generate_random","params":["kind"]},{"tool":"hash_data","params":["data","algorithm"]},{"tool":"html_markdown_convert","params":["direction"]},{"tool":"html_to_pdf","params":["html","options"]},{"tool":"json_check","params":["operation"]},{"tool":"json_csv_convert","params":["delimiter","direction"]},{"tool":"jwt_token","params":["secret","operation"]},{"tool":"lookup_network","params":["kind"]},{"tool":"match_tables","params":["keys","left","right"]},{"tool":"process_image","params":["fit","crop","count","width","format","height","quality","upscale","lossless","operation"]},{"tool":"query_semantic_search","params":["limit","query"]},{"tool":"read_agent_queue","params":["queue_id","read_token"]},{"tool":"read_agent_queue_job","params":["job_id","queue_id","read_token"]},{"tool":"read_webhook_schedule","params":["schedule_id","wait_seconds"]},{"tool":"release_agent_queue_job","params":["job_id","receipt","queue_id","worker_token"]},{"tool":"renew_agent_queue_job","params":["job_id","receipt","queue_id","worker_token"]},{"tool":"renew_lease","params":["ttl_seconds"]},{"tool":"schedule_webhook","params":["url","every","fire_at","delay_seconds"]},{"tool":"simulate_failure","params":["outcome","delay_ms"]},{"tool":"slugify_text","params":["text"]},{"tool":"validate_email","params":["email"]},{"tool":"validate_value","params":["type"]},{"tool":"verify_hash","params":["data"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}