Kael MCP Server について
Kael MCP Serverは、最新のウェブ情報やインターネット基盤データ、構造化抽出、サンドボックスでのコード実行を必要とするエージェント向けのツールを提供します。結果はJSON形式で、SSEとStreamable HTTPに対応しています。
主な機能
- 01ウェブの最新情報の取得と検索
- 02ウェブページやPDFからの構造化データ抽出
- 03ウェブページのスクリーンショット撮影
- 04DNS、WHOIS、IP情報の照会
- 05サンドボックスでのJavaScript、Python、Bash実行
- 06JSON検索、テキスト比較、ハッシュ計算
活用シーン
- 01最新のウェブページを取得して要約
- 02ドメインのメール関連DNSレコードを確認
- 03ウェブページから表やリストを抽出
- 04再現可能なデータ変換を実行
MCP 対応
SSEとStreamable HTTPのエンドポイントを通じて、16種類のツールをMCPクライアントに公開します。ウェブ検索、基盤情報の照会、コンテンツ抽出、サンドボックス実行に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
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 サーバー
エージェント向けのAIネイティブなツール — 推測にモデルのトークンを費やす代わりに、低コストのコンピューティングでウェブ、DNS、WHOIS、スクリーンショット、抽出、サンドボックス内でのコード実行を利用できます。
Kael は、エージェントが最新の外部データ、構造化出力、または実際の実行を必要とするタスク向けです。推論の文章をもう一段増やすためのものではありません。
これが必要な理由
LLM は、次の作業にコストがかかります。
- 最新のウェブコンテンツの取得とクリーニング
- DNS/WHOIS/IP 情報の確認
- 雑然としたページからの構造化データの抽出
- 安全かつ再現可能なコードの実行
- スクリーンショットやバイナリアーティファクトの生成
Kael は、これらの作業を JSON 出力を返す実際のツールにします。
最適な用途
エージェントが次のことを必要とする場合は、Kael MCP を使用してください。
- ウェブやインターネットインフラからの最新データ
- 文章ではなく構造化された結果
- モデルによるシミュレーションではなく決定論的な実行
- 繰り返し行うユーティリティ作業でのトークン消費の削減
- モデルに渡しやすい小さなツール出力
次の場合は 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 | 2 つのテキスト間の具体的な変更箇所が必要な場合 | 要約だけが必要な場合 |
json_query | 推論の前に JSON をフィルタリング/再整形する必要がある場合 | JSON がすでに小さく、簡単に確認できる場合 |
hash_text | 決定論的なフィンガープリント/チェックサムが必要な場合 | 正確なバイト列よりも意味上の比較が重要な場合 |
クイックスタート
サーバーエンドポイント
Kael は 2 種類の 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 レコードを取得し、次に https://modelcontextprotocol.io をweb_fetchで取得して、簡単に要約してください。
Claude Code のテストとして優れている理由:
- Kael に実際の MCP サーバーとして到達できることを確認できます
- インフラに関する事実を扱うツールと、最新のウェブ情報を取得するツールの両方を試せます
- Claude が推測するのではなく、実際にツールを使用しているかどうかが明確になります
より深い統合については、CLAUDE.md の指示、ツールルーティング用のフックの例、プロジェクト固有のパターンなどを含む Claude Code Integration Guide をご覧ください。
MCP Inspector
Kael をより大きなエージェントスタックに組み込む前の、簡単な検証に便利です。
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 サーバーを受け付ける 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など、事実に基づくツールを1つ実行します- その後で初めて、より大きなエージェントワークフローに組み込みます
これにより、評価コストを抑え、問題があれば早い段階で明確にできます。
エージェントタスクの例
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 を使うよう依頼します。
- 正確な計算が重要である
- パーサーや変換処理をコードで実行したほうが信頼性が高い
- 結果を再現可能にする必要がある
プロンプトの例:
Python で
code_runを使ってこの CSV を正規化し、クリーニング済みの JSON を返してください。
評価者が期待できる出力例
Kael の結果の形式をエージェントのループに組み込む前に確認できるよう、以下に簡略化した例を示します。
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"]
]
}
]
}
次のような場合に便利です:
- 推論の前に、ページ構造をデータとして取得したい場合
- 独自のスクレイピング処理を組まずに、テーブルやリストを抽出したい場合
- エージェントのパイプラインを整理したい場合(先に取得/抽出し、次に要約する)
code_run
{
"language": "python",
"stdout": "[{\"name\":\"alice\",\"score\":42}]",
"stderr": "",
"exitCode": 0
}
次のような場合に便利です:
- 決定論的な変換や計算が必要な場合
- パーサーの動作を再現可能にしたい場合
- コード実行のシミュレーション上の推論ではなく、具体的な実行結果が必要な場合
AI ランタイム向けのコピー&ペースト用プロンプト
以下は、Kael が正しく接続され、実際の作業に役立つことを確認するために、Claude、Cursor、またはその他の MCP 対応エージェントにそのまま貼り付けられる短いプロンプトです。
ウェブの最新情報を取得するテスト
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 レコードを取得してください。メールの設定について何がわかるかを要約し、見つかったレコードを正確に引用してください。
このテストが有効な理由:
- 構造化された事実情報が出力されることを確認できます
- 幻覚が明らかになります
- エージェントの一般的な実務タスクに合致します
構造化抽出の確認
ページを取得し、要約する前に
html_extractを使って主なリンク、見出し、テーブルを構造化出力として抽出してください。
このテストが有効な理由:
- Kael がプレーンテキストの取得だけに使われるのではないことを示せます
- 乱雑なページをまずデータに変換し、その後に推論する方法を確認できます
実行結果に基づく変換の確認
Python で
code_runを使ってこの CSV を正規化された JSON に変換し、その JSON と変更内容を説明する 1 文を返してください。
このテストが有効な理由:
- エージェントがコードを実行したふりをするのではなく、正確な作業を実行に渡せることを確認できます
- 再現性を重視するビルダーによる評価に役立ちます
適切なツール使用の例
Kael を活用した優れたエージェントのフローは、通常次のようになります:
- 実際の外部データを見つける、または取得する
- それをより小さな構造化形式に抽出または変換する
- 生のページ、HTML、または推測した情報ではなく、結果に基づいて推論する
- ユーザーまたは後続のエージェントに、根拠を伴う簡潔な出力を返す
このパターンは通常、モデルに乱雑なライブ入力を直接推論させるよりも、低コストで信頼性が高くなります。
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 を選ぶ理由
- エージェント向けに構築 — UI 優先のフローではなく、構造化された出力
- 最新の外部情報 — DNS、WHOIS、検索、IP データ、ページコンテンツ
- トークンを大量消費する推論より低コスト — 特に取得/抽出/実行タスクで効果的
- 標準の MCP — Claude やその他の MCP 互換ランタイムで動作
- 実用的なツールの組み合わせ — インターネット上の情報、コンテンツ抽出、サンドボックス化された実行を 1 つのサーバーで提供
エンドポイントとリンク
- 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 エージェントがトークンを無駄にして実行するふりをせずに、取得、調査、抽出、実行できるよう、低コストで構造化された現実世界の機能を提供します。
ライセンス
MIT
🚀 Kael Platform
この MCP サーバーは、以下の機能を備えた AI ネイティブなタスク管理システム Kael Platform の一部です。
- ドラッグ&ドロップ、進捗追跡、目標とのリンクに対応したツリー構造のタスク
- 階層的な目標と成功基準に対応した目標管理
- Docker コンテナを使用したサンドボックス化されたスクリプト実行
- 影響分析エンジン(LLM コストゼロ、純粋なコード分析)
- Docker Compose によるワンコマンドデプロイ
👉 github.com/dreamingms/kael-platform
ライブでお試しください:kael.ink/tasks | kael.ink/goals | kael.ink/dashboard
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。