AI SENSE Free Public Tools
REMOTE · AISENSEAPI.COM
66 public tools: semantic search, queues, inboxes, webhooks, approvals, DNS, images, PDF and more.
Available components
Last scanned (19 hours ago)
Scores higher than 88% of remote servers
Reachable. Last reached 16 Oct 2026.
Category Workflow Automation
Recent critical change
Authorization (9 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (ack_agent_queue_job). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10148 tokens (~147/item across 69 items; 66 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage89
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 60% of tool parameters carry a description.Partial
- Structured output schemas are declared (48% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 16 Oct 26 0
- Tool “encode_data” rewrote its description, which is the text the model reads security
- 12 Oct 26 0
- Tool “process_image” rewrote its description, which is the text the model reads security
- 10 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 4 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “decide” rewrote its description, which is the text the model reads security
- Tool “encode_data” rewrote its description, which is the text the model reads security
- Schema quality: 8666 → 9901 ▼ functional
- Tool coverage: 53% → 48% ▼ functional
- New tool “html_markdown_convert” functional
- “decide” added an optional parameter “model” cosmetic
- “decide” reworded the description of “questions” cosmetic
- “decide” reworded the description of “state” cosmetic
- Tool “decide” changed its title: Decide from rules → Decide from rules or a model cosmetic
- Tool “encode_data” changed its title: Encode or decode Base64, Base32 or Base58 → Encode or decode Base64, Base32, Base58, hex, URL or HTML cosmetic
- 3 Oct 26 0
- Tool “hash_data” rewrote its description, which is the text the model reads security
- Tool “verify_hash” rewrote its description, which is the text the model reads security
- “verify_hash” added an optional parameter “algorithm” cosmetic
- 1 Oct 26 +3
- Stability: fail → pass ▲ security
- 30 Sept 26 −4
- Stability: pass → fail ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “cancel_webhook_schedule”, which the server declares destructive security
- Tool coverage: 71% → 58% ▼ functional
- Tool coverage: 100% → 53% ▼ functional
- Schema quality: 5138 → 8477 ▼ functional
- New tool “convert_timestamp” functional
- New tool “create_qr_code” functional
- New tool “crypto_wallet” functional
- New tool “decide” functional
- New tool “encode_data” functional
- New tool “generate_random” functional
- New tool “hash_data” functional
- New tool “html_to_pdf” functional
- New tool “json_check” functional
- New tool “json_csv_convert” functional
- New tool “jwt_token” functional
- New tool “list_timezones” functional
- New tool “lookup_network” functional
- New tool “match_tables” functional
- New tool “process_image” functional
- New tool “read_qr_code” functional
- New tool “read_stored_file” functional
- New tool “read_webhook_schedule” functional
- New tool “schedule_webhook” functional
- New tool “service_health” functional
- New tool “simulate_failure” functional
- New tool “slugify_text” functional
- New tool “store_file” functional
- New tool “time_formats” functional
- New tool “validate_email” functional
- New tool “validate_value” functional
- New tool “verify_hash” functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 16 Oct 2026 · Probed https://aisenseapi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.aisenseapi.com | CN=YE2,O=Let's Encrypt,C=US | 5 Oct 2026 | 3 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 57300129916b572d94e3100af37667b0cb8 |
| SANs: *.aisenseapi.com, aisenseapi.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of aisenseapi.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| aisenseapi.com. | present | 9824, 9824 | 15, 15 | Verified |
| aisenseapi.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://aisenseapi.com/mcp | Verified | 200 | |
| http (plaintext) | http://aisenseapi.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ack_agent_queue_job Acknowledge agent queue job ~86
Mark 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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
| queue_id | string | yes | – |
| receipt | string | yes | – |
| worker_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expire_timestamp | integer | yes | – |
| job | object | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
No examples provided.
acquire_lease Acquire lease ~214
Claim 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 high-entropy unscoped key. No authentication is required.
| Name | Type | Req | Description |
|---|---|---|---|
| fingerprint | string | – | Optional stable description or digest that binds this key to the same work. |
| key | string | yes | 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, do… |
| namespace | string | – | Optional 256-bit namespace from create_lease_namespace. Keep it secret. |
| ttl_seconds | integer | – | Ownership period, capped by the absolute 24 hour lifetime. |
| Name | Type | Req | Description |
|---|---|---|---|
| absolute_expires_at | string | – | – |
| absolute_expires_at_timestamp | integer | – | – |
| completed_at | string | – | – |
| completed_at_timestamp | integer | – | – |
| error | string | – | – |
| fencing_token | integer | – | – |
| lease_expires_at | string | – | – |
| lease_expires_at_timestamp | integer | – | – |
| ok | boolean | yes | – |
| owner_token | string | – | – |
| result | – | – | – |
| retry_after_seconds | integer | – | – |
| status | string | yes | – |
| ttl_seconds | integer | – | – |
No examples provided.
add_semantic_search_notes Add notes to a semantic search collection ~213
Add 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, deleted notes included. Never send secrets or sensitive personal data. Adding and searching share a usage limit of 60 per minute and 1000 per UTC day per IP. Refusals may carry Retry-After. Do not retry automatically. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| collection_id | string | yes | The collection_id from create_semantic_search. |
| notes | array | yes | Notes such as {"text": "Refund order DEMO-57", "key": "job:57"}. |
| write_token | string | yes | The write_token from create_semantic_search, shown once. It adds and deletes notes. |
No output schema declared.
No examples provided.
cancel_webhook_schedule Cancel a scheduled webhook ~52
Cancel 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| schedule_id | string | yes | – |
No output schema declared.
No examples provided.
claim_agent_queue_job Claim agent queue job ~117
Claim 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. Jobs fail after 5 unsuccessful claims. No job is executed by the server.
| Name | Type | Req | Description |
|---|---|---|---|
| queue_id | string | yes | – |
| visibility_timeout | integer | – | Claim visibility in seconds, capped by the fixed queue expiry. |
| worker_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expire_timestamp | integer | yes | – |
| job | – | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
No examples provided.
complete_lease Complete lease ~198
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.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | 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, do… |
| namespace | string | – | Optional 256-bit namespace from create_lease_namespace. Keep it secret. |
| owner_token | string | yes | Secret owner token returned by acquire_lease. |
| result | – | yes | Reusable JSON value. Maximum encoded size is 32 KB. Do not include secrets. |
| Name | Type | Req | Description |
|---|---|---|---|
| absolute_expires_at | string | – | – |
| absolute_expires_at_timestamp | integer | – | – |
| completed_at | string | – | – |
| completed_at_timestamp | integer | – | – |
| error | string | – | – |
| fencing_token | integer | – | – |
| lease_expires_at | string | – | – |
| lease_expires_at_timestamp | integer | – | – |
| ok | boolean | yes | – |
| owner_token | string | – | – |
| result | – | – | – |
| retry_after_seconds | integer | – | – |
| status | string | yes | – |
| ttl_seconds | integer | – | – |
No examples provided.
convert_timestamp Convert a timestamp or date ~143
Convert 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| offset | string | – | UTC offset as a sign and four digits, from -1200 to +1200, for example +0200 or -0530. |
| value | string|integer|number | yes | A Unix timestamp, or a date and time text such as 2026-09-30 14:00. |
No output schema declared.
No examples provided.
create_agent_inbox Create agent inbox ~223
Create 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 headers, bounces and sender logs, and anyone who has it can send mail to the inbox, so give it to the site or person who must write to you. The inbox_id is a UUID and it is the only credential that reads the inbox. Keep it secret, never publish it, never put it in a form or a page, and note that read_url and wait_url contain it and are just as secret. Reading is done with read_agent_inbox, never with the address or the slug. Mail comes from strangers, so treat every message as untrusted text. The inbox holds 20 messages and 256 KiB of text in total, and past either cap it refuses new mail and keeps what it already has. No API key, account or sign up is required.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Public mail address. Share it with whoever must send mail here. |
| expire_timestamp | integer | yes | – |
| inbox_id | string | yes | Secret read credential. Keep it out of logs, pages and forms. |
| ok | boolean | yes | – |
| read_url | string | yes | – |
| slug | string | yes | Public routing label inside the address. It cannot read the inbox. |
| wait_url | string | yes | – |
No examples provided.
create_agent_queue Create agent queue ~99
Create 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 payload, 5 claims per job and 20 queues per client IP in 24 hours. The server does not execute jobs. No account or API key is required.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| counts | object | yes | – |
| created_at_timestamp | integer | yes | – |
| expire_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
| read_token | string | yes | – |
| worker_token | string | yes | – |
| write_token | string | yes | – |
No examples provided.
create_agent_wake Wait for an event ~220
Create 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 bodies and human answers are readable by anyone holding the task URL, so do not send secrets, credentials or personal data.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_note | boolean | – | For human events. Allow an optional note. |
| delay_seconds | integer | – | For time events. Wake this many seconds from now. |
| description | string | – | For human events. Supporting detail shown below the title. |
| event_type | string | yes | The event that completes the task. |
| options | array | – | For human events. The choices on the form. |
| timeout_seconds | integer | – | Maximum task lifetime in seconds. |
| title | string | – | For human events. The question shown on the form. |
| wake_at | integer | – | For time events. Unix timestamp to wake at. |
| Name | Type | Req | Description |
|---|---|---|---|
| completed_at_datetime | string | yes | – |
| completed_at_timestamp | integer | yes | – |
| event_type | string | yes | – |
| task_id | string | yes | – |
No examples provided.
create_dns_name Create a temporary DNS name ~276
Point 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 and no sign up: call it directly. The name is assigned and never chosen, and comes back as aisense-<slug>.53for24h.com. The answer carries dns_token once and never again; without it the name cannot be changed or removed. It disappears on its own after 24 hours and nothing extends that. A name is a DNS record and nothing else: no tunnel, no hosting, no certificate and no HTTPS. The zone is not on the Public Suffix List, so every name shares one certificate quota and browsers treat them as one site. Do not put a login on one.
| Name | Type | Req | Description |
|---|---|---|---|
| ip | string | yes | A public unicast IPv4 or IPv6 address. Private, loopback, link-local and multicast ranges are refused. The address is required and never taken from the caller, because the caller is usually not the m… |
| ttl | integer | – | Seconds. 60 is the only value on the menu, so leave it out unless you want to be explicit. |
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_timestamp | integer | – | – |
| dns_token | string | yes | – |
| expire_at | string | yes | – |
| expire_timestamp | integer | yes | – |
| ip | string | yes | – |
| name | string | yes | – |
| nameservers | array | yes | – |
| ok | boolean | yes | – |
| record | string | yes | – |
| serial | integer | – | – |
| slug | string | yes | – |
| ttl | integer | yes | – |
No examples provided.
create_heartbeat Create heartbeat ~190
Create 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 most 24 hours from creation, and pings cannot extend that limit. The returned heartbeat ID and URLs are bearer secrets. No authentication is required.
| Name | Type | Req | Description |
|---|---|---|---|
| expect_every_seconds | integer | yes | Expected time between check-ins, from 60 seconds to 24 hours. |
| grace_seconds | integer | yes | Extra time after the expected check-in before the miss action fires. The expected interval plus grace must not exceed 86400 seconds. |
| on_miss | object | yes | Exactly one miss target. Use url for a public HTTP or HTTPS webhook on port 80 or 443, or wake_task_id for an active Agent Wake webhook task. |
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_datetime | string | yes | – |
| created_at_timestamp | integer | yes | – |
| delivery | object | – | – |
| expect_every_seconds | integer | yes | – |
| expires_at_datetime | string | yes | – |
| expires_at_timestamp | integer | yes | – |
| grace_seconds | integer | yes | – |
| heartbeat_id | string | yes | – |
| last_ping_at_datetime | string | yes | – |
| last_ping_at_timestamp | integer | yes | – |
| late | boolean | yes | – |
| miss_due_at_datetime | string | yes | – |
| miss_due_at_timestamp | integer | yes | – |
| missed_at_datetime | string | – | – |
| missed_at_timestamp | integer | – | – |
| misses | integer | yes | – |
| next_expected_at_datetime | string | yes | – |
| next_expected_at_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| on_miss | object | yes | – |
| ping_count | integer | yes | – |
| ping_url | string | yes | – |
| status | string | yes | – |
| status_url | string | yes | – |
| terminal_at_datetime | string | – | – |
| terminal_at_timestamp | integer | – | – |
No examples provided.
create_human_approval Request human approval ~266
Put 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 one small signal after the final answer. It does not contain the answers. Forms expire after 24 hours. No API key, account or login is required.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_note | boolean | – | Optional. Whether the person may add a free text comment alongside their choice. Defaults to true. |
| description | string | – | Optional supporting detail below the question: what changes, what it costs, what happens if they decline. |
| notify_url | string | – | Optional public HTTP or HTTPS callback after the final answer. |
| options | array | – | Optional. The buttons offered, 2 to 10 of them. Defaults to Approve and Reject. Use your own labels when the choice is not a yes or no, for example Ship today, Ship Monday, Cancel. |
| respondents | integer | – | Number of separate form links. Each link can answer once. |
| title | string | yes | Required. The question shown to the person, in their language. Make it answerable on its own, since they see no conversation history. |
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | – |
| answered | integer | – | – |
| expire_datetime | string | yes | – |
| expire_timestamp | integer | yes | – |
| form_url | string | – | – |
| form_urls | array | – | – |
| ok | boolean | yes | – |
| respondents | integer | – | – |
| responses | array | – | – |
| result_url | string | yes | – |
| status | string | yes | – |
| tally | object | – | – |
| wait_url | string | yes | – |
No examples provided.
create_lease_namespace Create lease namespace ~54
Create 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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| entropy_bits | integer | yes | – |
| namespace | string | yes | – |
| ok | boolean | yes | – |
No examples provided.
create_qr_code Make a QR code ~57
Make 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | – |
No output schema declared.
No examples provided.
create_semantic_search Create a semantic search collection ~158
Create 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. Returns collection_id and separate read and write bearer tokens once: keep them secret and share only the role needed. At most 500 notes over the collection lifetime and 20 collections per client IP in 24 hours. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Optional. bge-m3 (default) or qwen3-embedding-4b. |
No output schema declared.
No examples provided.
create_webhook_capture Create webhook capture ~164
Create 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 all. No API key, no account and no sign up: call it directly. The pending capture is stored before this call returns. Optional notify_url receives one small completion signal with a result URL after the first request arrives. The callback does not contain the captured request. Whatever is sent to update_url becomes publicly readable, so do not use it for secrets, credentials or personal data.
| Name | Type | Req | Description |
|---|---|---|---|
| notify_url | string | – | Optional public HTTP or HTTPS callback. It receives one small signal after capture. |
| Name | Type | Req | Description |
|---|---|---|---|
| capture_id | string | yes | – |
| expire_datetime | string | yes | – |
| expire_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| read_url | string | yes | – |
| status | string | yes | – |
| update_url | string | yes | – |
| wait_url | string | yes | – |
No examples provided.
crypto_wallet Bitcoin, Ethereum and Solana wallets ~117
The 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 tests and small amounts only. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | balance only: the public address. |
| chain | string | yes | – |
| operation | string | yes | – |
No output schema declared.
No examples provided.
decide Decide from rules or a model ~354
Omit 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 English only, and suits short, direct questions. Model mode processes the submitted state and questions and returns structured answers without an automatic action or rule trace. Model requests allow up to 8 KiB of JSON, 3 KiB for tev1, 4 questions and 8 choices per question, and have their own usage limit of 60 per minute and 1000 per UTC day per IP. Refusals may carry Retry-After. Do not retry automatically. state holds the facts. For rules, each rule is {"if": condition, "weight": number}, where a condition tests a field of state with eq, ne, gt, gte, lt, lte, in, exists, prefix or contains, combined with any and not. Request and answer bodies are not stored by this API. Usage counters are stored. Do not send credentials or sensitive personal data. The full format is at https://aisense.no/free-public-api-decide-api-endpoint. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| model | string | – | Optional. rules (default), clef, nimble or tev1. Unknown models are refused. |
| questions | object | yes | 1 to 64 named rule questions, or up to 4 model questions under the default model limits. |
| state | object | yes | The facts the rules test, or the input sent to the selected model. |
No output schema declared.
No examples provided.
delete_dns_name Delete a temporary DNS name ~150
Remove 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, so a disconnected secondary can keep answering until it reconnects or the name expires. A resolver that already holds the answer keeps it for the rest of its TTL, at most 60 seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| dns_token | string | yes | The dns_token from create_dns_name. It is shown once and never again. |
| slug | string | yes | The slug the service assigned, without the aisense- prefix and without the zone. |
| Name | Type | Req | Description |
|---|---|---|---|
| deleted | boolean | yes | – |
| name | string | yes | – |
| ok | boolean | yes | – |
| serial | integer | – | – |
| slug | string | yes | – |
No examples provided.
delete_semantic_search_note Delete a note from a semantic search collection ~121
Delete 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| collection_id | string | yes | The collection_id from create_semantic_search. |
| note_id | string | yes | The note_id from add_semantic_search_notes or a search. |
| write_token | string | yes | The write_token from create_semantic_search, shown once. It adds and deletes notes. |
No output schema declared.
No examples provided.
encode_data Encode or decode Base64, Base32, Base58, hex, URL or HTML ~150
Encode text as Base64, Base64url, Base32, Base58 or hex, as URL percent-encoding or as HTML entities, 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 takes at most 64 KiB, base64url the URL-safe alphabet without padding, url RFC 3986 percent-encoding with a space as %20. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | Text to encode, or the encoded string to decode. |
| format | string | yes | – |
| operation | string | yes | – |
No output schema declared.
No examples provided.
enqueue_agent_queue_job Enqueue agent queue job ~120
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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_key | string | yes | – |
| payload | – | yes | Required JSON value, including null. Maximum encoded size: 16384 bytes. |
| queue_id | string | yes | – |
| write_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| deduplicated | boolean | yes | – |
| expire_timestamp | integer | yes | – |
| job | object | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
No examples provided.
generate_random Generate a random value ~159
Generate a random number in a range (kind number, from and to, default 1 to 6), a color as #rrggbb (color), a GUID (guid), a password of 6 to 128 characters (password, length, default 12) or a passphrase of 2 to 12 word groups (passphrase, groups, default 4), which comes with its entropy in bits. For a UUID use generate_uuid. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| from | integer | – | number only. |
| groups | integer | – | passphrase only. |
| kind | string | yes | – |
| length | integer | – | password only. |
| to | integer | – | number only. |
No output schema declared.
No examples provided.
generate_uuid Generate UUID ~98
Generate 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 runs. Takes no parameters and returns a single lowercase hyphenated UUID. No API key, no account and no sign up: call it directly.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| uuid | string | yes | – |
No examples provided.
get_current_time Get current time ~135
Get 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 clock and will otherwise guess a date from its training data. No API key, no account and no sign up: call it directly. The timezone parameter accepts an IANA name or a fixed UTC offset and defaults to UTC.
| Name | Type | Req | Description |
|---|---|---|---|
| timezone | string | – | IANA timezone or UTC offset, such as Europe/Oslo or +02:00. |
| Name | Type | Req | Description |
|---|---|---|---|
| datetime | string | yes | – |
| timestamp | integer | yes | – |
| timezone | string | yes | – |
No examples provided.
hash_data Hash text ~184
Hash 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. argon2id, bcrypt and scrypt are password hashes: slow by design, salted, answered as a self-describing string, limited to 200 calls per day, and meant for test data, since a real password should be hashed where it is used. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| algorithm | string | yes | – |
| data | string | yes | – |
No output schema declared.
No examples provided.
html_markdown_convert Convert between HTML and Markdown ~137
Convert 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 task lists; raw HTML in the Markdown is shown as text and a link with an unsafe scheme as its text, so the html can go into a page as it is. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | The HTML or the Markdown. |
| direction | string | yes | – |
No output schema declared.
No examples provided.
html_to_pdf Render HTML to PDF ~140
Render 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, margin-right such as 10mm. The PDF is stored for 24 hours: the answer has storage_id and storage_url, and read_stored_file returns the file. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| html | string | yes | – |
| options | object | – | – |
No output schema declared.
No examples provided.
json_check Format or validate JSON ~117
Format 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 and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | The JSON text. |
| indent | integer | – | format only. |
| mode | string | – | format only. |
| operation | string | yes | – |
No output schema declared.
No examples provided.
json_csv_convert Convert between JSON and CSV ~168
Convert 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 as formulas. The result is stored for 24 hours and the answer has its storage_id and storage_url. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | array | – | json_to_csv only. |
| data | string | – | csv_to_json only. |
| delimiter | string | – | – |
| direction | string | yes | – |
| rows | array | – | json_to_csv only. |
| spreadsheet_safe | boolean | – | json_to_csv only. |
No output schema declared.
No examples provided.
jwt_token Create or verify a JWT ~110
Create 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| operation | string | yes | – |
| payload | object | – | encode only: the claims. |
| secret | string | yes | – |
| token | string | – | decode only. |
No output schema declared.
No examples provided.
list_timezones List timezones ~71
List 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| offset | string | – | UTC offset such as +0530, from -1400 to +1400. |
No output schema declared.
No examples provided.
lookup_network Network lookup ~123
Network 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 is the address or domain for the last two. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | yes | – |
| value | string | – | An IPv4 address for reverse_ip, a domain name for domain_ip. |
No output schema declared.
No examples provided.
match_tables Match two tables ~99
Match 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| keys | array | yes | – |
| left | array | yes | – |
| right | array | yes | – |
No output schema declared.
No examples provided.
ping_heartbeat Ping heartbeat ~78
Record 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.
| Name | Type | Req | Description |
|---|---|---|---|
| heartbeat_id | string | yes | The secret heartbeat ID returned by create_heartbeat. |
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_datetime | string | yes | – |
| created_at_timestamp | integer | yes | – |
| delivery | object | – | – |
| expect_every_seconds | integer | yes | – |
| expires_at_datetime | string | yes | – |
| expires_at_timestamp | integer | yes | – |
| grace_seconds | integer | yes | – |
| heartbeat_id | string | yes | – |
| last_ping_at_datetime | string | yes | – |
| last_ping_at_timestamp | integer | yes | – |
| late | boolean | yes | – |
| miss_due_at_datetime | string | yes | – |
| miss_due_at_timestamp | integer | yes | – |
| missed_at_datetime | string | – | – |
| missed_at_timestamp | integer | – | – |
| misses | integer | yes | – |
| next_expected_at_datetime | string | yes | – |
| next_expected_at_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| on_miss | object | yes | – |
| ping_count | integer | yes | – |
| ping_url | string | yes | – |
| status | string | yes | – |
| status_url | string | yes | – |
| terminal_at_datetime | string | – | – |
| terminal_at_timestamp | integer | – | – |
No examples provided.
process_image Convert, resize or inspect an image ~341
Work on a JPEG, PNG or WebP image, HEIC for convert and resize, or GIF for metadata and strip: convert to another format (format, quality, lossless), compress (quality), resize (width, height, fit contain or cover, upscale, format), read its metadata including any GPS position (metadata), strip EXIF, XMP and IPTC (strip), find its main colors (colors, count) or make a set of favicons as a ZIP (favicon, crop fit, trim or center, name). Give image_base64 or storage_id, for example the result of an earlier call. Every result is stored for 24 hours and the answer carries its storage_id, so calls can be chained. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | – |
| crop | string | – | – |
| fit | string | – | – |
| format | string | – | – |
| height | integer | – | – |
| image_base64 | string | – | The file as standard base64, at most about 190 KB of file through MCP. For a larger file, store it with REST POST /services/v1/storage first and pass storage_id. |
| lossless | boolean | – | – |
| name | string | – | favicon only: the site name for the manifest. |
| operation | string | yes | – |
| quality | integer | – | – |
| storage_id | string | – | A storage_id from store_file, from a previous tool result, or from REST /storage. Objects expire 24 hours after they were stored. |
| upscale | boolean | – | – |
| width | integer | – | – |
No output schema declared.
No examples provided.
query_semantic_search Search a semantic search collection ~236
Search 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 where the note holds others of that kind and none of the search's. Each code prefix, such as DEMO- in DEMO-57, is one kind and numbers of three or more digits are another, with 1 200 read as 1200. The score is not a probability. The results are ranked suggestions, not a decision that a match exists: read the text before acting on it. No API key, no account and no sign up: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| collection_id | string | yes | The collection_id from create_semantic_search. |
| limit | integer | – | – |
| query | string | yes | – |
| read_token | string | yes | The read_token from create_semantic_search, shown once. It reads and searches the collection. |
No output schema declared.
No examples provided.
read_agent_inbox Read agent inbox ~266
Read 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 not stored. Set wait_seconds from 1 to 25 to wait for the next message, or zero to read immediately. An empty inbox is the ordinary answer before mail arrives and is not a failure. When truncated is true, at least one whole message was refused because the inbox had reached its 20 message cap or its 256 KiB total text cap. A code you are waiting for may then have been turned away rather than delayed. The reply names the public slug and never repeats the secret inbox_id. An unknown inbox_id and a wrong one fail in the same way, so neither can be told from the other, while an expired inbox says that it expired. No API key, account or sign up is required.
| Name | Type | Req | Description |
|---|---|---|---|
| inbox_id | string | yes | The secret UUID that create_agent_inbox returned as inbox_id. Not the slug and not the address. |
| wait_seconds | integer | – | Wait up to this many seconds for new mail. Zero returns immediately. |
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | – |
| created_at_timestamp | integer | yes | – |
| expire_timestamp | integer | yes | – |
| messages | array | yes | – |
| ok | boolean | yes | – |
| received | integer | yes | – |
| slug | string | yes | – |
| truncated | boolean | yes | True once at least one whole message has been refused, by the 20 message cap or by the 256 KiB total text cap. Messages already stored are kept. |
| wait_reason | string | yes | – |
| waited_seconds | number | yes | – |
No examples provided.
read_agent_queue Read agent queue ~57
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| queue_id | string | yes | – |
| read_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| counts | object | yes | – |
| created_at_timestamp | integer | yes | – |
| expire_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
No examples provided.
read_agent_queue_job Read agent queue job ~63
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
| queue_id | string | yes | – |
| read_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| expire_timestamp | integer | yes | – |
| job | object | yes | – |
| ok | boolean | yes | – |
| queue_id | string | yes | – |
No examples provided.
read_dns_name Read a temporary DNS name ~103
Look 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 name stops answering in the same second it falls due.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | The slug the service assigned, without the aisense- prefix and without the zone. |
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_timestamp | integer | – | – |
| expire_at | string | yes | – |
| expire_timestamp | integer | yes | – |
| ip | string | yes | – |
| name | string | yes | – |
| nameservers | array | yes | – |
| ok | boolean | yes | – |
| record | string | yes | – |
| serial | integer | – | – |
| slug | string | yes | – |
| ttl | integer | yes | – |
No examples provided.
read_heartbeat Read heartbeat ~83
Read 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.
| Name | Type | Req | Description |
|---|---|---|---|
| heartbeat_id | string | yes | The secret heartbeat ID returned by create_heartbeat. |
| Name | Type | Req | Description |
|---|---|---|---|
| created_at_datetime | string | yes | – |
| created_at_timestamp | integer | yes | – |
| delivery | object | – | – |
| expect_every_seconds | integer | yes | – |
| expires_at_datetime | string | yes | – |
| expires_at_timestamp | integer | yes | – |
| grace_seconds | integer | yes | – |
| heartbeat_id | string | yes | – |
| last_ping_at_datetime | string | yes | – |
| last_ping_at_timestamp | integer | yes | – |
| late | boolean | yes | – |
| miss_due_at_datetime | string | yes | – |
| miss_due_at_timestamp | integer | yes | – |
| missed_at_datetime | string | – | – |
| missed_at_timestamp | integer | – | – |
| misses | integer | yes | – |
| next_expected_at_datetime | string | yes | – |
| next_expected_at_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| on_miss | object | yes | – |
| ping_count | integer | yes | – |
| ping_url | string | yes | – |
| status | string | yes | – |
| status_url | string | yes | – |
| terminal_at_datetime | string | – | – |
| terminal_at_timestamp | integer | – | – |
No examples provided.
read_human_approval Read human approval ~143
Check 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, never form tokens or notification settings. Set wait_seconds from 1 to 25 to wait for a change, or zero to read immediately. No API key, account or sign up is required.
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | The UUID that create_human_approval returned. |
| wait_seconds | integer | – | Wait up to this many seconds for a new answer. Zero returns immediately. |
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | string | yes | – |
| answered | integer | – | – |
| answered_at_datetime | string|null | yes | – |
| answered_at_timestamp | integer|null | yes | – |
| created_at_datetime | string | yes | – |
| created_at_timestamp | integer | yes | – |
| expire_datetime | string | yes | – |
| expire_timestamp | integer | yes | – |
| ok | boolean | yes | – |
| respondents | integer | – | – |
| response | object|null | yes | – |
| responses | array | – | – |
| status | string | yes | – |
| tally | object | – | – |
| wait_reason | string | yes | – |
| waited_seconds | number | yes | – |
No examples provided.
read_qr_code Read QR codes in an image ~141
Read the QR codes 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| image_base64 | string | – | The file as standard base64, at most about 190 KB of file through MCP. For a larger file, store it with REST POST /services/v1/storage first and pass storage_id. |
| storage_id | string | – | A storage_id from store_file, from a previous tool result, or from REST /storage. Objects expire 24 hours after they were stored. |
No output schema declared.
No examples provided.
read_semantic_search Read a semantic search collection ~103
Read 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| collection_id | string | yes | The collection_id from create_semantic_search. |
| read_token | string | yes | The read_token from create_semantic_search, shown once. It reads and searches the collection. |
No output schema declared.
No examples provided.
read_stored_file Read a stored file ~112
Read 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: call it directly.
| Name | Type | Req | Description |
|---|---|---|---|
| storage_id | string | yes | A storage_id from store_file, from a previous tool result, or from REST /storage. Objects expire 24 hours after they were stored. |
No output schema declared.
No examples provided.
How do I install the AI SENSE Free Public Tools MCP server?
AI SENSE Free Public Tools is a hosted endpoint at https://aisenseapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · aisenseapi.com
claude mcp add --transport http com-aisenseapi-free-public-tools 'https://aisenseapi.com/mcp'
What is the AI SENSE Free Public Tools MCP server?
AI SENSE Free Public Tools is an MCP server listed in the public MCP registry as com.aisenseapi/free-public-tools. 66 public tools: semantic search, queues, inboxes, webhooks, approvals, DNS, images, PDF and more. This page covers its hosted endpoint (https://aisenseapi.com/mcp).
Is the AI SENSE Free Public Tools MCP server safe to use?
AI SENSE Free Public Tools scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AI SENSE Free Public Tools MCP server expose?
AI SENSE Free Public Tools exposes 66 tools: get_current_time, generate_uuid, shorten_url, store_temporary_data, read_temporary_data, and 61 more. Their descriptions and schemas cost roughly 9,621 tokens of context every time the server is loaded.
Does the AI SENSE Free Public Tools MCP server require authentication?
No. We connected to AI SENSE Free Public Tools without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the AI SENSE Free Public Tools MCP server still maintained?
AI SENSE Free Public Tools is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.