mcp-tool-scaffolding

mcp-tool-scaffolding is a skill for Claude Code from jenkinsm13/metashape-mcp. It costs 44 tokens per session (1,128 once invoked), scanned A, original, MIT.

A template and checklist for adding a new tool to a Metashape MCP server, a service that lets an AI call Metashape functions.

In plain words
What is it for?
It guides developers when creating or extending tool modules, including how tools access projects, report progress, and return results.
Why use it?
It reduces errors from missing imports, registration code, progress reporting, prerequisite checks, or automatic saving.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the metashape-mcp plugin — 12 skills, 8 agents, 2 hooks, 1 MCP server shipped together

Good fit It guides developers when creating or extending tool modules, including how tools access projects, report progress, and return results.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jenkinsm13/metashape-mcp --skill mcp-tool-scaffolding
Clone the repo
git clone --depth 1 https://github.com/jenkinsm13/metashape-mcp

Made for: Claude Code.

Or install metashape-mcp, the plugin that ships this one along with the rest of its 12 skills, 8 agents, 2 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mcp-tool-scaffolding

README.md
[![agentmods](https://agentmods.dev/badge/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding/github.svg)](https://agentmods.dev/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding)
Your own site
<a href="https://agentmods.dev/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding"><img src="https://agentmods.dev/badge/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mcp-tool-scaffolding

Your own site · 80×15
<a href="https://agentmods.dev/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding"><img src="https://agentmods.dev/badge/skills/jenkinsm13/metashape-mcp/mcp-tool-scaffolding.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,128 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00044 $0.01128
Opus 5 $0.00022 $0.00564
Sonnet 5 $0.00009 $0.00226
Haiku 4.5 $0.00004 $0.00113

Measured 12d ago against content hash 5fa95bb91fc9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

mcp-tool-scaffolding scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/mcp-tool-scaffolding/SKILL.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

MCP Tool Scaffolding

Generate a new Metashape MCP tool module or add a tool to an existing module, following all project conventions.

Module Template

Every tool module follows this exact pattern:

"""[Module description] tools."""

import Metashape

from metashape_mcp.utils.bridge import auto_save, get_chunk, get_document
from metashape_mcp.utils.enums import resolve_enum
from metashape_mcp.utils.progress import make_tracking_callback


def register(mcp) -> None:
    """Register [module] tools."""

    @mcp.tool()
    def tool_name(
        param1: str = "default",
        param2: int = 1,
    ) -> dict:
        """One-line description of what this tool does.

        Longer explanation if needed. Mention prerequisites
        (e.g., "Run match_photos first.").

        Args:
            param1: Description of param1.
            param2: Description of param2.

        Returns:
            Description of return dict fields.
        """
        chunk = get_chunk()
        # Or: doc = get_document()

        # Prerequisite checks (import from bridge as needed):
        # require_tie_points(chunk)
        # require_model(chunk)
        # require_depth_maps(chunk)
        # require_point_cloud(chunk)

        # Resolve enums for Metashape API parameters:
        # resolved = resolve_enum("category", param1)

        # Progress callback for long operations:
        cb = make_tracking_callback("Operation name")

        # Call Metashape API:
        chunk.someMethod(
            param1=param1,
            param2=param2,
            progress=cb,
        )

        # Always auto-save after state-mutating operations:
        auto_save()

        return {
            "status": "operation_complete",
            "key_metric": some_value,
        }

Conventions Checklist

Before writing a tool, verify ALL of these:

  1. Synchronous only — NO async def. All tools are plain def. Metashape API is not thread-safe.
  2. No Context parameter — Never import or use from mcp.server.fastmcp import Context.
  3. Use get_chunk() / get_document() — Never access Metashape.app.document directly.
  4. Use resolve_enum() — For all Metashape enum parameters. Check utils/enums.py for existing mappings, add new ones there.
  5. Use make_tracking_callback() — For any operation that takes a progress parameter.
  6. Call auto_save() — After every state-mutating operation. Import from utils.bridge.
  7. Use prerequisite helpersrequire_tie_points(), require_model(), require_depth_maps(), require_point_cloud() before operations that need them.
  8. Return dicts — All tools return dict (or list[dict]). Include actionable metrics.
  9. Hardcode sensible defaults — Match Metashape's best-practice defaults, not necessarily API defaults (e.g., keep_keypoints=True overrides Metashape's False).
  10. Module size — Keep each module under 200 lines. Split into new module if needed.

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 149 lines · 44 tokens per session scan A 5fa95bb91fc9

Subscribe to this mod's changes

mcp-tool-scaffolding is a skill published in the GitHub repository jenkinsm13/metashape-mcp (34 stars, last pushed 4mo ago), licensed MIT. It adds 44 tokens to every session and 1,128 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

3dgs-mcp-renderer

MCP protocol integration with 3DGS rendering pipeline: Agent-controlled Three.js/WebGPU rendering, voice-driven scene reconstruction, real-time parameter manipulation, light tracing backend. Use when: MCP rendering, agent-controlled 3DGS, voice-driven reconstruction, real-time 3DGS editing, Three.js 3DGS, WebGPU…

jaccen/Awesome-Gaussian-Skills · 98 tokens

3dgs-training-debugger

Diagnose and fix 3DGS training-time failures: NaN losses, OOM crashes, divergent optimization, floater artifacts, densification failures, hyperparameter sensitivity. Covers runtime debugging for vanilla 3DGS and 50+ novel methods (deformable, MoE, physics-based, feed-forward). Detects 60 runtime failure patterns. Use…

jaccen/Awesome-Gaussian-Skills · 140 tokens

cad-mesh-3dgs

Bridge CAD, Mesh, and 3DGS representations via the SLAT unified encode-decode framework. Covers mesh↔3DGS conversion, surface extraction, CAD reverse engineering, B-rep/parametric reconstruction, NL-driven assembly, TetSphere physics bridge, PBR material generation. Analyzes 40+ methods. Use when: converting mesh…

jaccen/Awesome-Gaussian-Skills · 140 tokens

3dgs-compression-deploy

3DGS compression-to-deployment pipeline: quantization (scalar/VQ/mixed-precision), pruning (coreset/adaptive/variational/merge/Bayesian), progressive streaming & LoD, Web/WebGPU/mobile deployment, hardware acceleration (Tensor Core/GEMM/FPGA/ASIC), training-free semantic compression. Covers 53+ methods across 6…

jaccen/Awesome-Gaussian-Skills · 145 tokens

3dgs-experiment-planner

Design rigorous experiments for 3DGS research papers. Recommends datasets, baselines, metrics, ablation matrices. Targets CVPR/ICCV/ECCV/SIGGRAPH/TVCG. Use when: designing experiments for a 3DGS paper, selecting datasets/baselines/metrics, planning ablation studies, addressing reviewer concerns on experiments…

jaccen/Awesome-Gaussian-Skills · 96 tokens

3dgs-spatial-agent

3DGS/CAD/Mesh domain-specific spatial intelligence agent: scene-level reasoning, CAD-in-the-loop parametric extraction, multi-modal 3D interaction, geometry-opacity decoupling, reflective material handling. Use when: 3D scene understanding, object part reasoning, CAD extraction from 3DGS, parametric model from…

jaccen/Awesome-Gaussian-Skills · 115 tokens