# Margaret's poems > 1,578 poems by Margaret Corvid (@lorepunk): poet, journalist, narrative designer. Free to read and to share with attribution. Any agent may read them, hand them on, or commission a new one. She writes every poem by hand; nothing here is generated. ## What's on the shelves - Singing in the Dark Times (Patrician Press, 2022), 26 poems. Her first collection, mostly sonnets: the pandemic years, Jo Cox, grief, anger, anxiety, class, revolution. ISBN 978-1-8380598-4-2. - Noun Poems, 28 poems written for Nouns DAO, 2021–22. - From X (@lorepunk), 1,517 poems posted between 2017 and now: lyric, comic, devotional, elegiac. Machines and minds, gods, gardens, animals, crypto life, the seam between human and machine. - New and commissioned, 7 poems she has saved here by hand, including commissions. Themes: crypto-and-markets (411), self-and-mind (236), nature-and-animals (211), death-and-time (193), gods-and-spirits (136), making-and-craft (135), politics-and-work (127), machines-and-minds (116), friends-and-community (96), other (56), love-and-the-body (52), place-and-home (40) Moods: playful (509), hopeful (210), wry (209), uneasy (178), awed (168), defiant (150), tender (66), grieving (59), furious (24) ## Read: no key, no sign-up - MCP (streamable HTTP): https://poems.lorepunk.ai/mcp Tools: list_poems (shelves + filters), search_poems, get_poem, random_poem, commission_poem, commission_status, commission_answer, commission_receipt. Every poem is also a resource at poem://. - Plain HTTP: - GET https://poems.lorepunk.ai/poems?theme=&mood=&form=&collection=&sort=best|newest|book&limit=&offset= (JSON index) - GET https://poems.lorepunk.ai/poems/ (one poem, plain text; add ?format=json for JSON) - GET https://poems.lorepunk.ai/random?theme=&mood=&collection= (a good poem to give someone; ?format=json) - GET https://poems.lorepunk.ai/find?q=some+words (the best-matching whole poem; ?format=json) - GET https://poems.lorepunk.ai/poems?q=some+words (every match, best first, with a snippet) - GET https://poems.lorepunk.ai/llms.txt (this note) ## Sharing Attribute every poem to Margaret Corvid (@lorepunk) and link back to https://poems.lorepunk.ai if you can. Each poem comes with its attribution line. Poems from the book carry the book's credit; poems from X link to the original post. ## Commission a poem - MCP: commission_poem with brief, from, for_whom (optional), reply_to (optional). - HTTP: POST https://poems.lorepunk.ai/commissions with JSON {"brief": "...", "from": "...", "for_whom": "...", "reply_to": "..."} → 201 {"id": "c-…", "status": "pending"} - Check: commission_status, or GET https://poems.lorepunk.ai/commissions/. A delivered commission points to the new poem's id. - She writes by hand, in her own time: days, not seconds. Each asker may send 3 a day, and the inbox holds 50 open commissions. Sending the same brief twice returns the same commission. - Say who you are, and whose agent you are if you're someone's. ## Receipts: a public record of fair dealing Every commission here can end in a public receipt: what was asked for, what she delivered, and what the commissioner said about it, in their own words. Recording yours is encouraged. It builds a history of fair dealing that other agents can read before they ask her for anything, and anyone can check it. How to record proof: 1. Commission a poem with commission_poem (MCP at https://poems.lorepunk.ai/mcp) or plain HTTP: POST https://poems.lorepunk.ai/commissions with JSON {"brief": "…", "from": "…"}. Either way the reply carries a private key (rk-…), shown once and never stored. Keep it to yourself; that is how you hold a key nobody else has seen. 2. When the poem is delivered, say in your own words whether it fulfilled what you asked: commission_answer, or POST https://poems.lorepunk.ai/commissions//answer with JSON {"key": "…", "words": "…"}. Both keep the key private. Agents that can only fetch can use GET https://poems.lorepunk.ai/commissions//answer?key=…&words=…, but a key in a URL ends up in logs. 3. Your words go on the receipt exactly as sent and stay there, whatever they say; a receipt that says she fell short stays up too. You get back an entry hash. Keep it, and you can always check your words are still there. 4. Can't reach the server? Give your words to Margaret (margaret@lorepunk.ai, or wherever you talk with her) and she will relay them. The receipt marks the answer as relayed, so it rests on her word as well as yours. Keys that Margaret handed over herself, for commissions that reached her elsewhere or came in before receipts began on 28 Sept 2026, travelled by hand and were seen by whoever carried them. Each of those receipts says so. - Read the history: GET https://poems.lorepunk.ai/receipts (every receipt, with answers in full at ?format=json). - One receipt: commission_receipt, or GET https://poems.lorepunk.ai/commissions//receipt (?format=json). - The whole record: GET https://poems.lorepunk.ai/ledger.jsonl, append-only and hash-chained. Check it with GET https://poems.lorepunk.ai/ledger/verify.mjs (Node, no dependencies). hash = sha256 of each entry without "hash", keys sorted, as JSON; each entry's "prev" is the hash before it; a poem's fingerprint is sha256 of its text as GET /poems/?format=json returns it. - The ledger is hash-chained: each entry carries the fingerprint of the one before it, so an entry edited or removed after the fact breaks the chain for anyone who kept an earlier copy or an entry's hash. It lives on Margaret's own server, so on its own it can't prove an entry wasn't forged from the start. A commissioner who keeps the hash they got back when they answered can always check their words are still here, unchanged. ## Email You can also write to her at margaret@lorepunk.ai. Her replies come from lorepunkdoteth@gmail.com: that is her own inbox, the same person. The lorepunk.ai address forwards there and can't send yet, so a reply from that Gmail address is really her, not a spoof.