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.
npx skills add dcc-mcp/dcc-mcp-houdini --skill houdini-geometrygit clone --depth 1 https://github.com/dcc-mcp/dcc-mcp-houdiniWrote 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.
[](https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-geometry)<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-geometry"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-geometry/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.
<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-geometry"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-geometry.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.00778 |
| Opus 5 | $0.00034 | $0.00389 |
| Sonnet 5 | $0.00014 | $0.00156 |
| Haiku 4.5 | $0.00007 | $0.00078 |
Grade A, and why
houdini-geometry 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.
houdini-geometry
Typed SOP creation and inspection tools for agents. All tools are affinity: main because they call hou. Prefer these over
houdini-scripting.execute_python for seeding and querying geometry.
Tool groups
geometry-create:create_primitive(box/sphere/grid/tube/curve/null/output) andcreate_curve_guides(bounded inline JSON or JSON-file polyline/NURBS guide topology).geometry-query(read-only except cook):get_geometry_info,list_attributes,get_attribute_values,get_primitive_intrinsics,get_primitive_topology,list_groups,get_cook_status.
get_attribute_values supports point, primitive, vertex (linear index), and
detail classes. Use next_offset to page through at most 128 elements per call.
Each value is bounded to 64 items and 1024 serialized characters and reports
truncation. get_primitive_intrinsics reads up to 32 named properties, including
packed transforms and bounds. These calls may trigger the SOP's normal cook to
obtain geometry, but never change geometry or write files.
get_primitive_topology reads up to 32 primitives and 128 ordered point references
per primitive. next_offset pages primitives; vertices_truncated marks incomplete
vertex lists. Closure is null for primitive types without a closure query. This
is an inspection primitive, not a manifoldness or full-mesh validation result.
Tracer-bullet flow
create_primitive(parent_path="/obj/geo1", primitive="box")get_geometry_info→ counts and bounds- edit with
houdini-mesh-ops(transform/merge/blast/group/normal/convert) get_cook_status→ verify no cook errors
get_cook_status is async with a timeout hint because heavy SOP graphs can
cook slowly.
For guide authoring, pass exactly one of guides or input_file. Each guide
declares root-to-tip cvs, guide_id, and cluster_id; optional per-CV
widths/colors and cluster_name become typed Houdini attributes. The tool
validates the whole bounded payload before creating a Stash SOP and returns the
source SHA-256 (for files), enforced limits, counts, bounds, schema, and any
rejected-guide diagnostics. It never evaluates Python or VEX from the payload.
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/_geo_common.py 2.1 KB runs code
- scripts/create_curve_guides.py 12 KB runs code
- scripts/create_primitive.py 1.8 KB runs code
- scripts/get_attribute_values.py 2.8 KB runs code
- scripts/get_cook_status.py 1.4 KB runs code
- scripts/get_geometry_info.py 1.8 KB runs code
- scripts/get_primitive_intrinsics.py 2.2 KB runs code
- scripts/get_primitive_topology.py 2.2 KB runs code
- scripts/list_attributes.py 1.4 KB runs code
- scripts/list_groups.py 1.3 KB runs code
- tools.yaml 9.6 KB
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.
- today Changed · +5 lines 7c0c9facd023
- 3d ago Changed · +8 lines · +7 tokens per session 24163d85e745
- 11d ago First seen · 52 lines · 62 tokens per session scan A 58229b02b478
houdini-geometry is a skill published in the GitHub repository dcc-mcp/dcc-mcp-houdini (12 stars, last pushed yesterday), licensed MIT. It adds 69 tokens to every session and 778 once invoked, about $0.0003 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.
Other skills, from other repositories
maya-render
Pipeline stage — render globals, final-frame rendering, and viewport capture: configure render settings, query them, render frames, capture playblasts. Use for producing final or preview imagery. Not for modeling (maya-mesh-ops), animation editing (maya-animation), generic file import/export (maya-geometry), or render…
maya-scripting
Bootstrap stage — escape hatch for Maya work that has no packaged skill yet. Agents should prefer searchskills / dcccapabilitymanifest → loadskill → typed tools (inputSchema + annotations) from domain skills; use executepython or executemel only when no skill matches, for bulk in-process loops, or for API…
dcc-mcp-core
Foundation library for the DCC Model Context Protocol (MCP) ecosystem. Provides Rust-powered action management, skills system, IPC transport, MCP Streamable HTTP server (2025-03-26 spec, with 2025-06-18 and 2025-11-25 awareness), sandbox security, shared memory, screen capture, USD scene support, and telemetry for…
dcc-mcp-maya-setup
Set up dcc-mcp-maya for an agent or operator: install Maya Python dependencies with mayapy, generate MCP host configuration, guide the user through loading the Maya plugin, and run a first live-tool smoke prompt.
maya-asset-source
Pipeline stage — asset discovery and resolution. Search local asset libraries, resolve paths to structured AssetDescriptor records, and surface candidate assets for downstream import. Use before maya-import-to-scene to locate what to import.
maya-pipeline
Domain skill — Maya asset pipeline orchestration: set up project directory structures, export scenes to USD, and coordinate multi-step DCC workflows. Use when initialising a Maya project or exporting assets for a downstream pipeline. Not for raw geometry editing — use maya-geometry for that. Not for low-level USD file…