AI plugin reference
These processors call a chat model, call tools on another MCP server and keep conversation history.LLM_CALL is in module llm-call, MCP_LIST_TOOLS and MCP_TOOL_CALL in mcp-tool-call, SESSION_MEMORY in session-memory.
All option values support ${...} unless a row says otherwise. Write secrets as decrypted:<key>.
LLM_CALL
Calls a chat model and emits its answer. The node is blocking.
- Output ports:
default, orsuccessandfailurewithrouteByStatus. - Payload:
{success, content, actions, usage{inputTokens, outputTokens}, latencyMs, model, cost?}.actionsholds{tool, arguments, id}entries, also parsed from<agent_action>blocks. Metadata gainsllmSuccess=true. - Budget: the ledger is shared by every
LLM_CALLandMCP_TOOL_CALLnode of the run (a budget withagentcounts that agent apart). The check runs before a call and usage is added after it, so one call can overshoot. When exhausted, the next call fails like a failed call andfailureModeapplies; withhardStop: trueit ends the whole run instead, and nothing retries, drops or routes it. - Default node timeout:
(timeout + 1) * (retries + 1) + 5seconds plus the backoff. - Server settings:
yukta.llm.deny-input-patterns,yukta.llm.deny-output-patterns(lists of regular expressions; a match refuses the call) andyukta.llm.rate-limit.<provider>(requests per minute). See Configuration. - Errors:
messages or prompt is mandatory;messages and/or prompt must yield at least one turn;timeout must be positive, got: <n>;retries must not be negative;allowAskInput must be true or false;routeByStatus requires failureMode: CONTINUE;LLM call failed: <cause>.
MCP_LIST_TOOLS
Lists the tools of a remote MCP server (streamable HTTP) so a model can choose among them.
- Output port:
default. Payload:{tools: [{name, description, inputSchema}], count}, replacing the incoming payload. - Paging: the node follows
nextCursorfor up to 50 pages and fails if the list does not end by then. - Default node timeout:
timeoutplus 5 seconds. - Errors:
url is mandatory;url must be http(s), got: <url>;timeout must be positive, got: <n>.
MCP_TOOL_CALL
Calls a tool on a remote MCP server per message.
- Output ports:
default, orsuccessandfailurewithrouteByStatus. - Payload:
{success, tool, text, content, structured, error}. Metadata gainsmcpSuccess,mcpTool,mcpLatencyMs. - Approval: the wait is an input request of kind
APPROVALand riskHIGH, answered by a person; the decisionrejectrefuses the call, any other approves it. - Control: a control-bus payload
resetdrops the cached MCP sessions. - Default node timeout:
timeoutplus 5 seconds, plusapprovalTimeoutSecondswhenrequireApprovalis set, plus the ask-input wait whenallowAskInputis set. - Server settings:
yukta.mcp-client.max-argument-bytes(default65536) andyukta.mcp-client.deny-argument-patterns(regular expressions). The URL is checked againstyukta.egress.*. - Errors:
url and tool are mandatory;url must be http(s), got: <url>;MCP tool '<tool>' is not in allowedTools [...];arguments must evaluate to a map;allowedTools must be a list of tool names;MCP tool <tool> failed: <error>;routeByStatus requires failureMode: CONTINUE.
SESSION_MEMORY
Chat memory per conversation id and workflow. Needs the control plane. History is per workflow: another workflow that knows the id cannot read it.
- Output port:
default.loadoutputs the payload (an object; other payloads become{input: payload}) plushistory: [{role, content}], and sets metadatasessionId.appendanddeletepass the message through. - Storage: in memory by default and lost on restart;
yukta.session-memory.max-sessions(default10000, least recently used leave first) andyukta.session-memory.ttlapply. Storing state on disk (yukta.session-memory.dir) belongs to the Plus edition; see Licensing. - Errors:
maxTurns must be positive, got: <n>.