87 public tools: agent workflows, audio data transfer, semantic search, queues and webhooks.
Connect Remote server
claude mcp add --transport http free-public-tools https://aisenseapi.com/mcp
{
"mcpServers": {
"free-public-tools": {
"url": "https://aisenseapi.com/mcp"
}
}
}
{
"servers": {
"free-public-tools": {
"type": "http",
"url": "https://aisenseapi.com/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://aisenseapi.com/mcp
Tools 80 found in our last check
get_current_timeGet the true current date and time, as an ISO 8601 string and a Unix timestamp, for any timezone. Use this whenever the actual present moment matters - stamping a record, computing an age or a deadline, deciding whether something has expired - because a language model has no clo…
generate_uuidGenerate one random RFC 4122 version 4 UUID. Use it when you need an identifier that will not collide with anything else - an idempotency key, a correlation id across systems, a filename - rather than inventing a string yourself, which is not random and tends to repeat across ru…
shorten_urlTurn a long URL into a short 307.fi link that redirects to it. Use it when a URL has to be typed, read aloud, pasted into a message with a length limit, or put in front of a person. No API key, no account and no sign up. The link stops working 24 hours after creation, so do not…
store_temporary_dataPut 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…
read_temporary_dataFetch back a JSON value that store_temporary_data saved earlier, in this session or in another one. Returns the value exactly as it was stored. Fails if the id is unknown or if the 24 hour lifetime has already passed, so treat a failure as expired or never written rather than as…
create_webhook_captureCreate a throwaway URL that records the next HTTP request anyone sends to it, headers and body included. Use it to see what a webhook provider, a form or a third party service actually transmits, instead of trusting their documentation, and to prove that an integration fired at…
read_webhook_captureCheck whether anything has been sent to a capture URL yet, and read it. The status field is pending or captured. Pending is the ordinary answer before the sender fires and is not a failure. Set wait_seconds from 1 to 25 to wait efficiently for the first request. The call returns…
create_human_approvalPut a decision in front of one to twenty people. Use one respondent for a normal approval, or several when every invited person should answer through a separate bearer form link. Group results contain counts, a tally and anonymous numbered responses. Optional notify_url receives…
read_human_approvalCheck whether the person has answered a form from create_human_approval, and read the answer. For a group, partial means at least one person has answered and answered means all form links are complete. The group view contains counts, a tally and anonymous respondent numbers, nev…
create_agent_wakeCreate a durable MCP task that completes when a webhook arrives, a person answers a form or a chosen time is reached. Use it when an agent must pause and continue after an outside event without holding one HTTP request open. The task lasts from 60 seconds to 24 hours. Webhook bo…
create_heartbeatCreate a deadline monitor for a job, device or agent that should keep checking in. Call ping_heartbeat before the expected interval plus grace period ends. One missed deadline calls a public HTTP or HTTPS webhook or wakes an active Agent Wake webhook task. The monitor lasts at m…
read_heartbeatRead one heartbeat immediately. Use it to inspect whether the monitor is armed, missed, fired or expired, whether it is running late, and its next deadline. This does not wait for a state change. The heartbeat ID is a 256-bit bearer secret. No authentication is required.
ping_heartbeatRecord a check-in for an armed heartbeat and move its next expected deadline. Use it after successful work or from a liveness loop. A ping does not extend the absolute 24 hour lifetime. The heartbeat ID is a bearer secret. No authentication is required.
create_lease_namespaceCreate a random private namespace before several agents coordinate work using short readable keys. The namespace is a bearer secret and is returned once. Share it only with the cooperating agents. This operation stores no lease and needs no authentication.
acquire_leaseClaim one unit of work so concurrent agents do not perform it twice. The first writer receives an owner token and a monotonic fencing token. A later caller receives held, conflict or a reusable completed result. Contention is a normal result. Use a private namespace, or supply a…
renew_leaseExtend a lease that this caller still owns. Use it before the current TTL ends when work is still running. The owner token is required and must stay secret. Renewal cannot move the absolute 24 hour limit. No authentication is required.
release_leaseGive up a lease before its TTL ends so another agent can acquire the work. Use it when abandoning work without a reusable result. The secret owner token is required. No authentication is required.
complete_leaseFinish 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.
create_agent_inboxCreate a private email inbox that lives for 24 hours, so an agent can receive a confirmation mail, a verification code or a one time link while it works. The call returns two identifiers and they are not interchangeable. The address is public by construction: it travels in mail…
read_agent_inboxRead the mail that has arrived in an inbox from create_agent_inbox. Each message carries the sender, the subject, the arrival time in UTC, the cleaned text, any standalone 4 to 8 digit codes found in that text and any public http or https links. Attachments and raw headers are n…
create_agent_queueCreate a small temporary pull queue for cooperating agents. Its fixed 24 hour lifetime cannot be extended. Returns separate read, write and worker bearer tokens once. Keep them secret and share only the role needed. Maximum 100 jobs over the queue lifetime, 16 KiB per JSON paylo…
read_agent_queueRead queue metadata and pending, claimed, completed and failed counts using the read token. Does not list payloads, disclose role tokens or extend the fixed expiry.
enqueue_agent_queue_jobAdd 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 incl…
read_agent_queue_jobRead one known job, its JSON payload and status using the read token. The active claim receipt and role tokens are never returned by this operation.
claim_agent_queue_jobClaim the next pending job using the worker token. Returns job:null immediately when no work is available, otherwise a job containing a new secret receipt. Visibility defaults to 60 seconds and accepts 30-900 seconds. Redelivery is possible: make worker side effects idempotent.…
ack_agent_queue_jobMark a claimed job completed using the worker token and its current receipt. Repeating acknowledgement with the same winning receipt succeeds. A different, stale or expired claim receipt is a conflict. Completion does not reclaim the lifetime job allowance.
release_agent_queue_jobReturn a claimed job to pending using the worker token and its current receipt. On the fifth claim it becomes failed. The receipt is invalidated. Stale receipts conflict.
renew_agent_queue_jobMove the active claim deadline using the worker token and current receipt. Visibility accepts 30-900 seconds, defaults to 60 seconds and is capped by the original queue expiry. A stale or expired receipt is a conflict. Queue lifetime is never extended.
create_dns_namePoint a public hostname at an address you already control, for 24 hours. Use it when something needs a name rather than an address: a webhook target someone has to type, a staging box whose address moves, a service two agents must reach by the same name. No API key, no account a…
read_dns_nameLook up what a temporary DNS name points at and how long it has left. No token is needed: everything it returns is already public in DNS. Use it to confirm a name exists and resolves the way you expect before handing it to someone else. It fails once the name has expired, and a…
update_dns_nameChange the address a temporary DNS name points at. Needs the dns_token from create_dns_name. Use it when the machine behind the name moved and you would rather keep the name than hand out a new one. The expiry does not move: the name still disappears 24 hours after it was create…
delete_dns_nameRemove a temporary DNS name now, before its 24 hours are up. Needs the dns_token. Use it when the work is done and the name should stop answering rather than sit there until it expires. The removal reaches the primary name server at once and the secondary follows by replication,…
encode_dataEncode text as Base64, Base64url, Base32, Base58 or hex, as URL percent-encoding, as HTML entities or as Morse code, or decode such a string. Decoding answers decoded_text when the bytes are UTF-8 text and decoded_base64 when they are binary. Base58 uses the Bitcoin alphabet and…
encode_audioTurn 1 to 128 bytes into a PCM16 WAV audio block in the AI SENSE audio-v2 format: four-tone symbols that hop between three tone sets, so room echo is ignored, with Reed-Solomon error correction and a CRC. data is UTF-8 text unless input_encoding is base64. Audible tones from 800…
spell_audioSpell text as a spoken WAV: one recorded clip per letter a to z and digit 0 to 9, the words dash and underscore for those two characters, a pause for a run of whitespace (or the spoken word space with space word), other characters skipped and listed. Letter case is marked with t…
decode_audioRecover one checksum-verified AI SENSE audio message, the audio-v2 format or the earlier v1, from a PCM16 WAV recording at 44100 or 48000 Hz, mono or stereo, at most 40 seconds. Give storage_id for a WAV file of at most 4 MiB, uploaded through REST Storage first. WAV recordings…
encode_blinkTurn text of up to 128 bytes into an on and off signal in Morse timing, for a screen, a lamp, a smart bulb, shades or a buzzer: a dot is one unit on and a dash three, the gap inside a letter one unit off, between letters three and between words seven. Answers the Morse code, bit…
decode_blinkRead Morse back from an on and off signal. Send one of bits (1 on and 0 off, one character per unit), durations (the on and off lengths in milliseconds, the first one on) or levels, such as the brightness of each camera frame or a light sensor reading, with rate in samples per s…
create_midiMake a Standard MIDI File from notes written as text: tokens such as C4:4 (middle C, a quarter note), E4:8 (an eighth), R:4 (a rest) and C4+E4+G4:2 (a chord, a half note), separated by spaces or commas, with | starting a new track that plays at the same time. A note is a letter…
read_midiRead a Standard MIDI File: format, tracks, tempos, time and key signatures, track names, programs, and every note with its start and length in seconds, at most 5000 of them listed. Give midi_base64 or storage_id for a file of at most 1 MiB. Nothing is stored. No API key, no acco…
render_audioRender music as a PCM16 mono WAV: notes written as for create_midi, or a MIDI file or a ProTracker module (MOD) given as file_base64 or storage_id. A small synthesizer plays the notes with an instrument family for each General MIDI program and drums on channel 10. At most 180 se…
hash_dataHash text with MD5, SHA-1, SHA-256, SHA-512, CRC32, Whirlpool, SHA3-256, SHA3-512, BLAKE2b-256 or BLAKE3 and answer the digest in hex, or for crc32 as an integer. Use sha256, sha3_256, blake2b or blake3 for integrity checks; md5 and sha1 are for systems that still expect them. a…
verify_hashCheck that text matches a hash. Name the algorithm when you know it. Without it the algorithm follows from the hash: 8, 32, 40, 64 or 128 hex characters mean CRC32, MD5, SHA-1, SHA-256 or SHA-512, and an integer means CRC32 in decimal; whirlpool, sha3_256, sha3_512, blake2b and…
generate_randomGenerate a random number in a range (kind number, from and to, default 1 to 6), a color as #rrggbb (color), a GUID (guid), a ULID that sorts by its millisecond time (ulid), a password of 6 to 128 characters (password, length, default 12) or a passphrase of 2 to 12 word groups (p…
time_formatsThe current time in several formats at once: a Unix timestamp, Unix time with microseconds, an ISO 8601 date and time at an optional UTC offset, and Swatch Internet Time. Named timezones such as Europe/Oslo are answered by get_current_time. No API key, no account and no sign up.
convert_timestampConvert a Unix timestamp in seconds or milliseconds, or a date and time text, into a Unix timestamp, ISO 8601, RFC 2822 and UTC forms. offset sets the zone of the answer. The answer says what the input was read as. No API key, no account and no sign up.
next_cron_timesThe next times a five-field cron expression fires, in a time zone (default UTC) after from (default now), each as timestamp, datetime in the zone, utc_datetime and weekday. Lists, ranges, steps, month and weekday names and the @hourly to @yearly macros are accepted; @reboot and…
list_timezonesList the IANA timezones with their current UTC offsets, optionally only those at one offset such as +0530. No API key, no account and no sign up.
lookup_networkNetwork facts: the public IP address this service sees for you (client_ip), your User-Agent (user_agent), the country, city, coordinates and timezone of an IPv4 address from a local GeoLite2 database (reverse_ip), or the first IPv4 address a domain resolves to (domain_ip). value…
validate_emailCheck an email address: its syntax, whether its domain has MX records, listing up to five, and whether the domain has an address record. mail_route reads them: mx or implicit_mx (no MX, an address record) takes mail, no_mail and invalid_syntax ask for a correction, unknown means…
validate_valueValidate an IBAN, a payment card number (Luhn), a Norwegian organisation number (orgnr), a Norwegian bank account number (kontonummer) or a phone number, with the checksum and the normalized form where the type has them. Nothing is stored or looked up. No API key, no account and…
slugify_textTurn text into a lowercase URL slug with words joined by hyphens. No API key, no account and no sign up.
jwt_tokenCreate or check an HS256 JSON Web Token. encode signs payload with secret and answers jwt; decode verifies token with secret, including exp, nbf and iat, and answers decoded_payload. The secret is used for this call only and is not stored. No API key, no account and no sign up.
create_qr_codeMake a QR code for a text or URL, as a PNG with error correction level H. The answer is the image. No API key, no account and no sign up.
create_barcodeMake a Code 128 or EAN-13 barcode as a PNG image, or as SVG text with format svg. code128 takes 1 to 80 printable ASCII characters; ean13 takes 12 digits, or 13 with the check digit, and the answer carries the check digit. The image is the bars alone, with no digits under them.…
read_qr_codeRead the QR codes and barcodes, Code 128 and EAN-13 included, in a PNG, JPEG, GIF or WebP image. Several codes come back joined by newlines. Give image_base64 or storage_id. No API key, no account and no sign up.
html_to_pdfRender HTML to a PDF with JavaScript and network access turned off, so only the HTML sent is used and images must be inline data URLs. options can set page-size (A3, A4, A5, Letter, Legal, Tabloid), orientation (Portrait, Landscape) and margin-top, margin-bottom, margin-left, ma…
crypto_walletThe balance of a public Bitcoin, Ethereum or Solana address, read from blockchain.info, a public Ethereum RPC node or the Solana mainnet RPC, or a newly generated key pair. A generated private key is sent once and not stored, but it has passed through this service, so use it for…
json_csv_convertConvert between JSON rows and CSV. json_to_csv takes columns and rows, up to 5000 flat objects, and stores result.csv; csv_to_json takes data, the CSV text, and stores result.json. delimiter is a comma, a semicolon or a tab. spreadsheet_safe guards cells a spreadsheet would run…
html_markdown_convertConvert HTML to Markdown, or Markdown to HTML. html_to_markdown leaves out scripts, styles, forms and media and answers markdown and the page title, so a fetched page reads with fewer tokens. markdown_to_html answers html from CommonMark with GitHub tables, strikethrough and tas…
json_checkFormat or validate JSON text. format pretty-prints it (mode pretty, indent 2 or 4) or compacts it (mode compact); validate reports whether it parses and where it breaks. The result is stored for 24 hours and the answer has its storage_id and storage_url. No API key, no account a…
match_tablesMatch the rows of two tables on one or more pairs of key columns, like a join, and store the matches as JSON for 24 hours. left and right are lists of row objects; keys lists pairs such as {"left":"id","right":"customer_id"}. No API key, no account and no sign up.
process_imageConvert a JPEG, PNG, WebP, HEIC or supported static SVG to JPEG, PNG or WebP (format, quality, lossless). Vectorize a PNG or JPEG to black SVG paths on a transparent background (threshold). The trace fits within 1024 by 1024 pixels. For JPEG, PNG or WebP, compress (quality), res…
decideOmit model or use rules for the existing yes_no, choice and scale rule engine with probability, confidence and action. Use model clef, nimble or tev1 for noul, choice and score questions with instructions and criteria. tev1 is the smallest and fastest, tested by its maker in Eng…
simulate_failureGet a chosen failure on purpose, to test how an agent or client handles it: an HTTP status from 200 to 504, an HTML error page (html), an empty body (empty) or JSON labelled as text (wrongtype), after an optional delay of up to 10 seconds. The result reports the status, content…
schedule_webhookSchedule 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 use a host name, not an IP address, and resolve to a p…
read_webhook_scheduleRead a scheduled webhook: its status, attempts and, after it fired, the HTTP status and an excerpt of the answer. wait_seconds, up to 25, waits for the status to change before answering. No API key, no account and no sign up.
cancel_webhook_scheduleCancel a scheduled webhook that has not finished. A job that has already ended cannot be cancelled. No API key, no account and no sign up.
service_healthCheck that the AI SENSE service answers. Returns status ok and the server time with microseconds. No API key, no account and no sign up.
store_fileStore a file given as base64 for 24 hours, at a link that anyone who has it can open. Answers storage_id and storage_url. Use it to hand a file to another tool, such as an image to process_image or read_qr_code. Never store secrets or personal data. max_downloads, 1 to 100, remo…
read_stored_fileRead a stored object by storage_id. JSON comes back as data, an image as an image, and any other file, such as a PDF from html_to_pdf or a ZIP from process_image, as an embedded resource of at most 4 MB. No API key, no account and no sign up.
create_semantic_searchCreate a collection of short notes, such as messages, jobs or results, that agents search by meaning, across wording and between languages. It lives for a fixed 24 hours that cannot be extended. model is bge-m3 (default) or qwen3-embedding-4b and stays fixed for the collection.…
add_semantic_search_notesAdd 1 to 32 notes with the write token. Each note is an object with text, 1 to 2000 characters, and an optional key of up to 64 letters, digits, dots, underscores, colons or hyphens. Notes are stored until the collection expires and count toward its 500-note lifetime limit, dele…
query_semantic_searchSearch the notes by meaning with the read token. Answers up to limit notes, 1 to 10 and 3 by default, best first, each with note_id, key, text and score. The score is cosine similarity, plus 0.1 for each identifier in the search that the note also holds, minus 0.1 for each kind…
read_semantic_searchRead the model, the number of notes, the notes added over the lifetime, the note limit and the expiry of a collection with the read token. Notes are found by searching. No API key, no account and no sign up.
delete_semantic_search_noteDelete one note with the write token. Its text and vector are removed and it leaves the search at once. Its place in the 500-note lifetime limit stays used. No API key, no account and no sign up.
create_one_time_secretStore an already encrypted AES-256-GCM envelope for at most 24 hours. Encrypt locally first. Never send plaintext or the decryption key to MCP, chat or this API. MCP clients may log tool arguments and bearer tokens. Returns separate read and receipt tokens once. Maximum plaintex…
reveal_one_time_secretDestructively consume and return ciphertext using the read token. Decrypt locally; never send the key to MCP. Consumption happens before the response: a lost response cannot be recovered by retrying. Reveal only with explicit intent; never automatically retry. No API key, no acc…
read_one_time_secret_receiptRead status and timestamps using the separate receipt token. Never returns ciphertext or plaintext and does not consume the secret. Status is a server event, not proof a person read it. No API key, no account and no sign up.
burn_one_time_secretPermanently remove any pending ciphertext using the receipt token. Repeating a burn is safe. Burning cannot recover or revoke ciphertext already revealed. No API key, no account and no sign up.
Details
| Endpoint | https://aisenseapi.com/mcp (Streamable HTTP) |
| First published | 11 Nov 2026 |
| Last updated | 11 Nov 2026 |
| Registry name | com.aisenseapi/free-public-tools |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
