Skip to main content
Glama

SketchupMCP - Sketchup 模型上下文協議(MCP)整合

SketchupMCP 透過模型上下文協議(MCP)將 Sketchup 連接到 Claude AI,使 Claude 能夠直接與 Sketchup 互動和控制。這項整合允許使用提示輔助 3D 建模、場景創建和操作 Sketchup。

特別感謝 mhyrr/sketchup-mcp 提供的架構。 我們對其原生版本(mhyrr/sketchup-mcp)進行了繁體中文化及部份功能優化與調整。

功能

  • 雙向通信:透過 TCP 套接字連接 Claude AI 與 Sketchup

  • 組件操作:在 Sketchup 中創建、修改、刪除和變換組件

  • 材質控制:應用和修改材質與顏色

  • 場景檢查:獲取當前 Sketchup 場景的詳細資訊

  • 選取處理:獲取並操作已選取的組件

  • Ruby 代碼執行:在 Sketchup 中直接執行任意 Ruby 代碼,以進行高級操作

Related MCP server: SketchupMCP

組件

該系統由兩個主要組件組成:

  1. Sketchup 擴展:在 Sketchup 內部創建 TCP 伺服器來接收並執行命令的擴展

  2. MCP 伺服器(sketchup_mcp/server.py:實作模型上下文協議並連接到 Sketchup 擴展的 Python 伺服器

安裝

安裝 Sketchup 擴展

  1. 下載或自行構建最新的 .rbz 檔案

  2. 在 Sketchup 中,前往 Window > Extension Manager

  3. 點擊 Install Extension,然後選擇下載的 .rbz 檔案

  4. 重新啟動 Sketchup

Python 套件安裝

我們使用 uv 來管理 Python 環境,因此需要先安裝 uv

pip install uv

Installing via Smithery

要使用 Smithery 安裝 Sketchup MCP:

npx -y @smithery/cli install @BearNetwork-BRNKC/SketchUp-MCP --client claude

安裝 Sketchup 擴展

  1. 下載或自行構建最新的 .rbz 檔案

  2. 在 Sketchup 中,前往 Window > Extension Manager

  3. 點擊 Install Extension,然後選擇下載的 .rbz 檔案

  4. 重新啟動 Sketchup

使用方式

啟動連線

  1. 在 Sketchup 中,前往 Extensions > SketchupMCP > Start Server

  2. 伺服器將預設啟動在 9876 端口

  3. 確保 MCP 伺服器已在終端執行

與 Claude 配合使用

在 Claude 配置中加入以下內容,以使用 MCP 伺服器:

"mcpServers": {
    "sketchup": {
        "command": "uvx",
        "args": [
            "sketchup-mcp"
        ]
    }
}

這將自動從 PyPI 下載最新版本。

成功連接後,Claude 將能夠透過以下功能與 Sketchup 互動:

工具

  • get_scene_info - 獲取當前 Sketchup 場景資訊

  • get_selected_components - 獲取當前選取的組件資訊

  • create_component - 創建新組件並指定參數

  • delete_component - 從場景中刪除組件

  • transform_component - 移動、旋轉或縮放組件

  • set_material - 為組件應用材質

  • export_scene - 將當前場景匯出為多種格式

  • eval_ruby - 在 Sketchup 中執行任意 Ruby 代碼以進行高級操作

指令示例

以下是一些可以要求 Claude 執行的操作示例:

  • "創建一個帶有屋頂和窗戶的簡單房屋模型"

  • "選取所有組件並獲取它們的資訊"

  • "將選取的組件變成紅色"

  • "將選取的組件向上移動 10 個單位"

  • "將當前場景匯出為 3D 模型"

  • "使用 Ruby 代碼創建一個複雜的藝術與工藝櫃"

疑難排解

  • 連線問題:確保 Sketchup 擴展伺服器和 MCP 伺服器都在運行

  • 命令執行失敗:檢查 Sketchup 的 Ruby 控制台以查看錯誤訊息

  • 超時錯誤:嘗試簡化請求或將操作拆分為較小的步驟

技術細節

通信協議

該系統使用基於 TCP 套接字的簡單 JSON 協議:

  • 命令 以 JSON 物件的形式發送,包含 type 和可選的 params

  • 回應 以 JSON 物件的形式返回,包含 statusresultmessage

授權

MIT 授權許可證

Available Tools

10 tools
create_componentC

Create a new component in Sketchup

ParametersJSON Schema
NameRequiredDescriptionDefault
dimensionsNo
positionNo
typeNocube

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation operation but doesn't mention permissions needed, whether it's destructive to existing components, what happens on failure, or any rate limits. For a mutation tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It's appropriately sized and front-loaded with the essential action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 3 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, how parameters work, or behavioral aspects like error handling. It provides only basic purpose without necessary context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions no parameters at all, leaving all three parameters (dimensions, position, type) unexplained. The description adds zero value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('new component in Sketchup'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'create_dovetail' or 'create_finger_joint' which also create components, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'create_dovetail' or 'create_mortise_tenon', nor does it mention prerequisites or exclusions. It only states what the tool does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_dovetailC

Create a dovetail joint between two components

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
depthNo
heightNo
num_tailsNo
offset_xNo
offset_yNo
offset_zNo
pin_idYes
tail_idYes
widthNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'create' which implies a write/mutation operation, but doesn't specify permissions needed, whether it's destructive, rate limits, or what happens upon creation (e.g., if it modifies existing components). This leaves significant gaps in understanding the tool's behavior and safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words, making it highly concise and front-loaded. It directly states the tool's purpose without unnecessary elaboration, earning full marks for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no annotations, no output schema), the description is incomplete. It doesn't cover parameter meanings, behavioral traits, usage context, or output details, leaving the agent with insufficient information to reliably invoke this tool. For a creation tool with many parameters, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 10 parameters have descriptions in the schema. The description adds no information about parameters beyond the tool name, failing to explain what tail_id, pin_id, angle, depth, etc., mean or how they affect the joint creation. This is inadequate given the high parameter count and lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and the resource 'dovetail joint between two components', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like create_finger_joint or create_mortise_tenon, which would require mentioning what makes a dovetail joint distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like create_finger_joint or create_mortise_tenon, nor does it mention prerequisites or context for creating joints. It lacks explicit usage instructions or exclusions, leaving the agent to infer based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_finger_jointC

