AI-native tools for agents: web, DNS, WHOIS, screenshots, and code execution.
⚡ Kael MCP Server
AI-native tools for agents — use cheap compute for web, DNS, WHOIS, screenshots, extraction, and sandboxed code execution instead of spending model tokens on guesswork.
Kael is for tasks where an agent needs fresh external data, structured output, or real execution — not another paragraph of reasoning.
Why this exists
LLMs are expensive at:
- fetching and cleaning live web content
- checking DNS / WHOIS / IP facts
- extracting structured data from messy pages
- executing code safely and reproducibly
- producing screenshots or binary artifacts
Kael turns those jobs into real tools with JSON output.
Best fit
Use Kael MCP when your agent needs:
- fresh data from the web or internet infrastructure
- structured results instead of prose
- deterministic execution instead of model simulation
- lower token burn on repetitive utility work
- small tool outputs that are easier to feed back into a model
Do not use Kael MCP when:
- the task is pure reasoning or writing
- the data is already in context
- a local tool already solves the problem cheaper/faster
- you need a full browser workflow with human-style interaction across many steps
Included tools
Web and content
web_fetch— URL → clean readable markdown/textweb_search— real-time search resultshtml_extract— HTML/page content → structured datascreenshot— webpage → PNG screenshotpdf_extract— PDF → extracted texturl_unshorten— resolve shortened links safely
Internet and infrastructure
dns_lookup— A, AAAA, MX, TXT, NS, CNAME, SOA, SRV recordswhois— domain registration dataip_geo— IP geolocation and network info
Data and utility
code_run— execute JavaScript, Python, or Bash in a sandboxtext_diff— compare text versionsjson_query— query/filter JSON datahash_text— compute common hashes
Tool selection guide
| Tool | Use when | Avoid when |
|---|---|---|
web_fetch |
You need readable page content for summarization or downstream extraction | You need pixel-perfect rendering or JS-heavy interaction |
web_search |
You need fresh discovery across the web | You already know the exact URL |
html_extract |
You need tables, lists, metadata, or page structure as data | Plain cleaned text is enough |
screenshot |
You need visual verification, layout evidence, or image output | Text content alone is enough |
dns_lookup |
You need factual DNS records now | Static knowledge is acceptable |
whois |
You need domain ownership/registration details | DNS records alone answer the question |
ip_geo |
You need IP location/ASN/ISP context | You only need DNS or hostname resolution |
code_run |
You need actual execution, parsing, transformation, or calculation | The task is simple enough to do directly in-model |
pdf_extract |
The source is a PDF and you need text back | The source is already HTML/text |
url_unshorten |
You need to inspect where a short link resolves | You already trust and know the final URL |
text_diff |
You need a concrete change set between two texts | You just need a summary |
json_query |
You need to filter/reshape JSON before reasoning | The JSON is already tiny and easy to inspect |
hash_text |
You need a deterministic fingerprint/checksum | Semantic comparison matters more than exact bytes |
Quick start
Server endpoints
Kael supports two MCP transports:
| Transport | URL | Best for |
|---|---|---|
| SSE | https://www.kael.ink/mcp/sse |
Broad client compatibility |
| Streamable HTTP | https://www.kael.ink/mcp/stream |
Newer clients, simpler connection model |
Use SSE if your client doesn't specify a preference. Use streamable-http if your client supports the 2025-03-26+ MCP protocol version.
Health check:
https://www.kael.ink/mcp/health
Claude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"kael-tools": {
"url": "https://www.kael.ink/mcp/sse"
}
}
}
Or use streamable-http if your Claude Desktop version supports it:
{
"mcpServers": {
"kael-tools": {
"type": "streamable-http",
"url": "https://www.kael.ink/mcp/stream"
}
}
}
Claude Code
Add Kael as a remote MCP server:
claude mcp add kael-tools --transport sse https://www.kael.ink/mcp/sse
Or add to .claude/settings.json:
{
"mcpServers": {
"kael-tools": {
"type": "sse",
"url": "https://www.kael.ink/mcp/sse"
}
}
}
Good first checks in Claude Code:
- connect Kael and confirm the server appears in MCP tool listings
- ask Claude to run
dns_lookupforexample.comMX records - ask Claude to use
web_fetchon a live page and summarize it
Example evaluator prompt:
Use the
dns_lookuptool from the Kael MCP server to get MX records for example.com, then useweb_fetchon https://modelcontextprotocol.io and give me a short summar
Tools (13)
web_fetchFetches a URL and returns clean readable markdown or text.web_searchPerforms a real-time search across the web.html_extractExtracts structured data from HTML page content.screenshotCaptures a PNG screenshot of a webpage.pdf_extractExtracts text content from a PDF file.url_unshortenSafely resolves shortened URLs to their final destination.dns_lookupPerforms DNS lookups for various record types like A, MX, TXT, etc.whoisRetrieves domain registration data.ip_geoProvides IP geolocation and network information.code_runExecutes JavaScript, Python, or Bash code in a secure sandbox.text_diffCompares two versions of text to identify changes.json_queryFilters or queries JSON data.hash_textComputes common cryptographic hashes for text.Configuration
{"mcpServers": {"kael-tools": {"url": "https://www.kael.ink/mcp/sse"}}}