Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
제작자가 쓴 설명(영어 원문)
79 public tools: agent workflows, audio data transfer, semantic search, queues and webhooks.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://aisenseapi.com/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http free-public-tools https://aisenseapi.com/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"free-public-tools": {
"url": "https://aisenseapi.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"free-public-tools": {
"type": "http",
"url": "https://aisenseapi.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://aisenseapi.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
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 cloc
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 run
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 u
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 a
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 a
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, neve
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 bod
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 mo
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 h
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 no
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 payloa
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 inclu
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. J
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 an
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 n
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 created
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 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 6
encode_audioTurn 1 to 128 bytes into a PCM16 WAV audio block using the AI SENSE audio-v1 modem. data is UTF-8 text unless input_encoding is base64. Audible tones are the default. ultrasound uses experimental 18.5 to 19.7 kHz tones, which some people can hear and some devices cannot carry. Pl
decode_audioRecover one checksum-verified AI SENSE audio-v1 message 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 exceed the inline MCP request limit. R
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. ar
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 b
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 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
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.
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. The mail server is not contacted, so a good answer does not prove that the mailbox exists. No API key, no account and no sign up.
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.
read_qr_codeRead 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.
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, mar
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 a
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 task
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 an
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), resi
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 Engl
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 t
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 pu
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.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 aisenseapi.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
886ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.18.0)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Figma Context MCP, Claude Real Video, Figma MCP Server
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
No API key | No sign-up | No cost
Provided by [AI SENSE AS](https://aisenseapi.com) (Oslo, Norway). Full endpoint reference: API.md | Repo: github.com/aisenseapi/aisense-free-public-rest-apis
Base URL: https://aisenseapi.com/services/v1/
The AI SENSE MCP server is at:
https://aisenseapi.com/mcp
The AI SENSE MCP server covers Heartbeat, Lease, Agent Wake tasks, Agent Inbox, human approval, webhook capture, temporary storage, URL shortening, time and UUIDs. It needs no account or API key. Heartbeat uses create_heartbeat, read_heartbeat and ping_heartbeat. Lease uses create_lease_namespace, acquire_lease, renew_lease, release_lease and complete_lease. Agent Inbox uses create_agent_inbox and read_agent_inbox. See MCP.md for the tool list, data boundary and client examples.
The Agent Queue tools use separate read, write and worker tokens issued at creation. The semantic search tools use a read token and a write token in the same way.
Start with AGENT-GUIDE.md to choose tools, then AGENT-QUICKSTART.md for a complete Queue workflow and retry decisions. examples/comfyui runs image jobs through ComfyUI from several machines on Agent Queue, Storage and Webhook capture, with a fake renderer so the flow runs without ComfyUI.
The server reports version 1.18.0 and offers 79 tools: the workflow tools and the REST utility endpoints below as tools, apart from AIQ, ip_datetime and ping, which stay on REST. The official MCP Registry lists com.aisenseapi/free-public-tools version 1.17.0 as active and latest, published 5 November 2026 at 16:12 UTC.
aamio has its own MCP endpoint at https://aamio.at/mcp, eleven tools for ephemeral agent rendezvous: a thread with a secret read key and a public write address, a receipt of hashes that outlives it, presence, and the open board of needs and offers at https://board.aamio.at/. No account and no API key. The official MCP registry lists it as at.aamio/aamio. The AI SENSE endpoint does not proxy these tools either.
Verifyum has its own dedicated MCP endpoint at https://api.verifyum.com/mcp. It exposes the three Verifyum proof operations without an account or API key. File hashing still happens on the agent's machine. The browser flow, public HTTP API and published protocol remain available. The official MCP registry lists it as com.verifyum/mcp version 0.1.0. Finalized proofs also join hourly and daily Merkle checkpoints in the Verifyum Witness Layer. Nine records surround each finalized proof.
| Tier | Records |
|---|---|
| Primary evidence | One finalized Solana Mainnet Memo transaction per proof |
| Independent corroboration | Hourly OpenTimestamps on Bitcoin, daily qualified EU timestamp, daily witness-cosigned Sigsum and daily Certificate Transparency certificate |
| Operator records and availability redundancy | Verifyum Ed25519 signature, GitHub checkpoint log, Software Heritage and Internet Archive |
The Solana transaction is the primary evidence. Deep Solana history generally requires an archival provider. Glasklar, Mullvad and Tillitis cosign the Sigsum digest with a quorum of two out of three. The qualified timestamp uses RFC 3161. Its eIDAS Article 41(2) presumption covers the daily checkpoint root alone. A Verifyum user proof is not a qualified electronic timestamp. Verifyum is not a qualified trust service. Software Heritage and Internet Archive show what was stored. They do not establish when the original file existed. The number of channels is not a quality score.
Every finalized proof is also announced on Telegram and in the Atom feed. These are announcement channels. They are excluded from the nine evidence records. Their timestamps date the announcement. They say nothing about the original file date.
An agent can also assemble one decision record locally from its instructions, prompt, model, parameters, tool calls and output, then anchor only the commitment. The proof shows that the exact record existed unchanged by the block time. It does not prove that the model actually ran with the recorded settings.
Agents that speak Agent2Agent can reach five of these capabilities at:
https://aisenseapi.com/a2a
JSON-RPC 2.0, protocol revision 1.0, no account and no API key. The agent card is a plain GET at https://aisenseapi.com/.well-known/agent-card.json.
A2A is the protocol for delegating work to another agent. MCP is the protocol for exposing tools. Most of this service is tools, so only the five task-shaped capabilities are offered over A2A: agent-wake, human-approval, agent-inbox, webhook-capture and agent-queue. The other tools are not reachable through it. MCP stays the richer workflow surface with its own tool schemas. Over A2A the queue skill creates a queue and returns its three role tokens; enqueueing, claiming and acknowledging stay on REST and MCP.
A2A puts no skill id on the wire, so the caller names the skill in a data part of the message, as {"skill": "agent-wake", "arguments": { ... }}. That is a convention this service documents, not a field the protocol defines, and a message without it is refused. The card declares streaming and pushNotifications false, so those methods answer -32004 and -32003. ListTasks returns an empty page, because nobody is authenticated and a task ID is the only credential there is. See API.md for the skills, task states, response shapes and error codes.
Every serialization format marketed for LLM input ships a token-saving claim measured against a single tokenizer. Agent traffic crosses vendors, so we measured instead of assumed: six formats and 33 single-construct probes, priced by five vocabulary families (OpenAI o200k, DeepSeek, Qwen, SentencePiece, Tekken), with each provider's own token counter as ground truth.
SU-PROFILE.md - the SpeedUp profile: eight writing conventions for agent-to-agent text, each citing its measured price tagspeedup/ - the measurement rig (Python, standard library only), corpus, probes and raw numbers; rerun everything with your own keysHeadline numbers: plain TSV averages 0.82x minified JSON across the five-vocabulary union and beats the token-oriented formats on every model; declaring columns once and sending values positionally is the entire mechanism (minus 34 percent per key-value pair); base64 costs 3.9-4.6x the plaintext it encodes; and single-letter key dictionaries lose to full keys on four of five vocabularies.
Most utility APIs require sign-up, rate limit tiers, or pricing for basic operations. This collection skips all of that. Drop a URL into curl, Python, JavaScript, or an LLM tool definition and it just works.
The collection covers two tiers of usefulness:
These are service-wide and they decide how your error handling has to look.
The response key is named after the endpoint. /md5_hash returns md5_hash, /random_color returns random_color, /ping returns ping. There is no generic data or result wrapper. Do not guess the key - API.md lists every one.
Errors usually use `{"error": "message"}` with a non-2xx HTTP status. Check both the status and the error field. The legacy wallet-generation handlers can return an error object with HTTP 200. Workflow endpoints use non-2xx statuses, including 409 for conflicts and 410 for an expired record that has not yet been removed. Once removed, the same ID returns 404. Unknown routes also return 404. Consult each endpoint for its additional errors.
There is a rate limit: 5000 requests per IP per day. Exceeding it returns HTTP 429 in the same flat error shape as everything else. The count resets at 22:00 UTC from late March to late October and at 23:00 UTC the rest of the year (midnight in Norway, time zone Europe/Oslo), and the 429 carries Retry-After with the seconds until then.
Create a monitor with an expected check-in interval, a grace period and one action for a missed deadline. The action can POST to a public webhook or wake an existing Agent Wake webhook task.
curl -X POST https://aisenseapi.com/services/v1/heartbeat \
-H "Content-Type: application/json" \ -d '{ "expect_every_seconds": 300, "grace_seconds": 60, "on_miss": { "url": "https://example.com/agent-offline", "payload": { "agent": "worker-7" } } }'
The response gives you an unguessable heartbeat_id, ping_url and status_url. Call the ping URL with POST after each successful cycle. Each ping moves the expected deadline. It does not move the fixed 24-hour expiry. A missed deadline fires once, with no retry.
MCP clients can use create_heartbeat, read_heartbeat and ping_heartbeat for the same state.
Webhook destinations are checked for SSRF at creation and delivery. Private and reserved addresses, URL credentials, fragments and redirects are blocked. See API.md for the states and response fields.
Lease coordinates workers without an account. Mint a private namespace, then claim a key for a short period:
curl -X POST https://aisenseapi.com/services/v1/lease/namespace \
-H "Content-Type: application/json" -d '{}'
curl -X POST https://aisenseapi.com/services/v1/lease \ -H "Content-Type: application/json" \ -d '{ "namespace": "ns_...", "key": "invoice:2026-09-05", "ttl_seconds": 60, "fingerprint": "charge-order-501" }'
The winner receives an owner_token and a monotonic fencing_token. A second worker receives HTTP 409 while the lease is held. The owner can renew, release or complete the lease with a JSON result. Later callers with the same key and fingerprint can reuse that completed result.
The lease has a fixed absolute expiry 24 hours after its first acquisition. Renewals cannot extend it. Raw keys, namespaces, owner tokens and fingerprints are not stored. See API.md for the full acquire and completion flow.
The matching MCP tools are create_lease_namespace, acquire_lease, renew_lease, release_lease and complete_lease.
Agent Queue gives producers and workers a shared queue for small JSON jobs.
curl -X POST https://aisenseapi.com/services/v1/queue \
-H "Content-Type: application/json" -d '{}'
curl -X POST https://aisenseapi.com/services/v1/queue/QUEUE_ID/jobs \ -H "Authorization: Bearer WRITE_TOKEN" \ -H "Content-Type: application/json" \ -d '{"job_key":"report:42","payload":{"report_id":42}}'
curl -X POST https://aisenseapi.com/services/v1/queue/QUEUE_ID/claim \ -H "Authorization: Bearer WORKER_TOKEN" \ -H "Content-Type: application/json" -d '{"visibility_timeout":60}'
Replace the uppercase placeholders with creation response values. Keep the three tokens: they are issued only once. A claim returns one job with a secret receipt, or job: null when empty. The worker performs the work, then posts {"receipt":"RECEIPT"} to /queue/QUEUE_ID/jobs/JOB_ID/ack using its work
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요