Skip to content

v1.1.35

Choose a tag to compare

@db-lyon db-lyon released this 30 Jul 16:14

v1.1.35

Epic's toolsets that ue-mcp has no native handlers for now get real categories instead of sitting in the epic umbrella, three shipped-but-uncallable handlers are reachable, and both repo audits stop reporting noise.

Server

  • dataflow and conversation are real categories. 29 tools sat under epic because ue-mcp happened to have no C++ handlers behind them, which is a fact about our surface and not about the domain an agent is working in. dataflow (22 tools: node and pin authoring, variables, comment boxes, templates, Dataflow-compatible asset creation) and conversation (7 tools: UConversationDatabase dialogue nodes, connections, speakers, entry points) are now categories an agent reaches for directly. They are materialised during enrichment rather than declared as stubs, so on an engine that does not ship the toolset the category is simply absent instead of advertising an empty action list.

  • PhysicsAsset tools moved to gameplay. The generic asset routing rule was swallowing them by substring: PhysicsAssetToolset contains assettools. Their 17 tools (bodies, sphere/capsule/box shapes, constraints, mass scale, create-from-mesh) now land alongside the native collision and simulation actions.

  • The epic umbrella keeps only what belongs to the registry itself: agent skills and programmatic tool batching, 6 tools. Its description now says that, and points at the domain categories, instead of reading as a leftovers bin.

Bug fixes

  • Three C++ handlers shipped but no client could call them. Each had a distinct handler function with no other name exposing it. demo(get_steps) lists all 19 demo steps with index, id and description. asset(diff) is the type-agnostic diff entry point, dispatching on asset class and returning a clear unsupported-type message rather than failing opaquely. asset(unlock_all) releases every lock held by a session, the recovery path when a crashed session leaves assets wedged.

  • The asset lock actions were unusable across processes. sessionId and ttlSeconds were forwarded to the bridge but never declared in the schema, so a caller could not actually set them.

  • epic_* actions were missing from the unknown-action error. Category tools reported their construction-time action list, which omits every action injected by Epic enrichment, sending agents hunting for actions the tool already had.

Internals

  • Both repo audits were mostly reporting their own parser bugs: 27 of 30 findings were false. audit-handlers matched action descriptions with "[^"]*", so any description containing an escaped quote looked like an unbridged handler, and it counted deliberate alias spellings (add_instances alongside add_hismc_instances) as gaps rather than resolving them through their shared handler function. audit-params split on a sentence dot followed by whitespace, so a description ending Params: assetPath. kept the period on the token and silently dropped the last parameter of every such action. Param drift is now 0 and unreachable handlers are 0, with alias spellings reported separately.

  • gen-epic-docs derived its category list from a hardcoded array that had already rotted. Tools routed to reflection, plugins, editor and project were documented under epic. It now derives from the live tool list plus the routing table, so the class of bug cannot recur.