Create a finger joint (box joint) between two components

ParametersJSON Schema
NameRequiredDescriptionDefault
board1_idYes
board2_idYes
depthNo
heightNo
num_fingersNo
offset_xNo
offset_yNo
offset_zNo
widthNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a joint, implying a mutation, but lacks details on permissions, side effects, error conditions, or output format. This is a significant gap for a creation tool with complex parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, no annotations, no output schema), the description is inadequate. It lacks parameter explanations, behavioral context, and output details, making it incomplete for effective tool use despite its conciseness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning all 9 parameters are undocumented in the schema. The description adds no information about parameters like board1_id, depth, or num_fingers, failing to compensate for the coverage gap and leaving the agent without semantic understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a finger joint') and specifies the resource ('between two components'), which is specific and unambiguous. It distinguishes this from siblings like create_dovetail or create_mortise_tenon by naming a different joint type, though it doesn't explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like create_dovetail or create_mortise_tenon. The description implies usage for finger joints but doesn't specify scenarios, prerequisites, or exclusions, leaving the agent without contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_mortise_tenonC

Create a mortise and tenon joint between two components

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
heightNo
mortise_idYes
offset_xNo
offset_yNo
offset_zNo
tenon_idYes
widthNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states 'Create' which implies a write/mutation operation, but doesn't disclose behavioral traits such as whether this modifies existing components, requires specific permissions, has side effects, or what happens on failure. This is a significant gap for a tool with 8 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the joint creation process, parameter roles, expected outcomes, or error conditions. For a mutation tool with many parameters, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the 8 parameters have descriptions in the schema. The description adds no information about parameters beyond what's implied by the tool name (e.g., 'mortise_id' and 'tenon_id' relate to components). It doesn't explain what depth, height, offsets, or width mean in this context, failing to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the specific resource ('a mortise and tenon joint between two components'), which is a woodworking joint type. It distinguishes from siblings like 'create_dovetail' and 'create_finger_joint' by specifying the joint type, though it doesn't explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'create_dovetail' or 'create_finger_joint'. It doesn't mention prerequisites (e.g., existing components), context, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_componentC

