MCP server for ProtoFlux node creation, manipulation, and querying in FrooxEngine/Resonite environments
FluxMcp has mixed definition quality. Strengths: Most tools have descriptions and clear naming patterns (verb_noun structure like tryConnect, createNode, deleteNode). Tools follow logical grouping. Weaknesses: Input schemas are present but sparse, many parameters lack type information or detailed constraints. Enum constraints for connectionType are documented in description text rather than schema enums. Output schemas are undocumented, critical for a visual/node-graph tool where users need to understand returned node structures. Error handling lacks recovery guidance. Test tools (returnString, returnWorldElement) have minimal descriptions unsuitable for production.
Creates a new node with the specified name and type. For generic types, use specific types like <float>, <int>, <bool>, <float3>, <color> instead of <T>. Use searchNodeType to find valid node types. Dimension of position: (Right, Up, Forward).
Deletes the specified node.
Finds a node by its reference ID.
Get all ProtoFlux node categories.
Gets the current value of an input node. Use this to read values from input nodes like ValueInput<T>.
Gets specified node connection element or list by type and index. connectionType values: Input, Output, Impulse, Operation, Reference, InputList, OutputList, ImpulseList, OperationList, GlobalRef, GlobalRefList
Gets information about an element by its RefID.
Output schemas undocumented. Agents cannot plan downstream calls or extract required fields from node responses. Critical for composition where getNode output must feed into tryConnect or deleteNode.
connectionType enum is documented only in description text ('Input, Output, Impulse...'), not in JSON Schema. LLM cannot parse the constraint machine-readably and may pass invalid values like 'ConnectionInput' or 'input'.
Test tools (returnString, returnWorldElement) have descriptions under 20 characters ('Test tool that returns a string'). These are not production-grade and should be removed or documented as test-only.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 57 | - | v1 |
List ProtoFlux nodes in category (e.g. Math, Actions, Actions/IndirectActions). Use this to browse available node types in a specific category.
Test tool that returns a simple string
Test tool that returns a world element
Search for ProtoFlux nodes across all categories. Use this to find nodes by name or functionality. Ideal for discovering available node types when you're not sure of the exact name.
Sets the value of an input node. Automatically handles type conversion for basic types like float, int, bool, and vectors. Use this to configure input nodes with specific values.
Attempts to connect a node's connection by type and index to a target node. connectionType values: Input, Output, Impulse, Operation, Reference, InputList, OutputList, ImpulseList, OperationList, GlobalRef, GlobalRefList
deleteNode lacks explanation of irreversibility and destructive consequences. No confirmation step documented. Agents need explicit warning that this is a DESTRUCTIVE operation with no undo.
Error handling not visible in tool definitions. No recovery guidance, no categorization of errors as retryable vs. fatal. If tryConnect fails due to type mismatch, agent has no guidance on how to correct it.
searchNodeType accepts maxItems and skip for pagination but does not document return structure, total count, or next_cursor. Agents cannot know whether results are complete or if another call is needed.
Parameter descriptions lack format/constraint details. E.g., 'nodeRefId' should specify format ('a string in format ID<hex>' based on test code), not just 'The reference ID of the source node'.