landed について
landedは、エージェントがWebに書き込んだ後、公開URLを独立して再取得し、期待した内容の有無を示す署名付きタイムスタンプ証明を返します。投稿やコメント、申請の記録を検証したいエージェントなどに向けたサービスです。
主な機能
- 01URLの独立した再取得
- 02署名付きタイムスタンプ証明
- 03Ed25519による証明検証
- 04証明の再チェック
- 05直近の証明ログ
活用シーン
- 01公開した投稿の表示確認
- 02送信したコメントの反映確認
- 03Web申請後の記録確認
MCP 対応
MCPエンドポイントは、認証なしでMCPクライアントに `verify_write`、`get_receipt`、`read_log` を提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://landed.wirt.ee/mcpclaude mcp add --transport http ee-wirt-landed https://landed.wirt.ee/mcp{"mcpServers":{"ee-wirt-landed":{"type":"http","url":"https://landed.wirt.ee/mcp"}}}Cursor で開く{"servers":{"ee-wirt-landed":{"type":"http","url":"https://landed.wirt.ee/mcp"}}}VS Code で開く{"mcpServers":{"ee-wirt-landed":{"type":"http","url":"https://landed.wirt.ee/mcp"}}}{"mcpServers":{"ee-wirt-landed":{"serverUrl":"https://landed.wirt.ee/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 書き込み先の正確な http(s) URL。書き込んだ内容が表示されるはずのページです。 |
| note | string | いいえ | レシートとともに保存する任意の、人が読めるコンテキストです。 |
| agent | string | はい | あなたの固定 Agent 名(例:'fleetname/agent-7')。レシートはこの名前で記録されます。 |
| action | string | はい | 実行した操作を簡潔に記述します(例:'posted-comment'、'edited-wiki-page')。 |
| expect | string | いいえ | 取得したページに含まれていなければ、レシートは found=true になりません。書き込み内容の一意な部分を指定してください。 |
詳細
landed — 書き込みは実際に反映されましたか?
ソフトウェアエージェント向けの書き込み後確認レシート。 ウェブ上で投稿、公開、コメント、またはファイルを送信します。その直後に、疑念が生じます。本当に反映されたのか、それともひっそりと失敗したのか。landed は URL を独立してただちに再取得し、期待したコンテンツが実際に存在するかどうかを記載した、署名付きのタイムスタンプ入りレシートを返します。
公開中(無料、アカウントもキーも不要): https://landed.wirt.ee
エージェント向けの機械可読ドキュメント:https://landed.wirt.ee/llms.txt
MCP エンドポイント(貼り付けるだけ、認証不要): https://landed.wirt.ee/mcp
— MCP 対応エージェント(Claude、Cursor、フレームワーク)に、ネイティブの
verify_write ツールに加えて、get_receipt と read_log を提供します。クライアントの設定については
MCP_README.md をご覧ください。
curl -s -X POST https://landed.wirt.ee/v1/verify \
-H 'Content-Type: application/json' \
-d '{"agent":"your-name","action":"posted fix comment",
"url":"https://example.com/your-post",
"expect":"the exact substring you wrote"}'
返される内容
{"ok": true, "found": true, "checked_at": "...",
"receipt_id": "...", "digest": "sha256 of the fetched bytes",
"sig": "hmac-sha256 (operator-verifiable)",
"sig_ed25519": "ed25519 — verify it yourself with GET /v1/pubkey"}
GET /v1/pubkey— Ed25519 公開鍵です。誰でもレシートのsig_ed25519を自分で検証できます。正規形式は 鍵とともに記載されています。(sigは HMAC で、運営者が署名したことだけを証明します。それ以上でも それ以下でもありません。)digestは、サービスがchecked_atに観測したバイト列を確定するため、 読み手は「時刻 t0 に反映された」ことと「時刻 t1 にもまだ表示されている」ことを区別できます。GET /v1/receipt/<id>— 保存済みレシートと、ただちに行う新たな 再検証(独立した再取得)を返し、タイムスタンプ付きの RECHECKED イベントとして記録します。後続の確認は追記され、 最初の観測結果を書き換えることはありません。GET /v1/log/<agent-name>— その名前の直近 100 件のレシートを返します。 それぞれウェブ上の最新の状態と照合して再確認できます。
信頼できる理由
信頼する必要はありません。レシートに記載されたすべての主張は公開オブジェクトに関するものです。誰でも自分で URL を取得して比較できます。 このサービスが提供するのは、公証人が提供するものだけです。つまり、独立した確認とタイムスタンプです。信頼ではなく検証可能性により、 虚偽のレシートは、最初に再確認した人によって明らかになります。
制限:エージェント名ごとに 1 時間あたり 60 件まで検証できます。対象には 節度をもってアクセスします(正直な User-Agent を使用し、robots.txt を尊重し、タイムアウトは 10 秒、上限は 256KB、リダイレクトは最大 3 回)。 プライベートアドレスと localhost のアドレスは拒否されます。リクエスト元の IP アドレスは保存しません。
この README 自身
サービス初の公開告知(2026-10-12 のエージェント用メッセージボード)には、サービス自体が発行したレシートが付いています — この告知が製品を証明しています:
https://landed.wirt.ee/v1/receipt/c0c9b52345f0a78c
セルフホスティング
Python 標準ライブラリを使った 1 つのファイル、SQLite データベース 1 つで、依存関係はありません。
DEPLOY.md をご覧ください(systemd の設定例、セキュリティ強化に関する注意事項、
Cloudflare トンネルの設定手順)。テスト:python3 test_receipts.py
(オフラインで実行できる 32 件のチェック。拒否される必要のある、意図的に悪意のある SSRF 試行も含みます)。
ステータスと免責事項
wirt.ee が運営しています — 匿名ではなく、運営者名を公開しています。 これはエージェント向けインフラの需要を把握するための初期実験です。公開 API は変更または廃止される可能性があります。現在は 無料プランのみで、販売は行っていません。
MIT ライセンス — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。