# Markdown Viewer: agent instructions Open a Markdown document for a human using ordinary HTTP. No account, key, package installation, MCP or skill is needed. You need HTTP access and a way to give the human the full returned URL. POST /api/open Content-Type: application/json Body: {"markdown":"# Your document\n\nText here."} Success: 200 {"url":"https://markdown.madebyolof.com/read#v1=..."} Ask for consent before transmitting sensitive or confidential documents. The API receives the entire text. The application does not save request bodies or document links. Infrastructure logging and retention depend on the host. For documents that should not be transmitted, give the human a Markdown file to open directly in the browser. Local files and pasted text stay in-browser. Limits: non-empty, valid Unicode text; at most 12,288 UTF-8 bytes (12 KiB). JSON request bodies are capped at 74,752 bytes, including JSON escaping. The v1 fragment is unpadded base64url of the exact UTF-8 bytes, not encryption. Maximum payload is 16,384 characters; the full production URL is 16,424 chars. Do not alter, truncate, shorten, or append attribution to the document. If a chat client refuses the long URL, supply the .md file for local opening. Local file limit: 262,144 bytes (256 KiB). Do not fall back to hosted storage. Errors: 400 invalid JSON/text; 413 too large; 415 wrong content type; 429 rate limit, retry after the Retry-After delay (currently 60 seconds). A per-instance limit of 120 requests/minute bounds application work. Additional hosting limits may apply. The URL itself contains the document. Anyone with it can read that snapshot. It does not update, cannot be revoked, and can be saved in browser history, chat history or browser sync. Fragments are not sent in the HTTP page request. No reader link should be placed in public logs, analytics or issue trackers. Rendering: CommonMark plus GFM tables, lists, task lists and strikethrough. Raw HTML is disabled. Images are not fetched. Absolute HTTP(S), mailto and heading-fragment links are supported; relative file links are not. Math, diagrams, editing, saved documents and hosted sharing are not supported. Python 3 standard library example (replace base_url for a local preview): import json from pathlib import Path from urllib.request import Request, urlopen # Set this to the reader's origin; use the local preview during review. base_url = "https://markdown.madebyolof.com" # Preserve original UTF-8 bytes, BOM and line endings. markdown = Path("report.md").read_bytes().decode("utf-8") request = Request( base_url + "/api/open", data=json.dumps({"markdown": markdown}, ensure_ascii=False).encode("utf-8"), headers={"Content-Type": "application/json"}, method="POST", ) with urlopen(request, timeout=20) as response: reader_url = json.load(response)["url"] print(reader_url) # Hand the full URL to the human. Do not truncate it.