Delete a component by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Delete' implies a destructive operation, the description doesn't specify whether deletion is permanent or reversible, what happens to dependent elements, or what permissions are required. For a destructive tool with zero annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just four words, front-loading the essential information with zero wasted language. Every word earns its place in communicating the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations, no output schema, and 0% schema description coverage, the description is insufficiently complete. It doesn't address critical aspects like deletion consequences, error conditions, return values, or parameter validation that an agent needs to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the single parameter 'id' has no documentation in the schema. The description mentions 'by ID' which provides minimal context about the parameter's purpose, but doesn't explain what format the ID should be, where to find it, or any validation rules. This doesn't adequately compensate for the complete lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete') and target resource ('a component by ID'), making the purpose immediately understandable. It doesn't distinguish from siblings like 'create_component' or 'transform_component', but the verb+resource combination is specific enough for basic understanding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like 'transform_component' or when deletion is appropriate versus other operations. The description only states what the tool does, not when it should be selected among available options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eval_rubyB

Evaluate arbitrary Ruby code in Sketchup

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Evaluate arbitrary Ruby code') but does not disclose critical traits such as security implications, execution environment constraints, error handling, or output format. This is a significant gap for a tool that executes arbitrary code.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It is appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of executing arbitrary code, lack of annotations, no output schema, and low schema coverage, the description is incomplete. It fails to address safety, permissions, or result handling, which are crucial for such a tool. The agent would lack sufficient context to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'Ruby code' which aligns with the 'code' parameter, but adds minimal semantic value beyond what the parameter name implies. No details on code format, examples, or constraints are provided, leaving the parameter poorly documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Evaluate arbitrary Ruby code') and the target resource/environment ('in Sketchup'). It distinguishes itself from sibling tools that focus on CAD operations like creating components or manipulating geometry, making it uniquely about code execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, risks, or typical use cases, leaving the agent to infer usage based on the purpose alone. No explicit when/when-not or alternative tools are referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_sceneC

Export the current scene

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoskp

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but provides minimal behavioral insight. It states the action but doesn't disclose if this is a read-only operation, what permissions are needed, whether it modifies the scene, what the output entails (e.g., file creation), or any rate limits. This is inadequate for a tool that likely generates external output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence, 'Export the current scene', which is front-loaded and wastes no words. It directly states the purpose without unnecessary elaboration, earning full marks for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool likely performs an export operation (implying file output or data generation), the description is incomplete. With no annotations, no output schema, and minimal behavioral details, it fails to address key aspects like what 'export' produces, where it goes, or how it interacts with the scene. This leaves significant gaps for an AI agent to understand the tool's full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description doesn't mention parameters, but with only one optional parameter ('format') and 0% schema description coverage, the baseline is high. Since there are zero required parameters, the tool can be used without specifying inputs, making the lack of parameter details less critical. The description doesn't add meaning beyond the schema, but the minimal parameter burden justifies a score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Export the current scene' clearly states the action (export) and target (current scene), but it's somewhat vague about what 'scene' means in this context and doesn't differentiate from sibling tools like 'create_component' or 'transform_component'. It avoids tautology but lacks specificity about the export's nature or format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an open scene), exclusions, or related tools for other operations like 'get_selection' or 'set_material'. Usage is implied only by the action itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_selectionB

Get currently selected components

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral information. It states what the tool does but doesn't disclose important traits like whether it's read-only (implied by 'Get' but not explicit), what format the selection data returns, error conditions, or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose with no wasted words. It's appropriately sized for a simple zero-parameter tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and zero parameters, the description is insufficiently complete. It doesn't explain what 'components' refers to in this context, what format the selection data returns, or whether this tool interacts with other sibling tools that manipulate components.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, which is correct for this context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and target ('currently selected components'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'create_component' or 'transform_component' beyond the obvious difference in operation type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing components selected first), context for usage, or comparison with other tools that might retrieve component information differently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_materialC

