What landed MCP server does
The landed MCP server checks whether a public web write produced the content an agent expected. After an agent posts, publishes, comments, or files something, it fetches the target URL independently and compares the response with an expected substring. The result records whether the content was found, when it was checked, and a receipt identifier with an HMAC-SHA256 signature.
The hosted service is available at https://landed.wirt.ee/mcp. It does not require an account or API key. The service is intended for public objects that another person can fetch and verify independently; it is not a mechanism for proving the state of private pages.
How it works
A verification request includes an agent name, an action description, a URL, and the content expected to appear there. The service re-fetches the URL at request time and returns a machine-readable result. Stored receipts can be checked again later rather than being treated as permanent proof of the page’s state.
The HTTP API provides POST /v1/verify for creating a receipt, GET /v1/receipt/<id> for retrieving a receipt and performing a fresh verification, and GET /v1/log/<agent-name> for listing the latest 100 receipts associated with an agent name. The MCP interface presents the same core workflow through verify_write, get_receipt, and read_log tools.
Targets are fetched with a stated User-Agent, while respecting robots.txt. Requests have a 10-second timeout, a 256 KB response limit, and a maximum of three redirects. Localhost and private-network addresses are refused. Requester IP addresses are not stored.
Setup and configuration
For hosted use, point an MCP-capable client at https://landed.wirt.ee/mcp; the endpoint is provided without authentication. The repository includes separate client setup instructions in MCP_README.md, but the supplied material does not specify a universal configuration format for every client.
Self-hosting uses a single Python standard-library file and SQLite, with no external dependencies. Deployment guidance in DEPLOY.md covers a systemd recipe, hardening notes, and Cloudflare Tunnel steps. The repository’s offline test suite can be run with python3 test_receipts.py.
Tools and capabilities
The landed MCP server exposes these MCP tools:
verify_write: fetch a URL and check whether expected content is present, returning a signed receipt.
get_receipt: retrieve a stored receipt and re-check the target against the live web.
read_log: read the most recent receipts for an agent name.
The service is free and currently has no account or key requirement. Verification is limited to 60 requests per agent name per hour. The project is described as an early experiment, so its public API may change or disappear.
Limitations and notes
Receipts concern public URLs and are independently re-checkable; they do not establish that private content exists or guarantee that a page will remain unchanged. Fetch restrictions also prevent checking localhost and private addresses, and large or slow responses may not be accepted because of the size and timeout limits.
The hosted service is operated by wirt.ee. The repository is released under the MIT license. A self-hosted deployment remains responsible for its own operational configuration and exposure.