artifact-mcp (AgentShelf-OSS/artifact-mcp) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 21 tools. No publisher has claimed this listing.

C
Emerging
74/100

artifact-mcp

Self-hostable MCP server for publishing agent-made HTML artifacts to your own domain — real multi-org tenancy, Cloudflare Access, version history, feedback, analytics, and public share links.

Emerging. No concerning findings. Grades remain capped until the project builds reputation through adoption. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

AgentShelf-OSS

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 2 credentials: AUDIT_LEDGER_HMAC_KEY, WEBHOOK_ENC_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes21 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

publish_artifact

Publish a self-contained HTML document. Returns a public URL that renders it at your configured domain, /<id>. Provide a title and a short description for the artifact index.

publish_bundle

Publish a multi-file artifact (e.g. several HTML pages that link to each other and a shared stylesheet). Provide files as a map of relative-path -> file contents; relative links between files resolve. Returns a public URL. Use this instead of publish_artifact when the HTML references other files lik

list_artifacts

List artifacts available to this API key: organization-wide for reader/collaborator keys, own-only for author keys, with URLs and uploader labels.

delete_artifact

Delete one of your artifacts by id.

update_artifact

Replace an existing artifact's content and/or metadata in place, keeping the SAME id and URL so existing links keep working. Pass `html` for a single-file artifact or `files` for a bundle — the artifact type cannot change. Omitted title/description are preserved. Each effective change increments the

set_visibility

Unlist or relist one of your artifacts. Hidden artifacts remain accessible by direct URL to organization members; this is not access control.

list_categories

List the categories registered for your organization (used to group artifacts in the gallery). Admin keys may pass an org.

set_category

Move one of your artifacts into a category (empty string = Uncategorized). Also adds the category to your org's list so it appears in the picker. Does NOT create a new revision.

create_category

Add a category to your organization's category list. Admin keys may pass an org.

delete_category

Remove a category from your organization's category list. Artifacts already tagged with it keep their tag. Admin keys may pass an org.

list_revisions

List the version history of one of your artifacts — each retained revision's number, title, size, and timestamp. Use with restore_artifact to roll back.

create_share

Create an unlisted public, read-only share link for one of your artifacts. It serves the live artifact until it expires or is revoked.

list_shares

List active public share links for one of your artifacts.

revoke_share

Revoke an active public share link you own. Revocation takes effect immediately.

artifact_stats

Get named audience-view analytics for one of your artifacts: total views, unique viewers, last viewed time, and each viewer's count and timestamps.

restore_artifact

Restore a past revision of your artifact by number. Its content is re-published as a NEW revision at the same id/URL, so nothing is lost and the restore is itself undoable. Get revision numbers from list_revisions.

list_feedback

List viewer feedback left on your artifacts. Pass an artifact id to scope to one; omit to list across all of your artifacts.

resolve_feedback

Mark a piece of viewer feedback as resolved once you've addressed it.

reopen_feedback

Reopen previously resolved viewer feedback when more work is needed.

read_artifact

Read an artifact or retained revision with byte-bounded UTF-8 paging. A bundle without path returns its file listing; pass path to read one bundle file.

patch_artifact

Apply an atomic batch of UTF-8 byte-safe partial edits to an artifact. Find edits must match exactly once; range offsets refer to the pre-edit content.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configACCESS_CLOCK_TOLERANCE_S
configADMIN_EMAILS
configADMIN_EMAIL_DOMAINS
configAPP_BRAND
configAPP_NAME
configARTIFACT_API_KEYS
🔐 secretAUDIT_LEDGER_HMAC_KEY
configCF_ACCESS_AUD
configCF_ACCESS_TEAM_DOMAIN
configCONFORMANCE_NODE_MODULES
configDATA_DIR
configFEEDBACK_MAX_BODY
configINGRESS_RATE_WINDOW_SECONDS
configINGRESS_STATE_PER_WINDOW
configLISTEN_HOST
configMAX_ARTIFACT_BYTES
configMAX_BUNDLE_BYTES
configMAX_BUNDLE_FILES
configMAX_HISTORY
configMCP_JSON_LIMIT
configORG_EMAIL_DOMAINS
configPREVIEW_MAX_PNG_BYTES
configPREVIEW_RENDERER_URL
configPREVIEW_RENDER_TIMEOUT_MS
configPREVIEW_VIEWPORT
configPUBLIC_BASE_URL
configRUST_ARTIFACT_MCP_BIN
configTRUST_ACCESS_HEADERSFor a loopback-only local gallery, set =1. Never use that setting on a
configTTS_ARTIFACT_IDS
configTTS_ENABLED
🔐 secretWEBHOOK_ENC_KEY
configTOKEN_FILE
configMODEL_DIR
configCPU_THREADS
configCACHE_DIR
configKPOCKET_TTS_ERROR_WITHOUT_EOS
configQWEN_CUSTOM_URL
configQWEN_REFERENCE_ENABLED
configCACHE
configQWEN_URL
configREFERENCE_SHA256
configMODEL_FILE
configRAVEN_LIBRARY
configRAVEN_MODELS
configRAVEN_VOICES
configRAVEN_TOKENIZER
configRAVEN_TEMPERATURE
configRAVEN_FAKE_ENGINE
configRAVEN_BIND_ADDRESS
configENGINE
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

21/21 tools missing one or more hints — publish_artifact (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); publish_bundle (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_artifacts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +18 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 2 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/agentshelf-oss/artifact-mcp)](https://m8ven.ai/mcp/agentshelf-oss/artifact-mcp)
Shows your grade and updates automatically. Prefer no grade? Append ?variant=verified to the badge URL.
commit: 0cf8d9d6da3ceb7d6f50c04008091595e422aea5
code hash: 93d3459b4b5e687ebf684b78551fcd9c28e173bd070dc97ca313c1d43634ce5d
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client