Skip to content

VaMMCP 1.0.0

Choose a tag to compare

@Rorical Rorical released this 20 Aug 13:57
· 3 commits to main since this release

First public release: an MCP server that lives inside Virt-A-Mate as a BepInEx plugin.

Added

  • Streamable HTTP MCP transport (spec 2025-06-18) served from inside the VaM process, targeting net35.
  • 63 tools covering scenes, atoms, persons, morphs, clothing, hair, poses, expressions, bone
    controls, camera, simulation, Hub browsing/downloads, skin subsurface colour and VaM plugin
    management (see docs/TOOLS.md).
  • Generic JSONStorable introspection (list_atom_storables, list_storable_params, get_param,
    set_param, call_action) so any VaM UI slider is reachable without a dedicated tool.
  • Preset export/import, .var package asset scanning, and native plugin management.
  • eval_cs escape hatch, disabled by default.
  • MCP resources: vam://status and vam://atoms.
  • capture_view can return the rendered PNG inline as an MCP image with return_image=true.

Security

  • The HTTP listener binds to loopback only and validates the Origin header (DNS-rebinding
    protection); CORS echoes only an already-validated loopback origin instead of *.
  • Concurrent connections are capped and request sizes are bounded.

Install: drop VaMMCP.dll into <VaM>\BepInEx\plugins\ (BepInEx 5.4.x x64
required), start VaM, then point your MCP client at http://127.0.0.1:9837/mcp.