mcpField
K
Kael MCP Server

Kael MCP Server

远程服务
github.com/dreamingms浏览器自动化132 周前更新
代码仓库

关于 Kael MCP Server

Kael MCP Server 为需要最新网页和互联网基础设施数据、结构化提取或沙盒代码执行的 Agent 提供工具。工具以 JSON 返回结果,并支持 SSE 和可流式 HTTP 连接。

主要功能

  1. 01获取并搜索实时网页内容
  2. 02从网页和 PDF 提取结构化数据
  3. 03截取网页画面
  4. 04查询 DNS、WHOIS 和 IP 信息
  5. 05在沙盒中运行 JavaScript、Python 或 Bash
  6. 06查询 JSON、比较文本并计算哈希

适用场景

  1. 01获取最新网页内容用于摘要
  2. 02检查域名的邮件相关 DNS 记录
  3. 03从网页提取表格或列表
  4. 04执行可复现的数据转换

MCP 相关

通过 SSE 和可流式 HTTP 端点向 MCP 客户端提供 16 种工具,涵盖网页检索、基础设施查询、内容提取和沙盒执行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://www.kael.ink/mcp/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
SSEhttps://www.kael.ink/mcp/sse
Streamable HTTPhttps://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 或 Bash
  • text_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需要在推理前筛选 / 重塑 JSONJSON 已经很小且易于检查
hash_text需要确定性的指纹 / 校验和语义比较比字节完全一致更重要

快速开始

服务端点

Kael 支持两种 MCP 传输方式:

传输方式URL最适用于
SSEhttps://www.kael.ink/mcp/sse广泛的客户端兼容性
Streamable HTTPhttps://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 中适合先做的检查:

  1. 连接 Kael,并确认该服务显示在 MCP 工具列表中
  2. 让 Claude 查询 example.com 的 MX 记录,使用 dns_lookup
  3. 让 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
SSEhttps://www.kael.ink/mcp/sse
Streamable HTTPhttps://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 加入你的技术栈,请按以下顺序操作:

  1. 访问 https://www.kael.ink/mcp/health
  2. 将 MCP 客户端连接到 https://www.kael.ink/mcp/sse(若使用 streamable-http,则连接到 https://www.kael.ink/mcp/stream)
  3. 列出工具
  4. 运行一个事实性工具,例如 dns_lookup 或 web_fetch
  5. 之后再将它接入更大的 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 通常会采用以下流程:

  1. 发现或抓取真实的外部数据
  2. 提取或转换数据,将其整理为更精简的结构化形式
  3. 基于结果进行推理,而非直接处理原始页面、HTML 或猜测的事实
  4. 向用户或下游 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

  1. 专为 Agent 打造 — 结构化输出,而非以 UI 为先的流程
  2. 获取最新外部信息 — DNS、WHOIS、搜索、IP 数据、页面内容
  3. 比消耗大量令牌的推理更省成本 — 尤其适用于抓取、提取和执行任务
  4. 标准 MCP — 兼容 Claude 和其他支持 MCP 的运行时
  5. 实用的工具组合 — 在一个 MCP 服务中提供网络信息、内容提取和沙盒执行

端点和链接

一句话介绍

Kael 为 AI Agent 提供低成本、结构化的现实世界能力,让它们能够抓取、检查、提取和执行,而不必浪费令牌假装自己做得到。

许可证

MIT

🚀 Kael Platform

此 MCP 服务是 Kael Platform 的一部分——一个 AI 原生任务管理系统,具备以下功能:

  • 树形结构任务,支持拖放、进度跟踪和目标关联
  • 目标管理,包含分层目标和成功标准
  • 通过 Docker 容器进行沙盒脚本执行
  • 影响分析引擎(零大模型成本,纯代码分析)
  • 通过 Docker Compose 一键部署

👉 github.com/dreamingms/kael-platform

立即体验:kael.ink/tasks | kael.ink/goals | kael.ink/dashboard

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。