Replicate a signal to the SERVER
replicate-signalFires a Roblox signal to the server with full network replication after verifying it is replicable, enabling authorized server-side effect testing. Refuses non-replicable signals.
Instructions
MUTATES SERVER STATE — DANGEROUS. Invokes replicatesignal(signal, ...) to fire the event with full network REPLICATION, so the event is delivered to the SERVER and can have real, authoritative server-side effects (unlike fire-signal, which is local only). Only some signals are replicable; this tool first checks cansignalreplicate(signal) and refuses to fire if it returns false. Use this ONLY for authorized testing of a game you own/control — firing replicated signals on other games may violate their rules. Requires the executor's replicatesignal; degrades with a clear { error } if unavailable. Returns { Signal, Instance?, Replicated, ArgCount } or { error }. Signature: { instancePath: string, signalName: any?, args: {{ kind: "string" | "number" | "boolean" | "nil" | "instance" | "raw", value: string | number | boolean? }}?, threadContext: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, resolved-target, explicit-mutation-approval. Capabilities: getconnections, firesignal. Produces: structured-result. Verify with: assert-state. Safety: MUTATING; writes live game/client state. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Ordered list of arguments to replicate with the event, mirroring the real arguments the server expects for this signal. Omit or pass [] to replicate with no arguments. | |
| signalName | No | Name of the RBXScriptSignal member on the instance (e.g. 'OnClientEvent'). Leave empty/omit if instancePath already evaluates to the signal. | |
| instancePath | Yes | Lua expression resolving to the Instance that owns the signal (e.g. 'game.ReplicatedStorage.RemoteEvent'). Evaluated as `return <instancePath>`. Leave signalName empty if this expression already resolves to the signal itself. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |