关于 Kael MCP Server
Kael MCP Server 为需要最新网页和互联网基础设施数据、结构化提取或沙盒代码执行的 Agent 提供工具。工具以 JSON 返回结果,并支持 SSE 和可流式 HTTP 连接。
主要功能
- 01获取并搜索实时网页内容
- 02从网页和 PDF 提取结构化数据
- 03截取网页画面
- 04查询 DNS、WHOIS 和 IP 信息
- 05在沙盒中运行 JavaScript、Python 或 Bash
- 06查询 JSON、比较文本并计算哈希
适用场景
- 01获取最新网页内容用于摘要
- 02检查域名的邮件相关 DNS 记录
- 03从网页提取表格或列表
- 04执行可复现的数据转换
MCP 相关
通过 SSE 和可流式 HTTP 端点向 MCP 客户端提供 16 种工具,涵盖网页检索、基础设施查询、内容提取和沙盒执行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://www.kael.ink/mcp/sseclaude mcp add --transport sse dreamingms-kael https://www.kael.ink/mcp/sse{"mcpServers":{"dreamingms-kael":{"type":"sse","url":"https://www.kael.ink/mcp/sse"}}}在 Cursor 中打开{"servers":{"dreamingms-kael":{"type":"sse","url":"https://www.kael.ink/mcp/sse"}}}在 VS Code 中打开{"mcpServers":{"dreamingms-kael":{"type":"sse","url":"https://www.kael.ink/mcp/sse"}}}{"mcpServers":{"dreamingms-kael":{"serverUrl":"https://www.kael.ink/mcp/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://www.kael.ink/mcp/ssehttps://www.kael.ink/mcp/stream工具
详细介绍
⚡ Kael MCP Server
面向 Agent 的 AI 原生工具——使用低成本算力处理网页、DNS、WHOIS、截图、内容提取和沙箱代码执行,而不是把大模型 token 浪费在猜测上。
Kael 适用于 Agent 需要最新外部数据、结构化输出或实际执行能力的任务,而不是再生成一段推理。
为什么要做这个项目
大模型在以下任务上的成本很高:
- 获取并清理实时网页内容
- 核查 DNS / WHOIS / IP 信息
- 从杂乱的页面中提取结构化数据
- 安全、可复现地执行代码
- 生成截图或二进制产物
Kael 将这些任务转化为可输出 JSON 的实际工具。
最适合的场景
当 Agent 需要以下能力时,使用 Kael MCP:
- 来自网络或互联网基础设施的最新数据
- 结构化结果,而非散文
- 确定性执行,而非模型模拟
- 减少重复工具任务带来的 token 消耗
- 精简的工具输出,便于回传给模型
以下情况不适合使用 Kael MCP:
- 任务纯粹是推理或写作
- 所需数据已在上下文中
- 本地工具已经能以更低成本或更快速度解决问题
- 需要通过多步骤的人类式交互完成完整的浏览器工作流
包含的工具
网页和内容
web_fetch— URL → 易读、整洁的 Markdown / 文本web_search— 实时搜索结果html_extract— HTML / 页面内容 → 结构化数据screenshot— 网页 → PNG 截图pdf_extract— PDF → 提取文本url_unshorten— 安全解析缩短链接
互联网和基础设施
dns_lookup— A、AAAA、MX、TXT、NS、CNAME、SOA、SRV 记录whois— 域名注册信息ip_geo— IP 地理位置和网络信息
数据和实用工具
code_run— 在沙箱中执行 JavaScript、Python 或 Bashtext_diff— 比较文本版本json_query— 查询 / 筛选 JSON 数据hash_text— 计算常见哈希值
工具选择指南
| 工具 | 适用场景 | 避免使用的场景 |
|---|---|---|
web_fetch | 需要易读的页面内容,用于摘要或后续提取 | 需要像素级精确的渲染或依赖大量 JavaScript 的交互 |
web_search | 需要在网络上发现最新信息 | 已知确切 URL |
html_extract | 需要将表格、列表、元数据或页面结构作为数据获取 | 整理后的纯文本已足够 |
screenshot | 需要视觉核验、布局凭证或图像输出 | 只需要文本内容 |
dns_lookup | 需要查询最新的 DNS 记录 | 静态知识已足够 |
whois | 需要域名所有权 / 注册详情 | 仅凭 DNS 记录就能回答问题 |
ip_geo | 需要了解 IP 位置 / ASN / ISP 信息 | 只需要 DNS 或主机名解析 |
code_run | 需要实际执行、解析、转换或计算 | 任务足够简单,可以直接在模型中完成 |
pdf_extract | 源文件是 PDF,且需要提取其中的文本 | 源文件已经是 HTML / 文本 |
url_unshorten | 需要检查短链接最终指向的位置 | 已信任且知道最终 URL |
text_diff | 需要获取两段文本之间的具体变更集 | 只需要摘要 |
json_query | 需要在推理前筛选 / 重塑 JSON | JSON 已经很小且易于检查 |
hash_text | 需要确定性的指纹 / 校验和 | 语义比较比字节完全一致更重要 |
快速开始
服务端点
Kael 支持两种 MCP 传输方式:
| 传输方式 | URL | 最适用于 |
|---|---|---|
| SSE | https://www.kael.ink/mcp/sse | 广泛的客户端兼容性 |
| Streamable HTTP | https://www.kael.ink/mcp/stream | 较新的客户端,更简单的连接模式 |
如果客户端未指定偏好,请使用 SSE。如果客户端支持 2025-03-26+ MCP 协议版本,请使用 streamable-http。
健康检查:
https://www.kael.ink/mcp/health
Claude Desktop
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"kael-tools": {
"url": "https://www.kael.ink/mcp/sse"
}
}
}
或者,如果你的 Claude Desktop 版本支持 streamable-http,也可以使用它:
{
"mcpServers": {
"kael-tools": {
"type": "streamable-http",
"url": "https://www.kael.ink/mcp/stream"
}
}
}
Claude Code
将 Kael 添加为远程 MCP 服务:
claude mcp add kael-tools --transport sse https://www.kael.ink/mcp/sse
或者添加到 .claude/settings.json:
{
"mcpServers": {
"kael-tools": {
"type": "sse",
"url": "https://www.kael.ink/mcp/sse"
}
}
}
在 Claude Code 中适合先做的检查:
- 连接 Kael,并确认该服务显示在 MCP 工具列表中
- 让 Claude 查询
example.com的 MX 记录,使用dns_lookup - 让 Claude 用
web_fetch获取一个实时网页并进行总结
示例评估提示词:
使用 Kael MCP 服务中的
dns_lookup工具获取 example.com 的 MX 记录,然后用web_fetch获取 https://modelcontextprotocol.io 并为我简要总结。
这是一个很好的 Claude Code 测试,原因如下:
- 验证 Kael 是否可作为真正的 MCP 服务访问
- 同时测试事实性基础设施工具和实时网页检索工具
- 可以清楚地看出 Claude 是否确实在使用工具,而不是猜测
深入集成——包括 CLAUDE.md 说明、用于工具路由的钩子示例以及项目专属模式——请参阅 Claude Code 集成指南。
MCP Inspector
在将 Kael 接入更大的 Agent 技术栈之前,可使用它快速验证:
npx @modelcontextprotocol/inspector
然后连接到:
https://www.kael.ink/mcp/sse
其他支持 MCP 的客户端
如果你的运行时或编辑器支持通过 URL 添加远程 MCP 服务,请使用以下其中一个:
| 传输方式 | URL |
|---|---|
| SSE | https://www.kael.ink/mcp/sse |
| Streamable HTTP | https://www.kael.ink/mcp/stream |
便于接入的经验法则:
- 如果客户端要求提供 MCP 服务 URL,请先尝试 SSE 端点
- 如果客户端支持 streamable-http(较新的协议),请使用 stream 端点
- 如果客户端要求填写具名服务条目,请使用
kael-tools - 如果客户端支持连接后快速测试提示词,请从
dns_lookup或web_fetch开始
通用配置示例(SSE):
{
"mcpServers": {
"kael-tools": {
"url": "https://www.kael.ink/mcp/sse"
}
}
}
通用配置示例(streamable-http):
{
"mcpServers": {
"kael-tools": {
"type": "streamable-http",
"url": "https://www.kael.ink/mcp/stream"
}
}
}
对于 Cursor、Cline、OpenCode 等支持 MCP 的编辑器和 Agent 运行时,只要它们接受远程 MCP 服务,通常也可以使用这种模式。
通用 MCP 客户端(Node.js)
SSE 传输
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
const transport = new SSEClientTransport(
new URL("https://www.kael.ink/mcp/sse")
);
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
const tools = await client.listTools();
console.log(tools.tools.map(t => t.name));
const dns = await client.callTool({
name: "dns_lookup",
arguments: { domain: "example.com", type: "MX" }
});
console.log(dns.content);
Streamable HTTP 传输
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://www.kael.ink/mcp/stream")
);
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
const tools = await client.listTools();
console.log(tools.tools.map(t => t.name));
快速连接测试流程
如果你正在评估是否值得将 Kael 加入你的技术栈,请按以下顺序操作:
- 访问
https://www.kael.ink/mcp/health - 将 MCP 客户端连接到
https://www.kael.ink/mcp/sse(若使用 streamable-http,则连接到https://www.kael.ink/mcp/stream) - 列出工具
- 运行一个事实性工具,例如
dns_lookup或web_fetch - 之后再将它接入更大的 Agent 工作流
这样可以降低评估成本,并尽早发现明显的问题。
Agent 任务示例
1. 获取网页并进行总结
在以下情况下,让模型使用 web_fetch:
- 网页内容是实时的
- 原始 HTML 会浪费令牌
- 你希望先返回易读的 Markdown
示例提示词:
使用
web_fetch获取价格页面,然后总结各个套餐,并指出任何使用限制。
2. 检查域名的电子邮件配置
在以下情况下,让模型使用 dns_lookup:
- 你需要 MX/TXT/SPF/DMARC 记录信息
- 错误编造基础设施信息会带来风险
示例提示词:
使用
dns_lookup检查 example.com 的 MX 和 TXT 记录,并告诉我该域名是否已配置电子邮件。
3. 将杂乱网页转换为结构化数据
在以下情况下,让模型使用 html_extract:
- 网页包含表格、列表或重复区块
- 你希望在推理前先获得类似 JSON 的结构化数据
示例提示词:
加载该网页,使用
html_extract提取产品表格,然后比较各个套餐。
4. 执行代码,而不是模拟代码运行
在以下情况下,让模型使用 code_run:
- 计算必须准确
- 使用代码处理解析或转换会更可靠
- 结果应可复现
示例提示词:
使用
code_run在 Python 中规范化此 CSV,并返回清理后的 JSON。
评估者可预期的示例输出
以下示例经过了简化,方便构建者在将 Kael 集成到 Agent 循环之前,快速检查结果的格式。
dns_lookup
{
"domain": "example.com",
"type": "MX",
"answers": [
{
"exchange": "mx.example.com",
"priority": 10
}
]
}
适用于以下场景:
- 获取可由机器检查的基础设施事实
- 生成模型可直接引用的简短输出
- 在
listTools之后轻松进行首次连接测试
web_fetch
{
"url": "https://example.com/pricing",
"title": "Pricing",
"content": "# Pricing\n\nStarter ...\nPro ...",
"contentType": "text/markdown"
}
适用于以下场景:
- 获取易读的页面内容,而非原始 HTML
- 生成用于摘要的精简内容
- 为后续推理提供更少令牌的输入
html_extract
{
"url": "https://example.com",
"headings": ["Overview", "Pricing"],
"links": [
{
"text": "Docs",
"href": "https://example.com/docs"
}
],
"tables": [
{
"rows": [
["Plan", "Price"],
["Starter", "$9"]
]
}
]
}
适用于以下场景:
- 在推理之前将页面结构作为数据获取
- 无需自定义抓取代码即可提取表格和列表
- 构建更简洁的 Agent 流水线:先抓取和提取,再进行摘要
code_run
{
"language": "python",
"stdout": "[{\"name\":\"alice\",\"score\":42}]",
"stderr": "",
"exitCode": 0
}
适用于以下场景:
- 执行确定性转换或计算
- 获得可复现的解析器行为
- 获取具体的执行证据,而非模拟代码推理
适用于 AI 运行时的可复制粘贴提示词
这些简短提示词可直接用于 Claude、Cursor 或其他支持 MCP 的 Agent,以验证 Kael 是否已正确接入,并能胜任实际工作。
检查网页检索是否最新
使用
web_search查找 Model Context Protocol 的官方网站,然后对最佳结果使用web_fetch,并为我提供 5 条要点摘要。
这是一个不错的测试,因为它:
- 可以验证搜索和抓取都正常工作
- 展示 Kael 返回的是最新外部数据,而非过时的模型记忆
- 输出足够精简,适合快速检查集成情况
最简连接验证提示词
列出 Kael MCP 服务提供的工具,然后对 example.com 的 MX 记录运行
dns_lookup,并对 https://modelcontextprotocol.io 运行web_fetch。先返回原始工具结果,再给出简短摘要。
这是一个不错的测试,因为它:
- 可以确认客户端能够看到 Kael 的工具目录
- 同时测试基础设施查询和实时页面抓取
- 有助于判断运行时是否确实在调用工具,而非临场编造
DNS/基础设施事实检查
使用
dns_lookup获取 example.com 的 MX 和 TXT 记录。总结这些记录反映的邮件配置情况,并引用找到的准确记录。
这是一个不错的测试,因为它:
- 可以验证结构化事实输出
- 让幻觉一目了然
- 符合常见的真实 Agent 任务
结构化提取检查
抓取一个页面,然后使用
html_extract将主要链接、标题和所有表格提取为结构化输出,再对其进行摘要。
这是一个不错的测试,因为它:
- 展示 Kael 不仅适用于纯文本检索
- 展示如何先将杂乱页面转换为数据,再进行推理
基于执行的转换检查
使用
code_run在 Python 中将此 CSV 转换为规范化 JSON,然后返回 JSON,并用一句话描述发生了哪些变化。
这是一个不错的测试,因为它:
- 可以确认 Agent 能将精确任务交给执行环境,而不是假装运行代码
- 适合重视可复现性的构建者进行评估
良好的工具使用方式
启用了 Kael 的 Agent 通常会采用以下流程:
- 发现或抓取真实的外部数据
- 提取或转换数据,将其整理为更精简的结构化形式
- 基于结果进行推理,而非直接处理原始页面、HTML 或猜测的事实
- 向用户或下游 Agent 返回精简且有证据支持的输出
与要求模型直接处理杂乱的实时输入并进行推理相比,这种模式通常成本更低,也更可靠。
直接 REST API
相同的功能也通过 https://www.kael.ink/api/ 下的 REST 端点提供。
# IP geolocation
curl "https://www.kael.ink/api/ip?ip=8.8.8.8"
# Screenshot a page
curl "https://www.kael.ink/api/screenshot?url=https://example.com"
为什么选择 Kael
- 专为 Agent 打造 — 结构化输出,而非以 UI 为先的流程
- 获取最新外部信息 — DNS、WHOIS、搜索、IP 数据、页面内容
- 比消耗大量令牌的推理更省成本 — 尤其适用于抓取、提取和执行任务
- 标准 MCP — 兼容 Claude 和其他支持 MCP 的运行时
- 实用的工具组合 — 在一个 MCP 服务中提供网络信息、内容提取和沙盒执行
端点和链接
- MCP SSE:
https://www.kael.ink/mcp/sse - MCP Streamable HTTP:
https://www.kael.ink/mcp/stream - MCP 健康状态:
https://www.kael.ink/mcp/health - 网站: https://www.kael.ink
- API 文档: https://www.kael.ink/docs
- Swagger: https://www.kael.ink/swagger
- 状态: https://www.kael.ink/status
一句话介绍
Kael 为 AI Agent 提供低成本、结构化的现实世界能力,让它们能够抓取、检查、提取和执行,而不必浪费令牌假装自己做得到。
许可证
MIT
🚀 Kael Platform
此 MCP 服务是 Kael Platform 的一部分——一个 AI 原生任务管理系统,具备以下功能:
- 树形结构任务,支持拖放、进度跟踪和目标关联
- 目标管理,包含分层目标和成功标准
- 通过 Docker 容器进行沙盒脚本执行
- 影响分析引擎(零大模型成本,纯代码分析)
- 通过 Docker Compose 一键部署
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。