Skip to content

Sketchlib

by sketchlib.com · remote · no sign-in to list tools · v1.0.0 · published by com.sketchlib

Search a large 3D model library and download converted GLB/FBX/USDZ assets via signed URLs.

Changes · 1

7 tools: 1 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http sketchlib https://sketchlib.com/mcp --header 'Authorization: <your-authorization>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 1Claude Code: ask
  • generate_modelGenerate a 3D model (GLB) from one photo of an object.No findings

    Why it is in this group

    • The name "generate_model" says "generate": a word for a change.
    Description, as the server wrote it
    Generate a 3D model (GLB) from one photo of an object. This is asynchronous and usually takes 3-7 minutes: the call returns a task_id immediately and get_generation reports progress. The result is downloadable only by the calling account and does not enter the public library. This tool charges credits, computed server-side and returned as credits_cost, so a call that cannot afford it is refused before any work starts. Supply image_base64 or image_urls to generate now, or omit both to have the user upload an image through their browser.
Only reads 6Claude Code: allow
  • download_modelReturn a signed download URL for a model zip, valid for 7 days.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Return a signed download URL for a model zip, valid for 7 days. Consumes one credit. A model the account already owns is free to download again.
  • get_generationReport the status of a generate_model task.No findings

    Why it is in this group

    • The name "get_generation" says "get": a word for reading.
    Description, as the server wrote it
    Report the status of a generate_model task. While it is pending or running, wait before polling again. When status is 'done' the response carries a download URL for the GLB, valid for 7 days. When status is 'failed' the pre-deducted credits have already been refunded automatically and the error field explains why, so no manual refund is needed.
  • get_modelReturn full metadata for one model, including whether it is downloadable and the source platform's thumbnail URL.Reads text others writeNo findings

    Why it is in this group

    • The name "get_model" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "return" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Return full metadata for one model, including whether it is downloadable and the source platform's thumbnail URL. That URL is hosted by the source platform and is missing for some models; use get_model_preview to see the model's own preview image instead.
  • get_model_previewReturn the preview image of one model as an image, so it can be shown to the user or judged before downloading.No findings

    Why it is in this group

    • The name "get_model_preview" says "get": a word for reading.
    Description, as the server wrote it
    Return the preview image of one model as an image, so it can be shown to the user or judged before downloading. Use this to check that a model from search_models is the one the user means before spending a credit on it. Spends one of the same reads search_models draws on, and counts against the same per-minute limit.
  • list_generationsReport past generate_model tasks created by the calling account, newest first.No findings

    Why it is in this group

    • The name "list_generations" says "list": a word for reading.
    Description, as the server wrote it
    Report past generate_model tasks created by the calling account, newest first. When status is 'done' the entry carries a download URL for the GLB, valid for 7 days. Use this to find 3D models generated earlier when the task_id was lost.
  • search_modelsSearch the Sketchlib library by keyword, optionally narrowed by category, tag, or face-count range.No findings

    Why it is in this group

    • The name "search_models" says "search": a word for reading.
    Description, as the server wrote it
    Search the Sketchlib library by keyword, optionally narrowed by category, tag, or face-count range. Returns paginated metadata and a preview image URL. has_more reports whether a further page exists; raise offset by limit to fetch it.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write2
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Looked at Oct 22, 2026, 14:40 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
1
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
none
RFC 9728 protected resource metadata
none
Authorization servers
none
Legacy HTTP+SSE transport
no
Dynamic client registration
not observed
Client ID metadata documents
not observed
  • WarnThe whole server

    The endpoint served tools/list without credentials, and the list has 1 tool that changes things (1 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://sketchlib.com/mcp: tools/list returned 7 tools to an anonymous client, including generate_model (write)

    What this check looks for

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http sketchlib https://sketchlib.com/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__sketchlib__search_models",
      "mcp__sketchlib__get_model",
      "mcp__sketchlib__get_model_preview",
      "mcp__sketchlib__download_model",
      "mcp__sketchlib__get_generation",
      "mcp__sketchlib__list_generations"
    ],
    "ask": [
      "mcp__sketchlib__generate_model"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as sketchlib. Review it before you use it.

Capability tags behind 2 rules
  • mcp__sketchlib__get_model untrusted-input
  • mcp__sketchlib__download_model untrusted-input