Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SketchUp MCP

MCPB · SKETCHUP-MCP-1.3.0.MCPB

Let AI work in SketchUp: pro tagging, interior quantity takeoff by tag and room, modeling, Ruby.

+3 this week 41 Trust /100

Last scanned (17 hours ago)

Scores higher than 76% of MCPB servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency45
Schema Quality & AI Usability64
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3750 tokens (~129/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
  • Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage83
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 49% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Oct 26 +2
    • Schema quality: pass → fail ▼ functional
    • Tool coverage: 36% → 49% ▲ functional
    • Stability: unverified → 0.23 ▲ functional
    • Package version: 1.2.0 → 1.3.0 functional
  • 14 Oct 26 +29
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Tool coverage: 36 functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: 100 functional
    • First check of Schema quality: pass functional
    • First check of Schema quality: good functional
  • 12 Oct 26 9

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 23 Oct 2026 · Analysed mcpb/https://github.com/2ez4gcx/sketchup-mcp/releases/download/v1.3.0/sketchup-mcp-1.3.0.mcpb@1.3.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 29 exposed · ~3,256 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_box ~219

Create a rectangular box (group). width along X, depth along Y, height along Z, in mm. origin [x,y,z] mm is the lower-left corner. Missing tags/materials are created; color is '#RRGGBB' or a color name (only applied when the material is newly created; an existing material keeps its color). Returns: {id, persistent_id, type, name, tag, material, bounds_mm{min,max,size}}.

NameTypeReqDescription
colorstring|null––
depthnumberyesSize along the Y axis (mm), > 0
heightnumberyesSize along the Z axis (mm), > 0
materialstring|null––
namestring|null––
origin––MIN corner (bottom-left-front) [x,y,z] mm, NOT the center; default [0,0,0]
tagstring|null––
widthnumberyesSize along the X axis (mm), > 0

No output schema declared.

No examples provided.

create_lines ~77

Draw a polyline through [x,y,z] mm points in a new group. close_face=true: closes back to the first point and creates a face (the result has face_created).

NameTypeReqDescription
close_faceboolean––
namestring|null––
pointsarrayyes–
tagstring|null––

No output schema declared.

No examples provided.

create_shape ~178

Draw a flat face from a polygon (list of [x,y,z] mm points, >= 3 coplanar points) in a new group. pushpull (mm) extrudes it into a solid (e.g. draw a floor outline, then pull it up to the slab thickness). Returns: {id, persistent_id, type, name, tag, material, bounds_mm{min,max,size}}.

NameTypeReqDescription
colorstring|null––
materialstring|null––
namestring|null––
pointsarrayyesPolygon vertices [[x,y,z],...] mm, >= 3 coplanar points, in order around the perimeter
pushpullnumber|null–Extrusion thickness (mm); a horizontal face is pulled up along +Z
tagstring|null––

No output schema declared.

No examples provided.

delete_entities ~55

Delete entities by id (ids are required; never deletes by selection). Can be undone.

NameTypeReqDescription
entity_idsarrayyesIds from tool results (selection_info, create_*...); only valid in the current SketchUp session.

No output schema declared.

No examples provided.

export_file ~58

Export the model to a 3D/2D file chosen by extension (dae, obj, stl, fbx, dwg, dxf, 3ds...). Some formats require SketchUp Pro.

NameTypeReqDescription
pathstringyes–

No output schema declared.

No examples provided.

export_png ~71

Export the viewport as a PNG/JPG file (e.g. 'D:/Export/perspective.png'). width/height in pixels; view changes the camera first.

NameTypeReqDescription
height–––
pathstringyes–
transparentboolean––
view–––
width–––

No output schema declared.

No examples provided.

insert_component ~128

Insert a component: from a .skp file (path, e.g. 'D:/Library/table.skp') or from a definition already in the model (definition = name). position [x,y,z] mm, rotation_deg rotates about the Z axis.

NameTypeReqDescription
definitionstring|null––
materialstring|null––
namestring|null––
pathstring|null––
position––Insertion point (component origin) [x,y,z] mm
rotation_degnumber––
tagstring|null––

No output schema declared.

No examples provided.

install_sketchup_bridge ~133

Install (or update) the "SU MCP Bridge" extension in SketchUp so the other tools can connect. Copies su_mcp.rb + su_mcp/main.rb into the Plugins folder of every SketchUp version found (Windows: %APPDATA%/SketchUp/SketchUp 20xx/SketchUp/Plugins). SketchUp must be restarted afterwards. Empty versions = every version opened at least once; dry_run=true only reports what would be done. Also returns the path of su_mcp.rbz for a manual install via Extension Manager.

NameTypeReqDescription
dry_runboolean––
versions–––

No output schema declared.

No examples provided.

interior_takeoff ~536

Bill of quantities (BOQ) for interior work: one row per tag (= one specification), with the unit its category needs: FL floors and CL ceilings -> area m², once per board whatever its face orientation, sloped parts at their real area; WL wall finishes, PA partitions, GL glass -> area of ONE side of each thin upright piece (openings cut in one side deducted), m²; SK skirting, CO cornices -> length m (runs made with Follow Me too); CU curtains -> width x height m²; EX existing structure -> volume m³; DR, WN, JN, FN, LT, SN, EQ, DE -> count (outermost group/component per tag, by definition). Every row also has all the other measures, and the totals per category. by_room=true adds the quantity of every row per room (a room = a named group WITHOUT a tag, e.g. "Living room"; otherwise taken from object names "<code> <room> - <location>"). RF reference tags are skipped. Warnings list geometry that is in no tagged object and parts that could not be measured (e.g. a wall that is not a thin object). csv_path also writes the table to a CSV file for Excel (with by_room: one column per room).

NameTypeReqDescription
by_roomboolean–Also split every row by room (rooms = named groups without a tag)
csv_formatstring–semicolon = ";" separators and decimal commas, for Excel with Vietnamese/European regional settings
csv_pathstring|null–Absolute path of a .csv file to write, e.g. 'D:/BOQ/takeoff.csv' (UTF-8, opens in Excel)
include_hiddenboolean–Also measure hidden objects and objects on hidden tags/folders (they are listed in warnings otherwise)
languagestring–Language of category names, room placeholder and CSV headers/units
max_thickness_mmnumber–Thicker pieces are never taken for a wall/board (e.g. a corridor drawn as one box)
measures––Unit override per tag name, per code-number ("LT-05") or per code ("JN"), e.g. {"LT-05": "length", "JN": "elevation_area"}
overwriteboolean–Replace csv_path if it already exists
selection_onlyboolean–Only the selected objects (e.g. one room)
thin_rationumber–A piece is thin when its thickness <= thin_ratio x its smaller in-plane size

No output schema declared.

No examples provided.

list_components ~44

List component definitions and their instance counts (sorted descending) - use it to count equipment/furniture. include_groups=true also lists groups.

NameTypeReqDescription
include_groupsboolean––

No output schema declared.

No examples provided.

list_materials ~26

List the materials in the model: name, RGB color, transparency, texture file.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_tags ~41

List tags (layers): name, visible/hidden, color, folder (SketchUp 2021+) and number of entities using the tag (including inside definitions).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

make_group ~189

Put existing entities into a new group (they must be at the level being edited, e.g. the top level). Use it for rooms: a named group WITHOUT a tag (e.g. name "Living room") holding the finishes and items of that room, so interior_takeoff can split quantities by room. With tag, it makes an assembly (e.g. several skirting runs). Returns: {id, persistent_id, type, name, tag, material, bounds_mm{min,max,size}}.

NameTypeReqDescription
entity_idsarrayyesIds from tool results (selection_info, create_*...); only valid in the current SketchUp session.
namestring|null–Group name, e.g. the room name "Living room" or "Level 2 / Bedroom 1" is built from nested rooms
tagstring|null–Leave empty for a room

No output schema declared.

No examples provided.

model_info ~49

Overview of the open model: path, units, bounding box size (mm), number of top-level groups/components/ faces/edges, and number of tags, materials, definitions, scenes and selected entities.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

new_model ~16

Create a new (empty) model.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

open_model ~25

Open a .skp file in SketchUp.

NameTypeReqDescription
pathstringyes–

No output schema declared.

No examples provided.

ping ~54

Check the connection to SketchUp: returns the SketchUp and Ruby versions, the open model name, and the versions of the bridge in SketchUp and of the MCP server (warns if the bridge is older than the bundled one).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

quantity_takeoff ~134

Quantity takeoff: walks the whole model recursively (or only the selection) and totals by tag or material: face area (m2, one side), face count, total edge length (m), solid volume (m3) and instance count per component. Untagged/unpainted entities inherit from their parent group. Raw totals only (face area counts every face of a solid): for a bill of quantities use interior_takeoff.

NameTypeReqDescription
group_bystring–Group by "tag" (layer) or by "material"
include_hiddenboolean––
selection_onlyboolean––

No output schema declared.

No examples provided.

run_ruby ~154

Run arbitrary Ruby code in SketchUp (Ruby API). Use it when the other tools are not enough. Useful objects: Sketchup.active_model, model.entities, model.selection. Internal units are inches: use 1000.mm, x.to_mm. The whole snippet is one Undo step. Returns the last value (inspect) and the puts output. Rules: do NOT call start_operation/commit_operation (the bridge already wraps the code in one Undo step); find entities with Sketchup.active_model.find_entity_by_id(id); check face.normal before pushpull; vertex coordinates inside a group are local (multiply by the parent group transformation); end with a value or puts; never call exit.

NameTypeReqDescription
codestringyes–

No output schema declared.

No examples provided.

save_model ~34

Save the model. Empty path = overwrite the current file; with path = Save As.

NameTypeReqDescription
pathstring|null––

No output schema declared.

No examples provided.

screenshot ~122

Capture the SketchUp viewport and return the image so Claude can see it directly (to check modelling results). Empty view = keep the current view. With view, the camera changes only temporarily for the capture and the previous view is restored afterwards.

NameTypeReqDescription
height–––
max_sizeinteger–Longest image side (px), keeps the viewport aspect ratio
view––Temporary capture view; empty = the user's current view
width––Fixed size (use together with height); if only width or height is given it is treated as the longest side

No output schema declared.

No examples provided.

select_entities ~66

Select entities by id in SketchUp (so the user can see them, or for later tools to use).

NameTypeReqDescription
clearboolean––
entity_idsarrayyesIds from tool results (selection_info, create_*...); only valid in the current SketchUp session.

No output schema declared.

No examples provided.

selection_info ~65

Info on the selected entities: id, type, name, tag, material, bounding box (mm), face area (m2), solid volume (m3). The ids are used by the edit/delete tools.

NameTypeReqDescription
limitinteger–Maximum number of entities returned in detail

No output schema declared.

No examples provided.

set_material ~124

Apply a material to entities (entity_ids or the current selection). A missing material is created with color; an EXISTING material keeps its color (unless update_existing=true).

NameTypeReqDescription
back_tooboolean––
colorstring|null––
entity_ids––Ids from tool results (selection_info, create_*...); only valid in the current SketchUp session. Empty = current selection.
materialstringyes–
update_existingboolean|null–true = also recolor an EXISTING material (affects EVERY entity that uses it)

No output schema declared.

No examples provided.

set_tag ~91

Assign a tag to entities (entity_ids or the current selection). A missing tag is created (in its category folder with its category color when it follows the tag standard). Tag groups/components, not raw faces or edges.

NameTypeReqDescription
entity_ids––Ids from tool results (selection_info, create_*...); only valid in the current SketchUp session. Empty = current selection.
tagstringyes–

No output schema declared.

No examples provided.

set_view ~53

Set a standard view and zoom extents. iso defaults to perspective, the other views to parallel projection.

NameTypeReqDescription
perspectiveboolean|null––
viewstring––
zoom_extentsboolean––

No output schema declared.

No examples provided.

setup_tags ~281

Create tags in one Undo step, following the interior tag standard "<CODE>-<NN> <description>", codes: FL floor finishes, SK skirting, WL wall finishes, PA partitions, CL ceilings, CO cornices and trims, DR doors, WN windows, GL glass partitions, JN built-in joinery, FN loose furniture, LT lighting, SN sanitary ware, EQ equipment and appliances, CU curtains and blinds, DE decor and accessories, EX existing structure, RF reference (not measured). Each tag goes into its category folder (SketchUp 2021+, e.g. "FL Floor finishes") and gets its category color (Tags panel > Color by tag). Use it to create every tag of a finish schedule at once, before modelling. Existing tags keep their folder and color unless update_existing=true. Tags without a known code get no folder/color unless given.

NameTypeReqDescription
language––Language of NEW category folder names; default: Vietnamese when the tag name has Vietnamese diacritics, else English
tagsarrayyesTag names, e.g. ["FL-01 Engineered oak floor 12mm", "WL-01 Paint, white matt"], or objects {name, color "#RRGGBB", folder}
update_existingboolean–true = also move EXISTING tags into their category folder and recolor them

No output schema declared.

No examples provided.

transform_entities ~208

Move / rotate / scale entities. Empty entity_ids = use the current selection. translate [dx,dy,dz] mm; rotate_deg about axis (default Z) at pivot (mm, default entity center); scale is a uniform factor. Order applied: scale -> rotate -> translate.

NameTypeReqDescription
axis––Rotation axis [x,y,z]; default [0,0,1]
entity_ids––Ids from tool results (selection_info, create_*...); only valid in the current SketchUp session. Empty = current selection.
pivot––Rotation/scale center [x,y,z] mm; default = bounding box center of the FIRST entity
rotate_degnumber|null–Rotation angle (degrees), positive = counterclockwise when viewed from the axis tip
scale––Uniform scale factor, > 0 (e.g. 1.5)
translate––RELATIVE offset [dx,dy,dz] mm, not a target position

No output schema declared.

No examples provided.

undo ~25

Undo the last step in SketchUp (every model-editing tool is one Undo step).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the SketchUp MCP server?

SketchUp MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, eca889bb130800516d7b04c44c6c550ac5056f297e7ea2f1cf0edd2d053d5009; the commands to do that are on this page. If it does not match, do not open it.

mcpb · sketchup-mcp-1.3.0.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

eca889bb130800516d7b04c44c6c550ac5056f297e7ea2f1cf0edd2d053d5009

macOS / Linux

echo "eca889bb130800516d7b04c44c6c550ac5056f297e7ea2f1cf0edd2d053d5009  sketchup-mcp-1.3.0.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\sketchup-mcp-1.3.0.mcpb).Hash -eq "eca889bb130800516d7b04c44c6c550ac5056f297e7ea2f1cf0edd2d053d5009"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the SketchUp MCP server?

SketchUp MCP is listed in the public MCP registry as io.github.2ez4gcx/sketchup-mcp. Let AI work in SketchUp: pro tagging, interior quantity takeoff by tag and room, modeling, Ruby. This page covers its MCPB bundle (https://github.com/2ez4gcx/sketchup-mcp/releases/download/v1.3.0/sketchup-mcp-1.3.0.mcpb).

Is the SketchUp MCP server safe to use?

SketchUp MCP scores 41 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SketchUp MCP server expose?

SketchUp MCP exposes 29 tools: ping, model_info, list_tags, list_components, list_materials, and 24 more. Their descriptions and schemas cost roughly 3,256 tokens of context every time the server is loaded.

What licence is the SketchUp MCP server under?

SketchUp MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.