{"name":"io.github.velvenai/velven","slug":"velvenai-velven","title":"Velven","description":"Publish browser games, worlds, tools and wonders built with AI to Velven's hosting, and manage them.","url":"https://mcp.market/server/velvenai-velven","rating":null,"grade":"B","score":80,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-28T08:21:25.000Z","license":null},"uptime":{"percent":89,"checks":28,"ok":25,"last_checked_at":"2026-11-04T10:55:27.031Z","last_ok_at":"2026-11-03T08:15:34.844Z","latency_ms":328},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/velvenai/skills","website":"https://velven.ai/docs","version":"1.0.1","remotes":[{"type":"streamable-http","url":"https://mcp.velven.ai/mcp"}],"packages":[],"tools":[{"name":"my_spaces","description":"List the spaces of the signed-in Velven account: slug, title, status, whether Velven hosts it, and its page. Needs sign-in; called without it, the app asks the person to sign in to Velven.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"publish","description":"Publish a browser game, world, tool or wonder on Velven's hosting, from one HTML page or a small set of files (3 MB in all). Signed in: a private preview by default, or with prod: true the next live version after Velven's safety check. Not signed in: an unlisted page, live after the check, returned with a claim token that keeps it. A new space needs title, type and devices from the person. To update a space pass space (signed in) or claim (not signed in).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"html":{"description":"A whole page as one HTML string, published as index.html.","type":"string"},"files":{"description":"Files by relative path: text as a string, binary as { \"base64\": \"...\" }. Must include the entry page (index.html unless entry says otherwise). A velven.json, a dotfile, a dot-folder or node_modules, in any folder, is left out (never published; the result names the first 10 and counts the rest): send velven.json's settings as this tool's fields.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"object","properties":{"base64":{"type":"string"}},"required":["base64"]}]}},"entry":{"description":"The page that opens first, if not index.html.","type":"string"},"title":{"description":"The space's name. Required for a new space.","type":"string","maxLength":80},"type":{"description":"What it is. Required for a new space.","type":"string","enum":["game","world","tool","wonder"]},"devices":{"description":"Where it can be played. Required for a new space.","type":"array","items":{"type":"string","enum":["desktop","mobile","vr"]}},"description":{"description":"One line under the name.","type":"string","maxLength":160},"engine":{"description":"What it draws with, if one of these.","type":"string","enum":["three.js","r3f","babylon.js","playcanvas","a-frame","godot","unity","phaser","p5.js","canvas","webgl","webgpu","wasm","dom","marble","spline","other"]},"how_made":{"description":"How it was made, in the creator's words.","type":"string","maxLength":2000},"space":{"description":"Publish a new version of this space (yours, signed in).","type":"string","pattern":"^[a-z0-9-]{1,100}$"},"claim":{"description":"The claim token of an unlisted page: publishes its next version, or claims it when signed in.","type":"string","pattern":"^vlc_[A-Za-z0-9_-]{43}$"},"prod":{"description":"Go live after the safety check instead of a preview. Signed in only. Default false.","type":"boolean"},"spa":{"description":"Serve the entry page for any unknown path (a single-page app).","type":"boolean"},"sdk":{"description":"Add Velven's SDK script to the entry page. Default true.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"rollback","description":"Make an earlier version of a hosted space live again. Only a version that was live before (rollback: true in versions) can be picked; it goes live at once without a new check. Needs sign-in.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"space":{"type":"string","pattern":"^[a-z0-9-]{1,100}$","description":"The space's slug, as my_spaces or publish named it, e.g. pixel-racer."},"version":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"The version number to make live again."}},"required":["space","version"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_docs","description":"Search Velven's documentation: publishing and hosting, velven.json, the CLI, the SDK (sign-in, leaderboards, saves, achievements, rooms), claiming a page, the agent API and limits. Returns the best matching sections with links.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":200,"description":"What to look up, in a few words."},"limit":{"description":"How many sections to return. Default 5.","type":"integer","minimum":1,"maximum":10}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"versions","description":"List a hosted space's versions, newest first: number, status (uploading, preview, checking, live, refused, unjudged, replaced), size, and whether rollback can pick it. Refused versions carry the reason. Needs sign-in.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"space":{"type":"string","pattern":"^[a-z0-9-]{1,100}$","description":"The space's slug, as my_spaces or publish named it, e.g. pixel-racer."}},"required":["space"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":80,"grade":"B","scanned_at":"2026-09-28T14:25:51.563Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T14:25:51.515Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 704ms"]},"poisoning":{"score":15,"max":15,"notes":["5 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.velven.ai/mcp","reachable":true,"authRequired":false,"latencyMs":704,"serverInfo":{"name":"velven","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"velvenai","repo":"skills","archived":false,"pushedAt":"2026-09-28T08:21:25Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/325081604?v=4","ownerCreatedAt":"2026-09-04T23:04:21Z"},"icon":{"url":"https://velven.ai/favicon.ico","source":"site","width":64,"height":64},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":null,"lastPushAt":"2026-09-28T08:21:25.000Z","score":23}}}},"grade_history":[],"reviews":[]}