GTAV-CLAUDE-MCP
The GTAV-Claude-MCP server lets Claude see, control, and interact with a live GTA V single-player session in real time.
Game Control & Convenience
Spawn vehicles by model name, teleport the player, set weather and time, give weapons, repair vehicles, toggle god mode, set player health, and set wanted level (0–5 stars)
Native Function Access (~6,700 Natives)
Search natives by name/description, get parameter/return type info, call natives by name or hash (allowlist-enforced), and list available namespaces (VEHICLE, PLAYER, PED, WEAPON, ENTITY, CAM, etc.)
Situational Awareness
Check connection/game state, get game version, check if player is in a vehicle, get detailed vehicle info (model, plate, wheel pointers), and get the player ped handle
Memory Reading & Reverse Engineering
Read/write typed values (byte, int, float, double, ptr) at arbitrary addresses with page-protection safety and undo support
Snapshot and diff memory regions to find changed offsets, watch multiple addresses over time, scan for byte patterns (AOB with wildcards), resolve RIP-relative addresses, and scan structures for floats in a range
Vehicle Wheel Modding
Get/set wheel fields (camber, track width, tyre/rim radius, tyre width), apply continuous per-frame writes to resist physics resets, probe wheel array and DrawHandler pointer chains, find and set visual wheel size/width, and cache discovered offsets for reuse
In-Game Communication
Post messages to an in-game chat panel, ask questions and await typed user responses (F10), non-blockingly check for pending messages, update an in-game overlay with Claude's current status, and retrieve full chat history
Safety & Diagnostics
View the undo stack of recent memory writes, retrieve crash logs with write-ahead log of the last operation, list/clear snapshots, and enforce native hash allowlists (bad hashes are refused, not called)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GTAV-CLAUDE-MCPspawn an adder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GTAV-Claude-MCP — Talk to Claude inside GTA V
Let Claude see and safely act in a live GTA V game — spawn vehicles, change weather/time, call any of ~6,700 game natives, and read/write vehicle memory (e.g. a wheel-fitment mod) — and chat with Claude from inside the game (press F10), with replies rendered in an in-game panel.
Single-player only. This is a memory-editing/modding tool; never use it in GTA Online.
Credit: if you use, fork, or build on this, please credit TabbedScamper and link back to this repo (https://github.com/TabbedScamper/GTAV-CLAUDE-MCP). See Credits.
⚡ Quick start
Install ScriptHookV + ScriptHookVDotNet 3 (nightly) in your GTA V folder.
Run
install.bat(auto-finds your game folder, drops the bridge inscripts\).Launch GTA V (story mode). Press F11 for the Claude panel, F10 to chat.
For autonomous replies, run the host:
run_host.bat(or buildClaudeHost.exeviabuild_host_exe.batso players need no Python). The host uses yourclaudelogin — no API key.
👉 Every command the bridge supports is documented in TOOLS.md.
Related MCP server: UE5 MCP Server
How it works
The in-game half is now a single C# SHVDN script (ClaudeBridge.dll) — works on GTA V
Legacy and Enhanced, no PyLoaderV. The "brain" runs PC-side and talks to it over a socket.
You (in-game, press F10) F11 = chat panel (status: thinking / ready / offline)
│ message
▼
ClaudeBridge.dll ───────────────► ClaudeHost.exe / gtav_host.py ──────► Claude (Agent SDK)
(C# SHVDN; Legacy + Enhanced) long-poll await_user_message owns the │ game tools via MCP
natives · memory r/w · patch · session ▼
decode · profiler · chat panel mcp_server/server.py
▲ reply (chat_post → panel) │ TCP :27015, JSON
└─────────────────────────────────────────────────── ClaudeBridge.dllgtav_host.pydrives Claude via the Claude Agent SDK (reuses yourclaudelogin — no API key, no terminal, no focus stealing). It long-polls the bridge for your F10 messages, queries Claude, and streams replies into the in-game panel's shared memory. It's also crash-aware: as a separate process from GTA, it detects a game crash and reports the last operation from the on-disk write-ahead log.mcp_server/server.pyexposes the game as MCP tools to Claude.pyscript/bridge.pyruns inside GTA V (PyLoaderV) and does the actual memory access — with a verified-hash allowlist so Claude can call natives by name without crashing on a bad hash.ui_companion/is a ScriptHookVDotNet + LemonUI panel that renders the chat in-game.
Prerequisites
In your GTA V install:
PyLoaderV 0.6 (ships an embedded Python 3.12 for the bridge)
ScriptHookVDotNet (for the in-game panel)
On your PC (for the host):
Python 3.10+ (tested on 3.14)
A Claude subscription, logged in once via
claude /login(the host reuses it)
Setup
Full step-by-step walkthrough: INSTALL.md. Quick version:
# 1. Python deps — put the venv OUTSIDE this folder (Dropbox/Git sync over a venv corrupts it)
python -m venv C:\Users\%USERNAME%\GTAV-Claude-MCP-venv
setx GTAV_MCP_PYTHON C:\Users\%USERNAME%\GTAV-Claude-MCP-venv\Scripts\python.exe
"C:\Users\%USERNAME%\GTAV-Claude-MCP-venv\Scripts\pip" install -r requirements.txt
# (open a NEW terminal after setx so GTAV_MCP_PYTHON takes effect — .mcp.json reads it)
# 2. Log in to Claude once (no API key needed)
claude /login
# 3. Copy the runtime files into your GTA V install (auto-detects Steam/Epic/Rockstar)
powershell -ExecutionPolicy Bypass -File deploy.ps1
# ...or: deploy.ps1 -GtaPath "X:\...\Grand Theft Auto V"deploy.ps1 copies bridge.py + native_db.json into <GTA>\pyscript\ and the prebuilt
ClaudeChatUI.dll + LemonUI.SHVDN3.dll into <GTA>\scripts\.
Run
Launch GTA V (story mode), press F9 to load the Python bridge.
Run
run_host.bat— it prints "Connected to Claude. Ready." (the in-game panel, F11, shows the same).Press F10 in-game and chat. Try:
spawn an adder·set thunder weather and midnight·god mode on, give me a minigun.
See TESTING.md for the full first-run checklist and smoke tests.
What Claude can do
Situational awareness:
get_contextreads a full live snapshot (location, vehicle + class/ plate/engine, speed, weapon + ammo, activity flags, time/weather, wanted level, health, game state) in one ~30ms call. The host pulls it on every message and trims to what's relevant to that message — e.g. "in a ADDER (112 mph), in VINEWOOD, 21:45, THUNDER, wanted 3★, weapon CARBINERIFLE x90, (sprinting, shooting)" for a combat message — so replies are aware without bloating the conversation. Claude can also callget_context(detail="full")on demand.Convenience tools:
spawn_vehicle,teleport,set_weather,set_time,give_weapon,repair_vehicle,get_player_ped,set_invincible,set_health,set_wanted_level.Any native, safely:
search_natives,native_info, andcall_native(by name). The native is resolved to a verified hash for your edition (Legacy/Enhanced) and refused if not on the allowlist — so a wrong hash can't crash the game. Args are coerced to the declared types.Memory / RE:
read_memory,write_memory(validated + page-protection-safe + undoable, returns before/after + verified),snapshot/diff,watch,scan_pattern(AOB),resolve_rip_relative.Debugging workbench (build/debug anything):
inspect(handle | address)— decode an entity or memory region into labeled, typed slots (float / int / pointer / zero / raw) with entity type + model; follow pointers to walk structs.get_environment— ground truth: edition (Legacy/Enhanced), exe, module base/size, native-DB stats, and which offsets are verified for this build (so it never guesses the ground).set_goal/note_finding/get_findings— a session memory of what you're building and the offsets/labels discovered, persisted across F9 reloads and auto-applied asinspectlabels.
Vehicle wheels:
get_wheel_values,set_wheel_value, continuous per-frame re-assert.
Safety / design
Measure, don't guess — verify offsets on the live game via the bridge.
Never crash the host — validate every address before deref, restore page protection after writes, single-step, snapshot + revert. A wrong native hash is refused, not called.
Single-player only — GTA Online with mods = ban.
Antivirus/EDR note: ScriptHookV/PyLoaderV inject into the game and edit memory, which AV/EDR (and especially enterprise EDR like SentinelOne) may quarantine or block. Use a personal machine and add the GTA folder to your AV exclusions if needed.
Known wheel offsets (Legacy, verified)
Field | Offset | Description |
Y Rotation | 0x008 | Camber |
Inv Y Rotation | 0x010 | Inverse camber |
X Offset | 0x030 | Track width |
Tyre Radius | 0x110 | Visual + collision size |
Rim Radius | 0x114 | Visual rim |
Tyre Width | 0x118 | Visual width |
Crash diagnostics
Write-ahead log: each write is logged to
pyscript/crash_logs/last_op.jsonl(fsync'd) before execution, so it survives a crash.faulthandler dumps a Python traceback on hard crashes.
The host reads the WAL from disk on a detected crash and reports the last operation.
Project layout
gtav_host.py # headless Claude host (Agent SDK) - the chat brain
mcp_server/server.py # MCP server exposing the game as tools
pyscript/bridge.py # in-game socket server + memory access (PyLoaderV)
pyscript/native_db.json # verified native-hash allowlist (~6,700 natives)
ui_companion/ # ScriptHookVDotNet + LemonUI in-game panel (prebuilt DLL included)
deploy.ps1 # copy runtime files into the GTA V install
run_host.bat # launch the host
requirements.txt # Python deps (claude-agent-sdk, mcp)
TESTING.md / CLAUDE.md # first-run guide / project notesCredits
Created by TabbedScamper — https://github.com/TabbedScamper/GTAV-CLAUDE-MCP
If you use, fork, or build on this project, please credit TabbedScamper and link back to this repo. The MIT license also requires retaining the copyright and license notice. A mention in your README/mod description or a link back is all I ask. 🙏
License
MIT — see LICENSE. © 2026 TabbedScamper.
Available Tools
52 toolsask_in_gameA
Ask a question in-game and wait for the user's response.
Use this instead of terminal confirmations when the user is playing. Shows the question via notification, opens keyboard, waits for response.
Common pattern for confirmations: result = ask_in_game("Write camber=0.1 to wheel 0? Type yes/no") if "yes" in result.lower(): # proceed with write
Args: question: The question to display in-game timeout_seconds: How long to wait for response (default 60)
Returns: The user's typed response
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the behavior: shows notification, opens keyboard, waits for response, and returns typed response. It mentions the timeout parameter but does not specify what happens when the timeout occurs or if the user cancels (e.g., returns empty string). Without annotations, this gap is notable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, using a few sentences and a code example without redundancy. The main purpose is front-loaded, and every sentence adds value—no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, simple behavior) and the presence of an output schema, the description covers the what, when, how, and return value. No critical information is missing for an AI agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining both parameters: 'question' as 'The question to display in-game' and 'timeout_seconds' as 'How long to wait for response (default 60)'. This adds critical meaning beyond the schema types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Ask a question in-game and wait for the user's response.' The verb 'ask' and resource 'question in-game' are specific, and the description distinguishes it from terminal confirmations, making its purpose unique among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool 'instead of terminal confirmations when the user is playing,' providing clear context. It also demonstrates a common pattern for confirmations. However, it does not mention alternatives like 'await_user_message' which might exist among siblings, slightly reducing completeness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
await_user_messageA
Block until the user types a message in the in-game chat.
This is how the user communicates from inside the game to Claude. Returns when user submits text, or times out.
Returns: The user's message text
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It states it is blocking, returns on submit or timeout, and returns the message text. Missing timeout duration but adequate for a simple tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the core purpose, no wasted words. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with an output schema, the description is complete. It covers behavior, blocking nature, and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 is appropriate. The description adds no param info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool blocks for a user message in in-game chat, distinguishing it from sibling tools like chat_post (sending) and get_chat_history (retrieving).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains this is how the user communicates from inside the game, implying when to use it. It would benefit from explicitly stating when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_visual_offsetsA
Cache discovered visual wheel offsets for later use.
After using find_wheel_visual_offsets or probe_drawhandler to discover the correct offsets, use this to cache them so set_visual_wheel_size/width can use them without re-specifying.
Args: dh_offset: DrawHandler offset from vehicle base srg_offset: StreamRenderGfx offset from DrawHandler size_offset: Wheel size offset in StreamRenderGfx width_offset: Wheel width offset in StreamRenderGfx
| Name | Required | Description | Default |
|---|---|---|---|
| dh_offset | Yes | ||
| srg_offset | Yes | ||
| size_offset | Yes | ||
| width_offset | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states that offsets are cached but does not describe whether caching is persistent, what happens if offsets already exist, or any side effects. The description is minimal on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with a brief summary paragraph and an Args section that lists parameters with short explanations. No extraneous information. The purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 required parameters) and the presence of an output schema (not visible), the description does not mention return values or error conditions. It mentions prerequisites implicitly but could be more explicit about the workflow. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the parameter titles offer no description. The description provides one-line explanations for each parameter, which add meaning beyond the schema. However, explanations are terse and could be improved to clarify what the offsets represent and how to obtain them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to cache discovered visual wheel offsets for later use. It distinguishes the tool from siblings like find_wheel_visual_offsets and probe_drawhandler by specifying the context and outcome.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: after using find_wheel_visual_offsets or probe_drawhandler. It also explains the benefit: so set_visual_wheel_size/width can use them without re-specifying. However, it does not explicitly state when not to use it or mention alternatives beyond the implied precursors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_nativeA
Call a GTA V native function BY NAME - the primary way to do ANYTHING in-game.
Resolves the name to its verified canonical hash and refuses unknown/guessed hashes (a wrong hash crashes the game). ~6700 natives available; works on Legacy + Enhanced. Discover names with search_natives(); check args with native_info().
Args: name: Native name, e.g. "CREATE_VEHICLE", "SET_ENTITY_INVINCIBLE", "ADD_EXPLOSION", "SET_PED_MOVE_RATE_OVERRIDE". args: Arguments in order (see native_info for order/types). Entity/ped/vehicle args are handles (ints). Get the player ped via PLAYER_PED_ID first. return_type: Optional override ("int","float","bool","string","void"); omit to use the native's declared return type.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| args | No | ||
| return_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that it resolves to verified canonical hash, refuses unknown/guessed hashes to prevent crashes, works on Legacy+Enhanced, and that entity/ped/vehicle args are handles (ints). Could be improved by mentioning if there are rate limits or side effects, but covers critical traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear paragraphs, bullet-like points for args, and concise. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (game modding, 6700+ natives), the description covers how to use, how to discover natives, safety info, and references companion tools. Output schema exists so no need to document return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate fully. It explains name with examples, args as ordered with type hints (handles for entities/ped/vehicle) and a pointer to PLAYER_PED_ID, and return_type as optional override with enum of types. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calls a GTA V native function by name and is 'the primary way to do ANYTHING in-game.' It differentiates from siblings like call_native_by_hash and search_natives, providing specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions when to use this tool ('primary way to do ANYTHING') and directs to alternatives: search_natives() for discovery and native_info() for args. However, it does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
call_native_by_hashA
Call a native by raw hash (power-user escape hatch). ALLOWLIST-GATED: refuses any hash not in the verified DB. Prefer call_native(name) instead.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | ||
| args | No | ||
| return_type | No | int |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the allowlist constraint, but does not mention whether calls are destructive, read-only, or any other side effects. While the gating is helpful, additional safety or behavioral info is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, immediately followed by critical constraint and recommendation. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no annotations, and an output schema, the description omits essential parameter details and behavioral context beyond gating. The agent would struggle to correctly invoke the tool without additional parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only implicitly explains the 'hash' parameter via 'by raw hash'. The 'args' and 'return_type' parameters are completely unexplained, leaving the agent without necessary context for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool calls a native by raw hash, uses 'power-user escape hatch' to indicate advanced usage, and distinguishes from sibling call_native by emphasizing raw hash vs name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the tool is allowlist-gated and refuses any hash not in the verified DB, and directly recommends using call_native(name) instead, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chat_postA
Post a message to the in-game chat panel (Claude -> User).
Use this to ask questions, report findings, or request actions.
Args: message: Text to display in the in-game chat
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the basic behavior (posting to chat) but does not mention any side effects, limitations, or error conditions. For a simple tool, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with no superfluous sentences. The key information is front-loaded. However, the 'Args' section is redundant with the schema and could be omitted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single string parameter, required) and the presence of an output schema (not shown), the description covers the core functionality and intended use. It does not explain prerequisites or return values, but these are self-evident for a chat posting tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%. The description adds minimal value beyond the schema: 'Text to display in the in-game chat' merely restates the parameter name 'message' and type 'string'. It does not provide details on formatting, length limits, or encoding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('post') and the target ('in-game chat panel'), and specifies the direction ('Claude -> User'). This distinguishes it from siblings like 'get_chat_history' (read) and 'ask_in_game' (possibly user-initiated).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to ask questions, report findings, or request actions,' providing context for when to use the tool. However, it does not mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_continuousB
Clear all continuous wheel writes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'clear', implying destruction without detailing scope, side effects, or permissions. Output schema existence is not leveraged in description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no parameters and existing output schema, the description lacks context for when to use, what happens after clearing, and fails to compensate for missing annotations in a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The baseline of 4 applies as the description correctly implies no configuration needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Clear all continuous wheel writes' specifies a clear verb ('Clear') and resource ('continuous wheel writes'), distinguishing it from siblings like 'set_continuous' and 'list_continuous'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Lacks context for when continuous writes might need clearing or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_snapshotsA
Clear all stored snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks annotations and behavioral details; only states 'Clear all stored snapshots' without explaining scope, reversibility, or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words; appropriately sized for a no-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple clear action, description covers essential purpose; output schema exists so return value explanation not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100% trivially, so baseline score of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Clear' with resource 'all stored snapshots', clearly distinguishing from sibling tools like 'snapshot' (create) and 'list_snapshots'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; no context on prerequisites or side effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diffA
Compare two snapshots and report differences.
This is the core discovery tool: take snapshot A, user performs action, take snapshot B, diff shows which bytes changed.
Args: label_a: First snapshot label (e.g., "before") label_b: Second snapshot label (e.g., "after")
Returns: List of changed offsets with old/new values, interpreted as various types
| Name | Required | Description | Default |
|---|---|---|---|
| label_a | Yes | ||
| label_b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description explains the output (list of changed offsets with old/new values) and the step-by-step process. However, it does not mention whether the tool is read-only, or how missing labels are handled, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with no wasted words. Key information is front-loaded: purpose, then workflow, then parameter documentation. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and parameters are simple, the description covers purpose, parameters, and usage pattern. It does not mention prerequisites (e.g., snapshots must exist) but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds meaningful examples and purpose for both parameters ('label_a: First snapshot label (e.g., "before")'), which compensates well. Could include more format details but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Compare two snapshots and report differences.' and identifies it as the core discovery tool for detecting byte changes after user actions, distinguishing it from siblings like list_snapshots or snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the workflow: take snapshot A, perform action, take snapshot B, then diff. Provides clear usage context though does not explicitly mention when not to use or list alternative tools, which are unnecessary given its unique function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_wheel_visual_offsetsA
Find visual wheel size/width offsets by matching CWheel values.
Compares values from the physics CWheel structure (tyre_radius, etc.) with values found in potential StreamRenderGfx structures to identify the correct visual wheel offsets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the tool as comparing values to identify offsets, which implies a read-only computation. However, it does not explicitly confirm that the tool has no side effects or state changes, leaving slight ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It front-loads the purpose and then provides technical context efficiently. Ideal conciseness for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema, the description is largely complete. It explains the matching process sufficiently for an AI agent. However, a minor gap: it does not clarify what constitutes 'correct' offsets or how they are used, but this is acceptable given the sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per guidelines the baseline is 4. The description does not need to add parameter details and does not attempt to, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'find' and clearly identifies the resource 'visual wheel size/width offsets'. It differentiates from siblings like 'cache_visual_offsets' (which caches rather than finds) and 'set_visual_wheel_size' (which sets rather than finds). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not explicitly state when to use it over alternatives like 'cache_visual_offsets' or 'probe_wheels'. The usage context is implied by the action of 'finding' but lacks explicit guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chat_historyB
Get recent chat history between Claude and the user in-game.
Args: limit: Maximum number of messages to return (default 20)
Returns: List of messages with sender, text, and timestamp
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states it returns a list with sender, text, and timestamp, and mentions the limit parameter. However, it does not explicitly state that it is a safe, read-only operation or define 'recent'. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose. The 'Args' section is slightly redundant given the schema, but it adds clarity without extraneous content. Every sentence is useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema exists), the description covers the essential: what it returns (list of messages with fields) and its limit parameter. It is sufficient for an agent to invoke correctly, though it omits details like pagination or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description fully carries the burden. It explains the limit parameter as 'Maximum number of messages to return (default 20)', adding precise meaning beyond the schema's type and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'recent chat history' with context 'between Claude and the user in-game'. This distinguishes it from siblings like chat_post and get_pending_messages, though it could be more explicit about the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For example, it doesn't clarify when to use get_pending_messages instead. The description is purely declarative without situational advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crash_logsA
Get recent crash logs from the bridge.
If the game crashed after a write operation, this shows:
The last operation before crash (from write-ahead log)
Crash timestamp and context
Python traceback if available
Use this to diagnose what caused a crash.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavior. It describes the output contents but does not mention any side effects (e.g., whether logs are cleared on read) or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with bullet points. It is front-loaded with the main purpose and provides additional detail without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an existing output schema, the description adequately explains the tool's purpose and output. It could mention persistence of logs, but overall is complete enough for usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline score is 4. The description does not need to add parameter semantics, and it does not repeat schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets recent crash logs and details the information it provides (last operation, timestamp, traceback). It distinguishes itself from sibling tools, none of which are crash-related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to use it for diagnosing crashes. It does not mention when not to use it, but given the absence of similar sibling tools, that is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pending_messagesA
Check for any messages the user typed in-game (non-blocking).
The user can press F10 anytime to send a message. Use this to check if they've sent anything without blocking/waiting.
Returns: List of pending messages (empty if none)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses non-blocking behavior and return format (list of pending messages). It could be more explicit about one-time check nature, but is largely transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences plus a returns line, all front-loaded with purpose. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless tool, the description covers behavior and return type. Output schema exists, so further detail is unnecessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params), so schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks for pending messages typed in-game, using the verb 'check' and specific resource 'pending messages'. It distinguishes from sibling tools like 'await_user_message' by highlighting non-blocking behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to check without blocking/waiting', providing clear context. It implies when not to use (if blocking is acceptable), but does not explicitly name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_pedA
Get the player's ped handle (PLAYER_PED_ID). Most native chains start here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It describes a read operation ('get'), which implies safety. However, it does not explicitly confirm no side effects or provide details beyond the function name. The output schema likely covers the return format, so the description adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two short sentences. Every word adds value, clearly stating the purpose and hinting at common usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema, and low complexity, the description is mostly complete. It covers the core purpose and hints at its role in native chains. It might benefit from noting that it's safe to call repeatedly, but for a trivial getter, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline score is 4. The description does not need to add parameter information as the schema is already complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('get the player's ped handle') and the native function (PLAYER_PED_ID). It also distinguishes the tool as a common starting point for native chains, differentiating it from sibling tools like 'call_native' or 'native_info'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is often used as a first step ('most native chains start here'), but it does not explicitly state when to use it or when not to. For a simple getter with no parameters, this is adequate but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_undo_stackA
View the bridge's undo stack of recent writes (single source of truth).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a read-only behavior (viewing) with no side effects. With no annotations provided, the description carries the full burden and sufficiently conveys the safe, non-destructive nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown), the description need not explain return values. It provides enough context for a simple view operation, though it could hint at the stack contents or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to add parameter information, as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('View'), the resource ('bridge's undo stack of recent writes'), and adds context ('single source of truth'), effectively distinguishing it from sibling tools like 'revert_last_write'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for inspecting writes before undoing, but lacks explicit guidance on when to use versus alternatives like 'revert_last_write'. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_infoB
Get detailed info about the current vehicle.
Returns: Model hash, display name, plate text, wheel count, wheel pointers, and current offset values for known fields
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It correctly implies a read-only operation but does not explicitly state that it is non-destructive, nor mention any side effects, permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences and a list of return fields. It is front-loaded with the verb 'Get' and the resource 'detailed info about the current vehicle', wasting no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, output schema exists), the description provides adequate context by listing the return values. It does not need to explain return format further because the output schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100% (trivially). The description adds no parameter details, which is acceptable as there are no parameters to describe. Baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed info about the current vehicle, listing specific return fields. It distinguishes itself from siblings like 'get_wheel_values' by focusing on general vehicle properties (model hash, display name, etc.), but does not explicitly differentiate from similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_wheel_values' or 'cache_visual_offsets'. The description omits context such as prerequisites or scenarios where other tools are more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wheel_valuesA
Read current values from a specific wheel using known Legacy offsets.
This uses the verified offsets from FiveM/IKT:
0x008: Y rotation (camber)
0x010: Inverse Y rotation
0x030: X offset (track width)
0x110: Tyre radius
0x114: Rim radius
0x118: Tyre width
Args: wheel_index: Which wheel (0=FL, 1=FR, 2=RL, 3=RR typically)
Returns: Current values for all known wheel fields
| Name | Required | Description | Default |
|---|---|---|---|
| wheel_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the read operation, lists specific memory offsets and their meanings, and mentions the offsets are verified from FiveM/IKT. However, it does not discuss error cases or side effects, though as a read tool, transparency is high.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a brief summary, a list of offsets with meanings, and separate Args and Returns sections. Every sentence is informative and there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is straightforward: read wheel values by index. The description covers input parameter, what is read (offsets), and mentions return type (current values). An output schema is present, so return details are covered there. Could mention that it is read-only and safe, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides clear semantics for the wheel_index parameter ('0=FL, 1=FR, 2=RL, 3=RR typically'), which is essential and adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it reads current wheel values using specific offsets, listing each offset's meaning. Distinguishes from siblings like set_wheel_value and find_wheel_visual_offsets by focusing on reading known offsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes what the tool does but does not explicitly state when to use it versus alternatives (e.g., find_wheel_visual_offsets for finding offsets, set_wheel_value for writing). Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
give_weaponB
Give the player a weapon: e.g. WEAPON_PISTOL, WEAPON_MINIGUN, WEAPON_RPG, WEAPON_RAILGUN, WEAPON_STICKYBOMB, WEAPON_COMBATMG. "WEAPON_" optional.
| Name | Required | Description | Default |
|---|---|---|---|
| weapon | Yes | ||
| ammo | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'Give the player a weapon', which implies a mutation, but lacks details like whether it replaces existing weapons, requires permissions, or has side effects. Insufficient for an agent to predict consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with examples, reasonably concise. However, the phrasing 'WEAPON_ optional' is informal and could be clearer. Still, every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no nested objects), the description covers core purpose and parameter format. However, it lacks usage context, prerequisites (e.g., player must exist), and any constraints. An output schema exists but the description doesn't reference it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains the 'weapon' parameter with a naming convention and examples. However, the 'ammo' parameter (with default 9999) is not mentioned at all, leaving its purpose only inferable from schema name. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Give' and resource 'the player a weapon', with concrete examples of weapon names and a formatting hint. This distinguishes it from sibling tools which are vastly different (e.g., set_invincible, spawn_vehicle).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use this tool. The description implies it is for equipping the player with a weapon, but does not mention alternatives or exclusions. Since siblings do not include similar weapon-giving tools, the lack of direction is less penalized but still a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
has_pending_messagesA
Quick check if user has sent any messages in-game (non-blocking).
Returns: True/False and count
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes the behavioral trait 'non-blocking', which is not in annotations (none provided). This adds value beyond the schema. For a zero-parameter tool, this suffices; no side effects are mentioned but none are expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the purpose and return format. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and an output schema exists (as indicated), the description fully informs the agent about the tool's purpose and return type. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so baseline is 4. The description does not need to add parameter info since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a 'quick check if user has sent any messages in-game', which is a specific verb+resource combination. It distinguishes from sibling tool 'get_pending_messages' which would retrieve the actual messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a lightweight existence check via the phrase 'quick check' and the return type (True/False). It does not explicitly name alternatives but context with sibling tools like 'get_pending_messages' suggests when to use which.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_in_vehicleA
Check if the player is currently in a vehicle.
Returns: True/False and basic vehicle info if in one
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses the return type (boolean and basic vehicle info) but lacks details on side effects, permissions, or error states. The behavior is adequately described for a read-only check, but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and contains no extraneous information. Every word is functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and an output schema, the description covers the essential functionality and return type. It does not detail what 'basic vehicle info' includes, but the output schema presumably covers that. Slightly less complete due to lack of specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is trivially 100%. The description adds no param info, which is acceptable since none exist. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if the player is in a vehicle, with a specific verb and resource. It distinguishes from sibling 'get_vehicle_info' by indicating it returns a boolean and basic info, implying a simpler check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like 'get_vehicle_info', but the distinction is implied through the return value description. No explicit when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_continuousA
List all active continuous wheel writes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'list all active continuous wheel writes' without mentioning idempotency, side effects, or output format. The existence of an output schema partially compensates, but the description adds minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose. It is front-loaded and contains no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, minimal complexity) and the presence of an output schema (which likely documents return structure), the description is sufficiently complete for the agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100%. Baseline for 0 parameters is 4; the description does not need to add parameter details and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all active continuous wheel writes' uses a specific verb ('List') and clearly identifies the resource ('active continuous wheel writes'). It effectively distinguishes from sibling tools like 'clear_continuous' and 'set_continuous'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent without direction for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_namespacesA
List the native namespaces available (for use with search_natives's namespace filter).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does not mention side effects, permission requirements, or performance implications, but the tool is simple and read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and purpose, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an existing output schema, the description adequately explains the tool's purpose and use case, though it could mention more about what namespaces are.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description adds value by explaining the output's purpose (for search_natives), which is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'native namespaces', and distinguishes it from siblings by specifying its use with 'search_natives's namespace filter'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (before search_natives) by mentioning the namespace filter, but does not explicitly state when not to use or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_snapshotsA
List all stored snapshots with their metadata.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies a read-only listing of snapshots without side effects, but lacks details on performance, authorization, or whether it returns all metadata. Adequate for a simple list operation but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, perfectly front-loaded, zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0 parameters and an output schema, the description is sufficiently complete for a simple list operation. Could mention that metadata includes timestamps or IDs, but output schema presumable covers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. Description adds no parameter info because none are needed; schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb (list), resource (snapshots), and scope (all stored, with metadata). Name and description align perfectly, and it distinguishes from sibling tools like 'clear_snapshots' and 'snapshot'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., 'snapshot' for creating, 'clear_snapshots' for deletion). The description omits context about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
markA
User-triggered capture point. Call this when user says "go" or "done".
Captures current vehicle/wheel state with the given label. This is the sync signal in the action-prompted model.
Args: label: Descriptive label (e.g., "user_ready", "shift_complete")
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states that it captures state but does not mention side effects, such as whether previous captures are overwritten, or if any permissions or prerequisites are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: three short sentences that front-load the core purpose, trigger condition, and parameter explanation with no superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema (not shown), the description adequately covers how and when to use it. It could be improved by mentioning whether it overwrites previous marks or any error conditions, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only the parameter name and type with no description (0% coverage). The description adds meaningful context by explaining the label as 'Descriptive label (e.g., user_ready, shift_complete)', which is essential for correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures current vehicle/wheel state with a label, and identifies it as a user-triggered capture point. However, it does not differentiate from sibling tools like 'snapshot', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call this when the user says 'go' or 'done' and identifies it as the sync signal in the action-prompted model. It provides clear context for use but does not mention alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
native_db_statusA
Native DB status: edition (legacy/enhanced), how many natives are callable, known-bad list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only lists output fields but does not disclose any behavioral traits such as side effects, cost, or permissions. For a read-only status check, more transparency is needed given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence listing the three output items, front-loaded and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description adequately covers the tool's output for a simple status check. Could mention it is safe to call anytime, but overall complete given zero parameters and the presence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description does not need to explain parameters but adds value by summarizing output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the edition of the native database, the count of callable natives, and a known-bad list. It specifically names the resource and the information provided, distinguishing it from sibling tools like 'native_info' and 'search_natives'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many sibling tools, there is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
native_infoA
Get a native's params (order + types), return type, namespace, flags, and doc comment.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavior. It describes a read-only query that returns specified info; no side effects are implied. This is sufficient but minimal—could mention that it is safe to call repeatedly. No contradictions with annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence listing exactly what the tool returns, with no extraneous words. It is front-loaded with the verb and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description needn't detail return structure. It lists the high-level components (params, return type, etc.). However, it omits that the tool requires a valid native name and that it is a read-only operation. Still, it is largely complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single parameter 'name'. The description compensates by stating what the tool gets ('Get a native's...'), implying that 'name' is the native's name. This adds essential meaning beyond the schema, though it does not specify format or validity criteria.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly enumerates the resource: 'a native's params (order + types), return type, namespace, flags, and doc comment'. It distinguishes from sibling tools like 'call_native' (which executes) and 'search_natives' (which finds by pattern), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use: when you need detailed information about a specific native before calling it. However, it does not explicitly exclude cases or mention alternatives like 'search_natives' for discovery. The context is clear enough for an informational tool, but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preload_modelA
Preload a model so a later spawn is instant (avoids the streaming lag). wait=False to fire-and-forget.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| wait | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose effects. It mentions avoiding lag and wait behavior, but omits failure modes (e.g., invalid model), resource consumption, or persistence of preload. Insufficient for a potentially costly operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Core purpose front-loaded, additional usage note in second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists (not shown), so return values are covered. For a simple tool with 2 params, description is adequate but lacks error handling info or prerequisites (e.g., model must be valid). Not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, description adds meaning: 'model' is the model to preload, 'wait' controls whether to block. Could specify format for model names, but adds value beyond schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('preload') and the resource ('model'), with the benefit of avoiding streaming lag. Differentiates from siblings like 'spawn_vehicle' by focusing on preloading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on the 'wait' parameter (fire-and-forget), but does not explicitly state when to use this tool versus alternatives like direct spawning. Lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
probe_drawhandlerA
Probe for DrawHandler -> StreamRenderGfx pointer chain.
FiveM uses this path for visual wheel size/width modifications. This scans vehicle memory looking for pointer chains that lead to float values in the wheel dimension range (0.1 - 2.0).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It explains the scanning process and target values (0.1-2.0), implying a read-only probe. However, it does not explicitly state whether it modifies memory or has side effects, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 lines) and well-structured: it starts with the core action, then provides context (FiveM usage), and finally details the scanning method. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and its internal logic. However, since an output schema exists, the description could briefly mention what the probe returns (e.g., addresses or values) for completeness. It is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description does not need to add parameter information. Baseline 4 is appropriate as the schema covers 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to probe for a specific pointer chain (DrawHandler -> StreamRenderGfx) used for visual wheel modifications. It is distinct from sibling tools like probe_wheels or find_wheel_visual_offsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for visual wheel size/width modifications in FiveM, but it does not explicitly state when to use this tool versus alternatives like probe_wheels or get_wheel_values. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
probe_wheelsA
Probe vehicle memory to find wheel array offset.
Different game versions use different offsets for the wheel array. This scans a range of offsets to find where the wheel pointers are.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full responsibility. It mentions 'scans a range of offsets' suggesting a non-destructive read operation, but does not explicitly state if it modifies memory, requires permissions, or has side effects. Lacks clarity on behavioral traits beyond the scanning action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first states purpose, second explains why needed, third describes the method. No wasted words, front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an output schema, the description covers the core purpose, but lacks context on prerequisites (e.g., being in a vehicle, memory access) or expected behavior after execution. Adequate but leaves gaps for an AI agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema provides complete information. The description adds no parameter-specific detail, but with no parameters, there is nothing to add. Baseline for high coverage is 3, and the absence of parameters makes this trivial, warranting a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool probes vehicle memory to find the wheel array offset, explaining the reason (different game versions use different offsets). It uses specific verb 'probe' and resource 'vehicle memory', and distinguishes from sibling 'find_wheel_visual_offsets' which targets visual offsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when wheel array offset is unknown due to game version, but provides no explicit guidance on when to use vs alternatives like 'find_wheel_visual_offsets' or prerequisites. No when-not or alternative tools mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_memoryA
Read typed value(s) from a memory address.
Args: address: Hex address (e.g., "0x1A2B3C4D") or expression (e.g., "vehicle+0x110") type: Data type - "byte", "int16", "int32", "int64", "float", "double", "ptr" count: Number of consecutive values to read (default 1)
Returns: The value(s) read, or error if address is invalid/unreadable
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| type | No | float | |
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that invalid/unreadable addresses return an error, but does not explicitly state it is read-only or mention side effects, permissions, or limitations. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: two sentences plus args and returns. Includes useful examples for address and lists types. No fluff, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (return format not needed), the description covers purpose, all parameters, and error behavior. Complete for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains each parameter: address (hex or expression with examples), type (list of types), count (default 1). Adds significant meaning beyond the schema's names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and resource ('memory address'), clearly stating it reads typed values. It distinguishes from sibling tools like 'write_memory' and 'scan_pattern' by focusing on reading typed values from an address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., scan_pattern, scan_structure). The description implies it is for reading typed values, but does not provide context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repair_vehicleB
Repair and clean the player's current vehicle.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states 'repair and clean' without disclosing prerequisites (e.g., being in vehicle), side effects, costs, or cooldowns. This is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, efficiently conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks important context such as prerequisites (e.g., being in a vehicle) and consequences of use. It is not complete for an agent to invoke reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. The description need not explain parameters; however, it could add context about what 'repair and clean' entails, but the baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource combination 'repair and clean the player's current vehicle', which clearly distinguishes it from sibling tools like spawn_vehicle or set_health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. For instance, it does not mention that the player must be in a vehicle (which has a sibling tool is_in_vehicle) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_rip_relativeA
Resolve a RIP-relative address from an instruction.
Many GTA patterns use RIP-relative addressing. This reads the displacement at offset_position and computes the absolute address.
Formula: absolute = instruction_address + instruction_size + displacement
Args: address: Address of the instruction (hex) offset_position: Byte offset where the 4-byte displacement starts instruction_size: Total instruction length
Returns: The resolved absolute address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| offset_position | Yes | ||
| instruction_size | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the computation (reads displacement, computes absolute address) and provides the formula. It does not disclose failure modes but the operation is simple and likely read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with purpose, then context, formula, and parameter details. Every sentence adds value with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, three parameters, and existing output schema, the description adequately explains the operation and return value. It lacks explicit error handling or constraints but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does by explaining each parameter (address as hex, offset_position as byte offset, instruction_size as total length) with clear meaning beyond the schema's type/title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it resolves a RIP-relative address from an instruction, includes context about GTA patterns, and provides the formula. It is distinct from sibling tools that handle general memory operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for instructions with RIP-relative addressing) and provides context, but does not explicitly exclude alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revert_last_writeA
Revert the last memory write. Routes to the bridge's single undo stack, which correctly reverts both raw writes and wheel-field writes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides useful behavioral context: it routes to a single undo stack and correctly reverts both raw and wheel-field writes. However, it does not disclose behavior when the stack is empty or effects of repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. The main action is front-loaded, and additional detail about the undo stack is provided efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and an output schema, the description covers the core functionality and mechanism. It could mention edge cases like no prior write, but overall it's sufficient for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. The description adds no parameter info, which is appropriate; baseline 4 is given per rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Revert the last memory write' with a specific verb and resource. It differentiates from siblings like write_memory by focusing on undoing, and adds detail about handling both raw and wheel-field writes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives (e.g., manual overwrite or other tools). The context does not mention prerequisites or when not to use it, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_patternB
Search for a byte pattern in game memory.
Pattern format: hex bytes with ?? wildcards (e.g., "48 8B 05 ?? ?? ?? ?? 45")
Args: pattern: AOB pattern to search for module: Module to search in (default "GTA5.exe")
Returns: List of matching addresses
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | ||
| module | No | GTA5.exe |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full behavioral burden. It discloses inputs and return type but does not state whether the operation is read-only, potential side effects, or performance implications. The lack of explicit read-only declaration is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: one-line purpose, pattern format example, and clear args list. No redundant words, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the existence of an output schema (not shown), the description covers the core functionality. However, it lacks details on return format specifics (e.g., address type) and error handling, making it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains both parameters: pattern (AOB format with wildcards) and module (default GTA5.exe). Since the input schema has no descriptions, this provides crucial meaning beyond the schema's type-only specification, fully compensating for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for a byte pattern in game memory, with an example pattern format. It distinguishes from sibling tools like read_memory or write_memory by focusing on pattern scanning, but does not explicitly differentiate from all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for pattern scanning but provides no explicit guidance on when to use this tool versus alternatives (e.g., scan_structure, read_memory). No exclusion criteria or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_structureA
Scan a memory structure for float values in a specified range.
Useful for exploring discovered pointer chains to find wheel visual offsets.
Args: address: Hex address to scan from size: Number of bytes to scan (default 512) min_val: Minimum float value to include (default 0.0) max_val: Maximum float value to include (default 10.0)
Returns: List of offsets and values within the range
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| size | No | ||
| min_val | No | ||
| max_val | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It accurately describes the scanning operation as read-only, but does not explicitly state the absence of side effects or safety guarantees. The implied read-only nature is sufficient but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 lines) and front-loaded with purpose. Every sentence is informative: purpose, use case, parameter list, and return value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema, the description adequately covers inputs and return summary ('list of offsets and values'). However, it could briefly mention that the scan is non-destructive or specify the return format's structure, though the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It explains the format of 'address' (hex), the unit and default of 'size' (bytes), and the range filtering via 'min_val' and 'max_val'. This adds critical meaning beyond the schema's type and title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('scan') and resources ('memory structure for float values'), and distinguishes itself by mentioning a concrete use case ('exploring discovered pointer chains to find wheel visual offsets'). This differentiates it from sibling tools like 'scan_pattern' or 'read_memory'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for use ('when exploring pointer chains for wheel offsets'), implying when this tool is appropriate. However, it lacks explicit guidance on when not to use it or direct comparisons to alternatives like 'scan_pattern'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nativesA
Search the ~6700-native library to discover what you can do.
Args: query: substring in the native name OR its doc comment (e.g. "explosion", "wanted", "invincible", "vehicle_mod", "ptfx"). namespace: optional filter (e.g. "VEHICLE","PLAYER","PED","WEAPON","ENTITY","MISC","CAM","FIRE","GRAPHICS"). limit: max results (default 30).
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| namespace | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies read-only behavior ('search'), but does not explicitly confirm safety, idempotency, or performance implications. It lacks details on return behavior for empty queries or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences for purpose, then a clean bullet-style parameter explanation. Front-loaded with key info, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 params and existing output schema, the description covers usage and parameter meaning well. It could mention expected output (e.g., list of native names) or edge cases, but overall sufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description compensates by explaining query as substring across names and doc comments with examples, namespace as optional filter with valid examples, and limit as max results with default. Adds meaningful context beyond schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches a ~6700-native library to discover capabilities. It uses a specific verb ('search') and resource ('library'), and distinguishes itself from siblings like call_native or native_info by focusing on discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides example query substrings and namespace filters, guiding when to use. However, it doesn't explicitly compare to alternatives or state when not to use. The context from siblings implies differentiation, but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_continuousA
Set a wheel value to be applied continuously (every frame).
GTA V's physics can reset wheel values each tick, so for some modifications to persist visually, they need to be reapplied every frame.
Args: wheel_index: Which wheel (0-3) field: Field name - "camber", "track_width", etc. value: Value to continuously apply enabled: True to enable, False to disable
Returns: Confirmation of continuous write status
| Name | Required | Description | Default |
|---|---|---|---|
| wheel_index | Yes | ||
| field | Yes | ||
| value | Yes | ||
| enabled | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the key behavior (reapplied every frame) and mentions the return type (confirmation). It does not detail performance impact or side effects, but the core behavioral insight is adequately conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with purpose. It uses structured sections (Args, Returns) without unnecessary words. Every sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description appropriately summarizes the return as 'Confirmation'. It covers the purpose, reason, parameters, and return. Missing details like performance warnings or multi-wheel interaction, but overall sufficient for a modification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must provide meaning. It does so by explaining each parameter: range for wheel_index (0-3), examples for field ('camber', 'track_width'), clarifying value as the value to apply, and enabling as boolean toggle. This adds significant value beyond the schema's type-only definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool sets a wheel value to be applied continuously every frame. It identifies the specific action ('set') and resource ('wheel value'), and the explanation about GTA V physics resetting distinguishes it from one-time setting tools like set_wheel_value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the context (physics resets require continuous application) and implies when to use: for persistent visual modifications. However, it does not explicitly compare with alternatives like set_wheel_value or clear_continuous, missing a clear when-not-to-use clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_healthA
Set the player's health (max ~200 by default). Fetches a fresh ped handle first.
| Name | Required | Description | Default |
|---|---|---|---|
| health | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions fetching a fresh ped handle but does not disclose side effects (e.g., what happens if health is set to 0) or other behavioral aspects like permissions or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no unnecessary information. The description is front-loaded with the core action and additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter tool, the description covers purpose and main behavior. However, it lacks usage guidelines and behavioral depth. The presence of an output schema may compensate for return value info, but overall completeness is adequate but not exceptional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'health' has 0% schema coverage, but the description adds meaning by stating the default and max (~200). This compensates for the schema gap, though more detail (e.g., integer range) would be better.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set', the resource 'player's health', and provides useful context like max ~200 and fetching a ped handle. This distinguishes it from siblings like set_invincible or repair_vehicle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies it's for setting health but does not mention when not to use it (e.g., for invulnerability use set_invincible).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_invincibleC
Toggle player invincibility (god mode). Fetches a fresh ped handle first.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility. 'Fetches a fresh ped handle' hints at state management but does not disclose side effects, network implications, or whether the tool requires a specific player context. The term 'toggle' is ambiguous given the 'enabled' parameter with default true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, each serving a distinct purpose: the first defines the action, the second adds an operational detail. No wasted words and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle with a boolean parameter and an output schema, the description is nearly adequate. However, it lacks information about error conditions, prerequisites (e.g., player existence), or behavior when the parameter is omitted. It does not explain what happens when invincibility is already enabled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single boolean parameter 'enabled' has no description in the schema (0% coverage). The description only says 'Toggle player invincibility' without elaborating on the parameter's effect or the default behavior. The schema already provides the parameter name and type, so the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Toggle player invincibility (god mode)', which is specific and distinct from sibling tools like set_health or set_wanted_level. The mention of 'fetches a fresh ped handle first' adds a precise implementation detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as set_health or set_wanted_level. No prerequisites or context for appropriate invocation are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_overlayA
Update the in-game overlay to show Claude's current status/intent.
This keeps the user informed without alt-tabbing.
Args: text: Status text to display (e.g., "Finding RPM offset...", "Found! RPM @ +0x824") state: Overlay state - "searching", "found", "waiting", "error"
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| state | No | searching |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It states the purpose but omits side effects, permissions, error handling, or behavior when overlay already exists. For a UI update tool, these gaps reduce transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: three sentences plus an Args list. The main purpose is front-loaded, and every sentence serves a distinct role. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no nested objects, output schema exists), the description covers the core functionality and parameter meanings. However, it lacks details on expected behavior in edge cases or failure modes, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the input schema has no parameter descriptions, the tool description includes an 'Args:' section that explains the meaning of both parameters (text and state). This adds significant value beyond the schema, despite 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates the in-game overlay to show Claude's status/intent, with a specific verb and resource. It distinguishes itself from sibling tools like 'ask_in_game' or 'chat_post' by focusing on a UI overlay update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for informing the user without alt-tabbing, but does not explicitly state when not to use this tool or provide alternatives. The context of keeping user informed is clear, but no exclusions or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_timeC
Set the in-game clock (24h).
| Name | Required | Description | Default |
|---|---|---|---|
| hour | Yes | ||
| minute | No | ||
| second | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states the tool sets the clock but omits important details such as whether changes persist, whether it affects multiplayer, or constraints on hour range (0-23). Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, which is efficient. However, it is under-specified and could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and an output schema, the description is too incomplete. It fails to explain return values, constraints, or behavior beyond the basic action, making it insufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter information. It does not explain that hour is likely 0-23, minute/second are optional with defaults, or any format expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'in-game clock (24h)', indicating the tool modifies the game time. It distinguishes from siblings as there is no other time-setting tool, but lacks specificity about the exact function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While there are no direct siblings for setting time, the description does not mention prerequisites or context (e.g., server-side effects, single-player only).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_visual_wheel_sizeA
Set the visual wheel size using the FiveM-style StreamRenderGfx path.
This modifies the rendered wheel size, separate from the physics CWheel values. Offsets must be discovered first via find_wheel_visual_offsets.
Args: size: New wheel size (typically 0.3-1.5) dh_offset: Optional DrawHandler offset from vehicle (use cached if None) srg_offset: Optional StreamRenderGfx offset (use cached if None) size_offset: Optional size value offset (use cached if None)
| Name | Required | Description | Default |
|---|---|---|---|
| size | Yes | ||
| dh_offset | No | ||
| srg_offset | No | ||
| size_offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses that it modifies visual wheel size independently of physics values. It notes the need for offsets and includes cached behavior for optional parameters. No mention of errors or side effects, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear purpose statement followed by parameter explanations. No superfluous information; every sentence is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description adequately covers purpose, parameters, and prerequisites. It lacks mention of potential errors or interactions with other visual wheel tools, but overall is sufficient for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description fully compensates by explaining each parameter's meaning, including typical range for 'size' and caching behavior for offsets. This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets the visual wheel size using a specific path (StreamRenderGfx) and differentiates from physics values. It is specific and distinct from sibling tools like set_wheel_value and set_visual_wheel_width.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions a prerequisite (offsets must be discovered via find_wheel_visual_offsets) and clarifies it affects rendered size separate from physics. However, it does not explicitly state when not to use this tool or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_visual_wheel_widthA
Set the visual wheel width using the FiveM-style StreamRenderGfx path.
This modifies the rendered wheel width, separate from the physics CWheel values. Offsets must be discovered first via find_wheel_visual_offsets.
Args: width: New wheel width (typically 0.1-0.5) dh_offset: Optional DrawHandler offset from vehicle (use cached if None) srg_offset: Optional StreamRenderGfx offset (use cached if None) width_offset: Optional width value offset (use cached if None)
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | ||
| dh_offset | No | ||
| srg_offset | No | ||
| width_offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the modification is visual and separate from physics, and mentions caching of offsets. However, it lacks details on error conditions, scope (all wheels?), and immediate rendering effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: first sentence states purpose, second clarifies separation, third gives prerequisite, then a clear parameter list. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, prerequisite, and parameter usage. It mentions caching of offsets, which is useful. However, it does not address potential error cases (e.g., invalid offsets) or limitations (e.g., only certain vehicles). Output schema exists but is not needed per rules.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides comprehensive parameter details: width range (0.1-0.5), optional nature of offsets with caching behavior, and defaults. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets the visual wheel width using a specific path (StreamRenderGfx) and distinguishes it from physics wheel values. It also differentiates from sibling tool 'set_visual_wheel_size' by focusing on width.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that offsets must be discovered first via find_wheel_visual_offsets, providing a clear prerequisite. It also clarifies that this tool modifies rendered width separate from physics, guiding when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_wanted_levelA
Set the player's wanted level (0-5) and apply it. Use 0 to clear stars.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present. The description states 'apply it' implying immediate effect, but does not disclose potential side effects like triggering police or interaction with other game systems.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the main action and range, with zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with an output schema (not shown but present), the description covers the essential input and intended effect. Could mention what happens if level is out of range, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description adds the range (0-5) which is missing from the schema. Also explains the special meaning of 0 for clearing stars, compensating for the schema's lack of constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Set' and resource 'wanted level' with a specific range (0-5). Distinguishes itself from sibling tools like set_health or set_invincible by its unique focus on wanted level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a specific usage tip: 'Use 0 to clear stars.' While it doesn't explicitly mention when not to use, the context is clear for this simple game mechanic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_weatherA
Set weather instantly: CLEAR, EXTRASUNNY, CLOUDS, OVERCAST, RAIN, THUNDER, CLEARING, SMOG, FOGGY, SNOW, BLIZZARD, XMAS, HALLOWEEN.
| Name | Required | Description | Default |
|---|---|---|---|
| weather | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It indicates the weather changes instantly and lists valid values, but does not clarify if the change is client-side or persistent, or whether it affects all players. This is sufficient for a simple setter but lacks deeper context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence followed by a list of allowed values—concise and front-loaded. Every part is necessary, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter) and the presence of an output schema, the description is almost complete. It covers the purpose, parameters, and expected values. It could optionally mention scope (all players or local client) but is not lacking critically.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single string parameter 'weather' with no enum or description (0% coverage). The description compensates fully by explicitly listing all valid values (CLEAR, EXTRASUNNY, etc.), providing critical meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name 'set_weather' combined with the description 'Set weather instantly' clearly communicates the verb and resource. The description lists all valid weather values, which distinguishes it from siblings such as 'set_time' or 'set_health'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating what the tool does, but it does not explicitly state when to use it versus alternatives. No exclusions or prerequisites are mentioned, and among siblings there is no alternative weather tool, so the guidance is adequate but minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_wheel_valueA
Set a wheel field value using known offsets.
Args: wheel_index: Which wheel (0-3) field: Field name - "camber", "track_width", "tyre_radius", "rim_radius", "tyre_width" value: New value (float)
Returns: Success/failure and old value for reference
| Name | Required | Description | Default |
|---|---|---|---|
| wheel_index | Yes | ||
| field | Yes | ||
| value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It discloses return value structure (success/failure and old value) but does not mention side effects, prerequisites (e.g., needing to have found offsets), or persistence of changes. The phrase 'using known offsets' hints at complexity but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with Args and Returns sections, each sentence provides value. It is reasonably concise but could be slightly tighter (e.g., integrating field names list more compactly). No superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists (context signal), so the return description is adequate. However, the description lacks explanation of what 'known offsets' means and how to obtain them, which is critical for correct use. It does not mention any constraints like vehicle state or offset caching requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It lists all three parameters with valid ranges (wheel_index 0-3), an enumerated list of field names, and the value type (float). This adds significant meaning beyond the schema's bare types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set a wheel field value using known offsets,' specifying the action (set) and the resource (wheel field). Sibling tools like get_wheel_values and set_visual_wheel_size are distinct, so the tool is well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when modifying numeric wheel parameters via offsets, but does not explicitly state when to use this tool versus alternatives like set_visual_wheel_size or find_wheel_visual_offsets. No when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snapshotA
Capture a memory region for later comparison.
Args: label: Name for this snapshot (e.g., "before_shift", "in_1st_gear") address: Starting address (hex or expression) size: Number of bytes to capture (default 256)
Returns: Confirmation with snapshot metadata
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | ||
| address | Yes | ||
| size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It captures a memory region (read) but does not disclose side effects, permissions, or whether it overwrites existing snapshots. The behavior is implied as non-destructive but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear structure: purpose statement, Args block, and Returns line. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no nesting) and the presence of an output schema (not shown), the description covers the essentials. It could mention how snapshots are stored or referenced later, but siblings like diff fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema: label as a name, address as hex/expression, and size with default 256. The schema only provides types and a default, so the description fully enriches parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Capture a memory region for later comparison.' It uses a specific verb ('capture') and resource ('memory region'), and distinguishes from siblings like read_memory, write_memory, and clear_snapshots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for later comparison but does not explicitly state when to use this tool versus alternatives like read_memory or write_memory. No when-not or explicit context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spawn_vehicleB
Spawn a vehicle in front of the player. model = e.g. "adder","hydra","rhino","insurgent2","buzzard". Preload big models first.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| distance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It fails to disclose potential side effects (e.g., vehicle limits, replacement of existing vehicle), permissions needed, or whether the vehicle is spawned immediately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Every word serves a purpose, and the structure is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not hint at what the tool returns (e.g., vehicle handle). It also omits prerequisites like player being in a game world.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the model parameter gets partial explanation via examples; the distance parameter is completely undocumented. Schema coverage is 0%, so the description should compensate but only does so minimally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Spawn' and resource 'vehicle in front of player'. Provides concrete model examples, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a note to preload big models, hinting at a usage consideration, but does not explicitly state when to use or avoid this tool versus alternatives like preload_model or teleport.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
statusA
Check connection to the GTA V bridge and get game state.
Returns: Connection status, game version, current state (in menu, in world, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It correctly indicates a read-only operation (checking connection and state) without side effects. However, it could explicitly state that no state changes occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the purpose and immediately specify return values. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and the presence of an output schema, the description sufficiently covers what the tool does and returns. It mentions all key outputs (connection status, game version, state).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100%, so the description does not need to add parameter details. The baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks connection and gets game state, with specific return values (connection status, game version, state). It distinguishes from siblings by being a general health check, unlike specific game manipulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verifying connectivity and obtaining game state, but provides no explicit guidance on when to use versus alternatives or when not to use. The usage context is not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teleportC
Teleport the player (and current vehicle) to coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| z | Yes | ||
| heading | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry full transparency burden. It fails to disclose behavioral traits such as coordinate system, boundaries, effects on vehicle state, or whether teleportation is instantaneous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no filler. Every word is necessary and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (teleporting player and vehicle with 4 parameters) and lack of annotations/output schema details, the description is inadequate. Missing coordinate system, units, and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and the tool description adds no information about parameters (x, y, z, heading), their units, or valid ranges. The agent cannot infer the required format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'teleport' and the resource 'the player (and current vehicle)' to 'coordinates'. It distinguishes itself from siblings like 'spawn_vehicle' by specifying that it works with the current vehicle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'spawn_vehicle' or 'set_wheel_value'. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchA
Watch multiple addresses over time and report value changes.
Useful for finding which value tracks a behavior (e.g., which float ramps when you floor the throttle = RPM).
Args: addresses: List of addresses to watch (hex or expressions) duration_seconds: How long to watch (default 2s) interval_ms: Sample interval in milliseconds (default 100ms)
Returns: Per-address digest showing min/max/delta and change pattern
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | ||
| duration_seconds | No | ||
| interval_ms | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool monitors addresses over a duration, samples at intervals, and returns a digest. It does not mention side effects or performance, but the read-only nature is inferred from context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence for purpose, a clear example, and a bulleted list of parameters with defaults. Every sentence adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's behavior, parameters, and return format adequately. Given an output schema exists, it doesn't need to detail further. Could mention blocking or resource usage, but not required for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds essential meaning: addresses can be hex or expressions, duration_seconds is how long to watch, interval_ms is sample interval, with defaults. This fully compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool watches multiple addresses over time and reports value changes, with a concrete example (RPM tracking). It distinguishes from sibling tools like read_memory by emphasizing time-series monitoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a use case example (finding which value tracks a behavior) and hints at when to use (monitoring changes over time). However, it lacks explicit when-not-to-use or direct comparisons with alternatives like read_memory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_memoryA
Write a typed value to a memory address. Requires explicit consent.
CAUTION: Writing to wrong addresses can crash the game. The bridge validates addresses and snapshots before writing for revert.
Args: address: Hex address or expression value: Value to write (will be converted to specified type) type: Data type - "byte", "int16", "int32", "int64", "float", "double"
Returns: Success/failure, old value (for manual revert reference)
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | ||
| value | Yes | ||
| type | No | float |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides important behavioral traits: requires consent, can crash the game, bridge validates and snapshots before writing, returns old value for revert. This adequately informs the agent of risks and safety mechanisms.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with a clear purpose sentence, followed by consent, caution, validation, args list, and returns. The information is front-loaded and no unnecessary sentences are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (dangerous write operation) and low schema coverage, the description adequately explains parameters, behavior, and return value. It provides enough context for safe usage, though could mention persistence behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining that address can be a hex address or expression, value is converted to the specified type, and type options are listed ('byte', 'int16', etc.). This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Write a typed value to a memory address' with a specific verb and resource. This distinguishes it from sibling tools like read_memory or revert_last_write.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions 'Requires explicit consent' and provides caution about crashes, but does not specify when to use this tool versus alternatives (e.g., read_memory for reading). No explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clearly distinct purposes, but there is some overlap among communication tools (ask_in_game, await_user_message, get_pending_messages, has_pending_messages) and wheel probing tools (probe_wheels, probe_drawhandler, find_wheel_visual_offsets). These could be confused by an agent, but descriptions help differentiate.
Tool names consistently use lowercase with underscores and a verb_noun pattern (e.g., call_native, set_visual_wheel_size). A few tools use single verbs or short names (diff, status, watch), but overall the naming is predictable and readable.
With 52 tools, the server is over-scoped for a typical MCP server. While each tool serves a specific purpose in GTA V modding, the high number can overwhelm agents and suggests some tools could be merged or omitted for a leaner interface.
The tool set covers a comprehensive range of GTA V modding tasks: native calls, memory manipulation, vehicle/wheel modification, player states, communication, and crash diagnostics. Minor gaps exist (e.g., no direct ped spawning beyond vehicle), but core workflows are well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables Claude to control Unreal Engine 5 editor, spawn actors, build materials, author Blueprints, and more, with zero plugin installation.31MIT
- FlicenseNot gradedqualityDmaintenanceBridges Claude AI to a live Unreal Engine 5 editor session, enabling natural language control of scene inspection, modification, logging, source search, console commands, and C++ class scaffolding.
- AlicenseNot gradedqualityDmaintenanceMCP server that connects Claude Code to Cyber Engine Tweaks (CET) in Cyberpunk 2077, enabling Lua code execution, game state queries, TweakDB manipulation, inventory management, and event observation from the terminal while the game is running.2MIT
- AlicenseAqualityBmaintenanceEnables MCP clients like Claude to read live state and control aircraft in Microsoft Flight Simulator 2024 via SimConnect, FSUIPC7, and raw memory, offering 23 tools for simvars, events, autopilot, and more.23MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TabbedScamper/GTAV-CLAUDE-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server