# variant_pack

Generate N perturbed variants around an anchor parameter look and write the whole pack to the Obsidian vault as a morph_pack-compatible JSON. Probes the target COMP

Agent View of the PolicyLayer registry record for `variant_pack`. HTML page: https://policylayer.com/tools/io-github-pantani-tdmcp/variant-pack

## Facts

- Tool: `variant_pack`
- Server: tdmcp — TouchDesigner MCP server (`@dpantani/tdmcp`) — https://policylayer.com/tools/io-github-pantani-tdmcp.md
- Install: `npx -y @dpantani/tdmcp`
- Homepage: https://github.com/Pantani/tdmcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "variant_pack",
    "arguments": {}
  }
}
```

## Why variant_pack is rated Medium

The tool creates multiple perturbed variants (generative/transformative operation) and explicitly writes them to persistent storage (Obsidian vault). This is a Write operation—it modifies the state of the vault by adding new JSON data structures. While it has some Read characteristics (probing the target component), the primary intent and effect is to create and persist new data.

From the tool's own definition: "Tool generates and writes 'the whole pack to the Obsidian vault as...JSON' and 'Probes the target COMP', indicating data creation and modification operations that persist to storage."

## Use case

AI agents use variant_pack to create or update resources in tdmcp — TouchDesigner MCP server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your tdmcp — TouchDesigner MCP server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches tdmcp — TouchDesigner MCP server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "variant_pack": {
      "limits": [
        {
          "counter": "variant_pack_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on tdmcp — TouchDesigner MCP server (333)

- `delete_td_node` — Destructive — https://policylayer.com/tools/io-github-pantani-tdmcp/delete-td-node.md
- `manage_checkpoint` — Destructive — https://policylayer.com/tools/io-github-pantani-tdmcp/manage-checkpoint.md
- `refresh_asset_previews` — Destructive — https://policylayer.com/tools/io-github-pantani-tdmcp/refresh-asset-previews.md
- `repair_network` — Destructive — https://policylayer.com/tools/io-github-pantani-tdmcp/repair-network.md
- `apply_glsl_top_mapping` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/apply-glsl-top-mapping.md
- `audio_fingerprint_to_visual` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/audio-fingerprint-to-visual.md
- `auto_repair_loop` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/auto-repair-loop.md
- `batch_operations` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/batch-operations.md
- `build_chop_chain` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/build-chop-chain.md
- `build_pop_chain` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/build-pop-chain.md
- `build_sop_geometry` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/build-sop-geometry.md
- `connect_daydream_cloud` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/connect-daydream-cloud.md
- `control_timeline_transport` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/control-timeline-transport.md
- `create_ai_mirror` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-ai-mirror.md
- `create_body_bubbles` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-body-bubbles.md
- `create_cue_sequencer` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-cue-sequencer.md
- `create_depth_pop_field` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-depth-pop-field.md
- `create_energy_structure` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-energy-structure.md
- `create_engine_comp` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-engine-comp.md
- `create_gpu_particle_field` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-gpu-particle-field.md
- `create_growth_system` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-growth-system.md
- `create_interactive_projection_mapping` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-interactive-projection-mapping.md
- `create_led_mapper` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-led-mapper.md
- `create_llm_chain` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-llm-chain.md
- `create_panic` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-panic.md
- `create_particle_flock` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-particle-flock.md
- `create_phrase_locked_cue_engine` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-phrase-locked-cue-engine.md
- `create_sdf_field` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-sdf-field.md
- `create_set_navigator` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-set-navigator.md
- `create_setlist_runner` — Execute — https://policylayer.com/tools/io-github-pantani-tdmcp/create-setlist-runner.md
- …and 303 more: https://policylayer.com/tools/io-github-pantani-tdmcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-pantani-tdmcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-pantani-tdmcp