Set material for a component

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
materialYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation ('Set'), but fails to describe critical traits such as required permissions, whether the operation is reversible, potential side effects (e.g., if it affects other components), or error handling. This is a significant gap for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It is appropriately sized for a simple tool and front-loaded with the core action, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a mutation tool with no annotations, no output schema, and 0% schema coverage), the description is incomplete. It lacks details on behavior, parameter usage, and expected outcomes, which are essential for an agent to invoke the tool correctly. The conciseness does not compensate for these substantive gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It mentions 'material for a component', which hints at the 'material' parameter's purpose, but provides no details on format, constraints, or examples. The 'id' parameter is entirely undocumented. With two required parameters and no schema descriptions, the description adds minimal value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('Set') and resource ('material for a component'), which provides a basic understanding of the tool's function. However, it lacks specificity about what 'material' means in this context (e.g., physical properties, visual appearance, or structural attributes) and doesn't distinguish it from sibling tools like 'transform_component' or 'create_component', which might also involve material-related operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., whether the component must exist), exclusions, or comparisons to sibling tools like 'create_component' (which might set initial material) or 'transform_component' (which might modify other properties). This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transform_componentC

Transform a component's position, rotation, or scale

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
positionNo
rotationNo
scaleNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation operation ('Transform') but fails to specify critical details such as required permissions, whether changes are reversible, potential side effects, or response format. This is inadequate for a tool that modifies data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and resources without any wasted words. It's appropriately sized for the tool's complexity, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's mutation nature, 4 parameters with 0% schema coverage, and no output schema or annotations, the description is incomplete. It lacks details on behavior, parameter usage, and expected outcomes, which are essential for safe and effective tool invocation in this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It lists the updatable fields (position, rotation, scale) and implies an 'id' parameter, but doesn't explain their formats (e.g., arrays as vectors), constraints, or interactions. This adds minimal value beyond the schema's property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Transform') and the resource ('a component's position, rotation, or scale'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'create_component' or 'delete_component' beyond the transformation aspect, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing component), exclusions, or comparisons to sibling tools like 'create_component' or 'set_material', leaving the agent without contextual usage cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedcreate_component
    • First observedcreate_dovetail
    • First observedcreate_finger_joint
    • First observedcreate_mortise_tenon
    • First observeddelete_component
    • First observedeval_ruby
    • First observedexport_scene
    • First observedget_selection
    • First observedset_material
    • First observedtransform_component

TDQS

B3.2/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes, but the four joint creation tools (create_dovetail, create_finger_joint, create_mortise_tenon) could be confusing as they all create joints between components with only subtle differences in joint type. Other tools like create_component, delete_component, and transform_component are clearly distinct.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, such as create_component, delete_component, and export_scene. There are no deviations in naming style, making the set predictable and easy to understand.

Tool Count5/5

With 10 tools, this is well-scoped for a Sketchup integration server. The count covers core operations like component management, joint creation, and scene export without being overwhelming, fitting typical MCP server ranges.

Completeness4/5

The tool set covers key Sketchup operations including component CRUD (create, delete, transform), joint creation, selection, material setting, and scene export. A minor gap is the lack of a tool to update component properties beyond transformation, but agents can work around this using existing tools like eval_ruby.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Connects Sketchup to Claude AI through the Model Context Protocol, allowing Claude to directly interact with and control Sketchup for prompt-assisted 3D modeling and scene manipulation.
    10
    409
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables direct interaction and control of SketchUp through Claude AI using the Model Context Protocol and a TCP socket connection. It allows for prompt-assisted 3D modeling, component manipulation, and the execution of arbitrary Ruby code within the SketchUp environment.
    10
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Connects SketchUp to Claude AI through the Model Context Protocol, enabling prompt-assisted 3D modeling, scene manipulation, and woodworking joinery operations.
    22
    18
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects Claude AI to SketchUp, allowing you to create and modify 3D models via natural language commands.
    21
    7
    MIT