Skip to main content
Glama
okenjioxx

Roblox Executor MCP Server

by okenjioxx

cache.invalidate — drop an instance from the executor's instance cache

cache-invalidate
Destructive

Clear a Roblox Instance from the executor's cache so the next lookup returns a fresh reference, allowing de-synced edits to go unnoticed.

Instructions

Invalidate the executor's cached reference to a single Instance via cache.invalidate(inst). After invalidation the next time the game indexes that instance it receives a FRESH reference rather than the cached one — the classic technique for de-syncing a server-trusted object so your subsequent edits to the cached copy go unnoticed, or for forcing the executor to re-wrap a part you have been tampering with. The target is resolved from a Luau path/expression via loadstring('return ' .. expr). Requires the cache library (type(cache)=='table') with cache.invalidate — both are type-guarded and the call is pcall-wrapped, returning { error } when missing or on failure. Mutates live executor state. Returns { ok } or { error }. Signature: { instancePath: string, threadContext: number?, timeoutMs: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, resolved-target, explicit-mutation-approval. 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

TableJSON Schema
NameRequiredDescriptionDefault
timeoutMsNoOptional per-call deadline in milliseconds; omit it to use the tool or server default.
instancePathYesLuau path/expression resolving to the Instance to invalidate, e.g. 'game.Workspace.Boss' or 'game.Players.LocalPlayer.Character.HumanoidRootPart'. Evaluated as `return <expression>`.
threadContextNoOptional Roblox thread identity for this call; omit it to use the server default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0-spies.2

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the loadstring-based target resolution, the type-guarded cache-library requirement, the pcall wrapping, and the { ok } / { error } return shape on failure. It also restates the mutating/live-state nature in prose, consistent with destructiveHint=true and readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded and the technique/rationale is genuinely useful, but the trailing metadata block (Phase/cost/idempotency/Requires/Produces/Verify with/Safety/On failure) is dense boilerplate that partly restates the annotations and schema. Slightly over-stuffed but well ordered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating, non-idempotent tool with no output schema, the description covers prerequisites (cache library), failure semantics, mutation warning, and the return contract { ok } / { error }, so an agent has everything needed to invoke and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (instancePath, threadContext, timeoutMs) are already documented in the schema, including the 'return <expression>' evaluation. The description's signature recap and loadstring note add no meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: invalidating the executor's cached reference to a single Instance via cache.invalidate(inst), and clarifies the effect (next index returns a FRESH reference). This is functionally distinct from the other cache-* siblings (cache-is-cached, cache-replace) and an agent can tell what it does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear use cases ('de-syncing a server-trusted object so your subsequent edits go unnoticed', 'forcing the executor to re-wrap a part you have been tampering with') plus prerequisites and verification guidance. It does not, however, explicitly name or exclude alternatives such as cache-replace or cache-is-cached, so the when-vs-which guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools