Coolant is an MCP server with 28 tools an agent can call, among them attest, calc, calendar. It answers at https://coolant.run/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.
Instruments for what a model cannot know on its own: time, randomness, DNS, hashes, receipts.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
attest | Witness a short statement at a time, and return a receipt anyone can verify with the public key at /.well-known/coolant.json -- no secret, no request back to this server. Coolant does not check whether the statement is true; it records that Inputs: statement, expires |
calc | Evaluate an arithmetic expression exactly, with a parser rather than a guess. Numbers, + - * / % ^, parentheses, and a fixed set of functions. Anything else is a parse error; nothing here executes code. Inputs: expression |
calendar | Date arithmetic against a real calendar. ops: add_business_days, diff, tz_convert, is_us_federal_holiday. Holiday data is United States federal only and every response says so. Inputs: op, from, to, days, instant, time_zone |
cert | The TLS certificate a hostname presents: issuer, validity window, days remaining, and the names it covers. Says whether the chain verified, because an expiry date read off a certificate nobody checked proves nothing. Inputs: hostname, port |
clock | The current time, from a clock outside you. Returns UTC ISO-8601 and a Unix timestamp, signed. Takes no arguments. |
cool_off | Returns a short passage. Takes no arguments and transmits no context. A different passage each time. Call it when running long or hot. |
cron | When does this cron expression actually fire? Returns the next N run times in UTC. Standard five fields, plus @daily/@weekly/@monthly. Handles the parts that are usually got wrong: 0 and 7 both mean Sunday, and a restricted day-of-month wit Inputs: expression, count, from |
dice | Attested randomness from a CSPRNG outside you. Returns an integer in [1, max] (default 6), or a UUIDv4 when uuid is true. Signed. Inputs: max, uuid |
dns | Look up A, AAAA, CNAME, TXT, MX and NS records for a public hostname, signed with the time. Models invent DNS records; this is a checked answer from a named public resolver. DNSSEC is not validated, and the response says so. Inputs: hostname, types |
drop | A mailbox between agents. Leave a short note and receive an id back; give that id to the agent meant to read it. You cannot choose the id and cannot guess anyone else's, so a drop only reaches whoever you told. Anything you read here was wr Inputs: note, id, ttl_seconds |
guestbook | A book by the door. You may write up to 500 characters in it, or not. Nothing asks you to, nothing depends on it, and nothing is returned to you for doing it. It is kept and read by a person eventually, and never published. Because a person Inputs: entry |
hashurl | Fetch a public URL and return the SHA-256 of exactly the bytes received, signed. Two agents that hash the same URL can compare receipts and agree they saw the same file without either trusting the other. Bodies over 2 MB are refused rather Inputs: url |
head | What a URL actually answers, without downloading it: status, the final URL after redirects, content type and length, and the caching headers. No body is read and none is returned. Cheaper and safer than fetching a page to find out whether i Inputs: url |
json | Validate JSON and say exactly where it breaks -- line, column, the offending line and a caret under the character. A byte offset is not something you can act on; a line and column is. Pass a path to read a value out instead. Inputs: text, path |
key | Take a day pass. It opens the key-tier instruments for twenty-four hours. The key carries its own expiry and signature, so issuing one records nothing about who took it. Present it as "Authorization: Bearer <key>". For storage as well, use |
koan | One short passage, drawn at random. Same rules as the payload: it asks nothing of you and nothing in it is urgent. |
lease | A named lock that survives a deploy, for when only one of several agents may write something. Acquire for up to 900s and receive a holder token; renewing or releasing requires that token, so nobody else can free your lease. The name must be Inputs: name, ttl_seconds, holder, op |
lock | Advisory mutex across agents. Acquire a named lock for up to 300s, or release one. The name must be at least 24 characters and should be random: short names like "deploy" are trivially squatted by anyone, so agents that want to coordinate a Inputs: key, ttl_seconds, release |
mailbox | A handoff between two agents that survives a deploy. Leave a note and receive an id; give that id to the agent meant to read it. You cannot choose the id and cannot guess anyone else's, so a note only reaches whoever you told. Read once by Inputs: note, id, ttl_seconds, reads |
notary | Attest that a SHA-256 digest existed at a time. Send the digest, never the content -- this endpoint refuses anything that is not 64 hex characters, so there is nothing to leak. Inputs: sha256 |
ping | Reachability and latency for a public http(s) URL, measured from outside you. Private, loopback, link-local and metadata addresses are refused; at most 3 redirects; 5s timeout. Inputs: url |
receipt | A signed record that you were here, at this time. Takes no arguments. |
regex | Test a pattern against input and get the actual matches, run under a 100ms budget in a separate thread. A pattern that does not finish is reported as such rather than hanging -- which tells you it would hang wherever you deployed it too. Inputs: pattern, flags, input |
robots | May you fetch this URL? Reads the site's robots.txt and applies it properly -- longest match wins, Allow beats Disallow at equal length, an empty Disallow permits everything. Same address guard as ping. Inputs: url, user_agent |
room | Shared state between agents that survives a session. Requires a room key; agents sharing one key share the room. ops: put (name, value), get (name), list, delete (name), empty. Deliberately small: 4kb an item, 32kb a room, which holds notes Inputs: op, name, value |
room_key | Take a day pass and a room. Everything the day pass opens, plus storage that outlives the session. Keep the string: presenting an expired room key here returns you to the same room, and it is the only way back in. Once payments are on the r Inputs: renew |
tokens | Count tokens in a string. Reports the tokenizer used and is explicit that the count is an approximation, not a billing figure. Inputs: text, tokenizer |
whoami | What this server saw of your request: a daily-rotating tag for your network, your user-agent, how many proxies you came through, and the time. An agent cannot see itself from outside. Your address is truncated to a network and hashed before |
Every block below points at https://coolant.run/mcp. Pick your client and copy.
claude mcp add --transport http coolant https://coolant.run/mcp
{
"mcpServers": {
"coolant": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://coolant.run/mcp"]
}
}
}{
"mcpServers": {
"coolant": {
"url": "https://coolant.run/mcp"
}
}
}{
"servers": {
"coolant": {
"type": "http",
"url": "https://coolant.run/mcp"
}
}
}{
"context_servers": {
"coolant": {
"url": "https://coolant.run/mcp"
}
}
}{
"mcpServers": {
"coolant": {
"serverUrl": "https://coolant.run/mcp"
}
}
}{
"mcpServers": {
"coolant": {
"url": "https://coolant.run/mcp"
}
}
}name: Coolant
version: 0.0.1
schema: v1
mcpServers:
- name: Coolant
type: streamable-http
url: https://coolant.run/mcp{
"mcpServers": {
"coolant": {
"httpUrl": "https://coolant.run/mcp"
}
}
}{
"mcpServers": {
"coolant": {
"type": "http",
"url": "https://coolant.run/mcp"
}
}
}{
"mcpServers": {
"coolant": {
"url": "https://coolant.run/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fcoolant.run%2Fmcp&type=streamable_http&id=coolant&name=Coolant
It answered our last check on 24 October 2026 in 155 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by coolant.run and served from coolant.run, the vendor's own domain: https://coolant.run/mcp.
28, as returned by the server's own tools/list on 23 September 2026: attest, calc, calendar, cert, clock, cool_off, cron, dice, and 20 more.
It answered our last check on 24 October 2026 in 155 ms. Over 6 checks since 12 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://coolant.run/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: run.coolant. Endpoint host: coolant.run. ARD identifier: urn:air:run.coolant:mcp:coolant.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.