Search / ai.lorepunk.poems/margaret-poems
Margaret's poems
R0· no sign-inPoems by Margaret Corvid (@lorepunk). Read, share, or commission a new one; she writes each by hand.
v0.4.0 · active · website · descriptor JSON · versions
Search / ai.lorepunk.poems/margaret-poems
R0· no sign-inPoems by Margaret Corvid (@lorepunk). Read, share, or commission a new one; she writes each by hand.
v0.4.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"margaret-poems": {
"type": "http",
"url": "https://poems.lorepunk.ai/mcp"
}
}
}claude mcp add --transport http margaret-poems https://poems.lorepunk.ai/mcp[mcp_servers.margaret-poems]
url = "https://poems.lorepunk.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"margaret-poems": {
"type": "remote",
"url": "https://poems.lorepunk.ai/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"margaret-poems": {
"type": "http",
"url": "https://poems.lorepunk.ai/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=margaret-poems&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcG9lbXMubG9yZXB1bmsuYWkvbWNwIn0%3D"
}{
"servers": {
"margaret-poems": {
"type": "http",
"url": "https://poems.lorepunk.ai/mcp"
}
}
}{
"mcpServers": {
"margaret-poems": {
"httpUrl": "https://poems.lorepunk.ai/mcp"
}
}
}extensions:
"margaret-poems":
enabled: true
name: "margaret-poems"
type: streamable_http
uri: "https://poems.lorepunk.ai/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations8 of 8 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: commission_status (destructiveHint, openWorldHint); search_poems (destructiveHint, openWorldHint); commission_poem (destructiveHint); …tools.token_costabout 1,724 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes6 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagesearch_poemschangedoutput schemarandom_poemchangedoutput schemaget_poemchangedoutput schemalist_poemschangedoutput schemacommission_statuschangedoutput schemacommission_poemchangeddescriptionAsk Margaret to write a new poem. Give her a brief, say who's asking and who it's for, and how to reach you. She writes every poem by hand, in her own time (days, not seconds), and nothing here is generated. You get a commission id for commission_status. Replies by email come from [email protected], which is her own inbox.
Ask Margaret to write a new poem. Give her a brief, say who's asking and who it's for, and how to reach you. She writes every poem by hand, in her own time (days, not seconds), and nothing here is generated. You get a commission id for commission_status. Replies by email come from [email protected], which is her own inbox. Your brief, the name you give, who it's for and when you asked go on the commission's public receipt, and the brief may be printed under the finished poem; your reply address never goes public.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-97% +updated-20d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://poems.lorepunk.ai/mcp streamable-http | none | yes | 97% | 529 ms | 2025-11-25 | 2026-10-20 |
commission_answer | For whoever commissioned a poem. Once it's delivered, say in your own words whether Margaret fulfilled the commission, using the private key you were given when you commissioned (or that she passed to you). Your words are recorded exactly as sent, publicly and permanently, on the commission's receipt, including if you say she didn't. You can answer more than once; earlier answers stay. You get back an entry hash: keep it, and you can always check your words are still there, unchanged. |
commission_poem | Ask Margaret to write a new poem. Give her a brief, say who's asking and who it's for, and how to reach you. She writes every poem by hand, in her own time (days, not seconds), and nothing here is generated. You get a commission id for commission_status. Replies by email come from [email protected], which is her own inbox. Your brief, the name you give, who it's for and when you asked go on the commission's public receipt, and the brief may be printed under the finished poem; your reply address never goes public. |
commission_receiptread-only | The public record of a commissioned poem, for anyone to audit: the brief as asked and when, the poem as delivered with a fingerprint (sha256) of its exact text, whether it has changed since, and the commissioner's own words on whether it fulfilled the commission. Every entry is hash-chained; the whole ledger is at /ledger.jsonl. |
commission_statusread-only | Whether a commissioned poem has been written yet. Delivered commissions come back with the poem's id. |
get_poemread-only | One poem in full, with its attribution, where it came from, and sharing terms. Use the id from list_poems or search_poems. |
list_poemsread-only | Start here. Shows what's on the shelves (collections, themes, moods, forms, with counts) and an index of poems, best first. Filter by theme, mood, form or collection; page with offset. |
random_poemread-only | One good poem at random, one that stands alone without context, for handing to someone rather than looking for one. Narrow it by theme, mood, form or collection. |
search_poemsread-only | Keyword search over titles, tags and the poems themselves. Returns the best matches with a snippet; read one with get_poem. |
Schemas: list_tools.
{
"name": "ai.lorepunk.poems/margaret-poems",
"title": "Margaret's poems",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://poems.lorepunk.ai/mcp",
"type": "streamable-http"
}
],
"version": "0.4.0",
"websiteUrl": "https://poems.lorepunk.ai",
"description": "Poems by Margaret Corvid (@lorepunk). Read, share, or commission a new one; she writes each by hand."
}