← All tools
Artifacts
Output a model generated — a document, a table, a diagram, a page — stored so it outlives the session that made it, and optionally published as a link anyone can open.
7Tools
19Parameters
2026-09-03Generated
muninn_artifact_add
Writes
7 parameters
Store a text-based artifact you generated — markdown, plain text, csv, json, code, a mermaid diagram, svg, or an HTML page — so it outlives this session and can be retrieved by any model or from the web app. Use this for OUTPUT you produced (a document, a table, a diagram, a page), not for notes or facts about the user; those are muninn_memory_add. The source is stored in full, never a link. Artifacts are deliberately excluded from semantic search, so give a clear title and tags — that is how they are found again. Returns {success, memoryId, format, url, length}. For html: runs in a sandboxed iframe on a separate origin, not its published URL — relative fetch/src/href fail, framing another artifact needs srcdoc, and href="#…" needs a click handler. See the muninn-artifact skill. TO EDIT ONE LATER there is no muninn_artifact_update — an artifact's artifactId IS its memoryId, so redraft it with muninn_memory_update (whole body), muninn_memory_anchor_replace (one span) or muninn_memory_append. Editing replaces in place, and a published artifact's public link refreshes automatically. To choose a format for what you are about to make, and for the `mime` value that goes with it, read the muninn-artifact-formats skill — it holds the whole list.
| Parameter | Type | Required | Description |
| source |
string |
Required |
The artifact's full source text, stored verbatim. |
| format |
stringmd · txt · csv · json · code · mermaid · svg · html |
Required |
What kind of source this is — selects the renderer. md, txt, csv, json, code, mermaid, svg, or html. |
| title |
string |
— |
Display name for the artifact, e.g. 'BUI org chart'. Strongly recommended: artifacts are not semantically searchable, so the title carries the findability. |
| tags |
string[] |
default [] |
Tags, same as muninn_memory_add. The main way an artifact is found later. |
| project |
string |
— |
Project slug to scope this artifact. Omit for user-global. |
| sourceModel |
string |
— |
Which model produced this, for provenance, e.g. 'claude-opus-5'. |
| mime |
stringtext/html · text/markdown · text/plain · text/x-tex · text/csv · text/tab-separated-values · application/json · application/yaml · application/xml · application/geo+json · text/calendar · text/vcard · text/vnd.mermaid · text/vnd.graphviz · text/vnd.d2 · text/vnd.plantuml · application/vnd.chartjs+json · application/vnd.echarts+json · image/svg+xml · model/gltf+json · model/obj · model/stl · application/pdf · application/zip · application/gzip · application/x-tar · image/png · image/jpeg · image/webp · image/gif · model/gltf-binary · application/vnd.openxmlformats-officedocument.wordprocessingml.document · application/vnd.openxmlformats-officedocument.spreadsheetml.sheet · application/vnd.openxmlformats-officedocument.presentationml.presentation |
— |
The artifact's media type, from the closed list. Sets the file extension on download and nothing else — a mermaid source is text/vnd.mermaid so it exports as .mmd, not .txt. Defaults to text/html. The muninn-artifact-formats skill maps intents to types. |
muninn_artifact_get
Read only
1 parameter
Retrieve a stored artifact by ID — returns its full source plus format, title, provenance, and whether it is currently shared publicly (published + publicUrl), so you can continue working on something a previous session (or a different model) produced. To WRITE your edit back, pass this artifactId as memoryId to muninn_memory_update, muninn_memory_anchor_replace or muninn_memory_append — there is no muninn_artifact_update, because an artifact's artifactId IS its memoryId. If it is published, the public link refreshes automatically. The returned `rev` is the body's revision number (null if never indexed): hand it back as `expectedRev` on that write and it FAILS rather than clobbering an edit made in between — worth carrying when you fetch now and write later, unnecessary when you write straight away.
| Parameter | Type | Required | Description |
| artifactId |
string |
Required |
The artifact's memory ID (full UUID or a unique prefix). |
muninn_artifact_list
Read only
3 parameters
List stored artifacts, newest first, optionally narrowed to one format. Returns slim rows {artifactId, format, title, createdAt, url, published, publicUrl} — no source bodies, so it is cheap to call before deciding what to fetch. Backed by a D1 index, never a KV scan. Use this to see what you have already made for this user, or to answer 'what have I shared publicly' — every published artifact carries its live public link. To edit any row, pass its artifactId as memoryId to muninn_memory_update — there is no muninn_artifact_update.
| Parameter | Type | Required | Description |
| format |
stringmd · txt · csv · json · code · mermaid · svg · html |
— |
Restrict to one format, e.g. 'mermaid'. |
| limit |
integer |
default 50 |
Maximum rows to return. |
| publishedOnly |
boolean |
default false |
Return only artifacts that are currently shared publicly. Use this to answer 'what of mine is publicly reachable'. |
muninn_artifact_name
Writes
2 parameters
Give a published artifact a readable address under the user's handle, rename it, or remove the name — use when the user says name this page, give it a nicer url, rename that link, change the address, or make the link readable. Turns a long token url into something like chai.munn.is/my-notes, plus a durable twin on muninn.bizat.co that keeps working if the short domain ever changes. The artifact must already be published (muninn_artifact_publish); naming does not publish anything and does not change who can read it. Pass name: null to remove the name — that address stops working immediately, while the token link keeps working. Returns {success, artifactId, slug, namedUrl, durableUrl}.
| Parameter | Type | Required | Description |
| artifactId |
string |
Required |
The artifact's memory ID (full UUID or a unique prefix). |
| name |
string |
Required |
The name, e.g. 'my-notes' — letters, numbers and hyphens, no dots or slashes, unique among this user's named pages. Pass null to remove the current name. |
muninn_artifact_password
Writes
2 parameters
Set, change or remove the password a reader must type to open a published artifact — use when the user says password protect this, put a password on that link, lock this page, change the password, or remove the password. The artifact must already be published (muninn_artifact_publish); the link itself does not change, so anything already shared keeps working and now asks for the password. ⚠️ The password is stored one-way and can NEVER be read back — not by the user, not by support, not by this tool. Say the exact password back to the user when you set it, because this is the only time it is visible; a forgotten one is replaced, not recovered. Pass password: null to remove it and make the link open freely again. Giving two artifacts the SAME password puts them behind one lock, so unlocking either opens both — that is how a locked page can embed another locked page. A different password keeps them separate. This is a gate on the page, not encryption of the artifact. ⚠️ If one artifact fetches another as data, give BOTH the same password (one lock) or leave the data one open — two different passwords means the fetch gets 401. Returns {success, artifactId, hasPassword}.
| Parameter | Type | Required | Description |
| artifactId |
string |
Required |
The artifact's memory ID (full UUID or a unique prefix). |
| password |
string |
Required |
The password readers must type, 4-128 characters. Use exactly what the user asked for — never invent one, and never change one without being asked. Pass null to remove the password entirely. |
muninn_artifact_publish
Writes
3 parameters
Share a stored artifact publicly and get back a link anyone can open — use when the user says publish this, share this, make this public, give me a link to send someone, put this on the web, or asks for a URL they can paste into a chat or an email. Returns a short unguessable munn.is link that renders the artifact for anyone holding it: no login, no account, not indexed by search engines. The published copy stays LIVE — later edits to the artifact update what the link serves. Optionally pass `name` to give the page a readable address under the user's handle, e.g. chai.munn.is/my-notes. Publishing is only ever this tool: never assume an artifact is public, and never publish as part of saving or editing something. muninn_artifact_unpublish revokes the link. Returns {success, artifactId, publicUrl, namedUrl, durableUrl, live}.
| Parameter | Type | Required | Description |
| artifactId |
string |
Required |
The artifact's memory ID (full UUID or a unique prefix). |
| name |
string |
— |
Optional readable name for the page, e.g. 'my-notes' — becomes <handle>.munn.is/my-notes. Letters, numbers and hyphens only; no dots or slashes. Only meaningful once the user has claimed a handle in the web app. Publishing still succeeds if the name is rejected. |
| password |
string |
— |
Optional password a reader must type before the page opens. Only pass a password the user actually stated — never invent one, and never set one they did not ask for. It cannot be read back afterwards by anyone, including the user: it can only be replaced or removed with muninn_artifact_password. Tell the user the exact password you set, since this is the only moment it is visible. |
muninn_artifact_unpublish
Writes
Destructive
1 parameter
Revoke an artifact's public link — use when the user says unpublish, unshare, make this private again, take it down, or stop sharing that link. Deletes the public copy outright, so the URL stops working immediately for everyone who has it; the artifact itself is untouched and stays in Muninn. Any readable name it had goes with it, so the named address stops resolving too. ⚠️ Irreversible for that URL: publishing again mints a NEW link, and every copy of the old one is dead. Safe to call on an artifact that was never published. Returns {success, artifactId, wasPublished}.
| Parameter | Type | Required | Description |
| artifactId |
string |
Required |
The artifact's memory ID (full UUID or a unique prefix). |
← Back to all 70 tools