← Registry

Game Development

fivem.no

Search and browse RedM/RDR3 documentation with semantic search, namespace listing, path enumeration, document fetching, and line reading tools.

1 endpoint10 known toolsFirst detected July 25, 2026Last detected August 29, 2026

ENDPOINT 1

https://redm-mcp.fivem.no/mcp

No auth detected

MCP server metadata

Name
redm-mcp
Version
0.1.0
Capabilities
tools.listChanged
Server instructions

RedM/RDR3 docs server (natives + VORP + RSGCore + oxmysql + rdr3_discoveries + jo_libs). Decision tree — pick the tool by what you have, not by topic: 1. Script native — `Citizen.InvokeNative(0x...)`, `Citizen.invokeNative('0x...')`, `GetHashKey('NAME')`, or SCREAMING_SNAKE_CASE name (`SET_ENTITY_COORDS`, `GetPedHealth`) → `lookup_native({ hash })` or `lookup_native({ name })`. O(1), exact. Native hashes are 64-bit (`0x06843DA7060A026B`). 2. Game-data asset — ped model (`a_c_bear_01`), weapon (`weapon_pistol_volcanic`), object/prop (`p_safe01x`), door (model name or numeric/hex hash), vehicle (`ArmySupplyWagon`). 32-bit jenkins hashes (`0xBCFD0E7F`). → `asset_lookup({ name })`, `asset_lookup({ hash })`, or `asset_lookup({ search, type? })`. O(1) structured — returns hash + canonical name + per-type metadata (peds: variants + relationship group, weapons: group, doors: coords + model hash). Use this instead of grepping `peds_list.lua` + cross-referencing `RELATIONSHIP/README.md`. 3. Other exact literal token — a walkstyle/clipset (`MP_Style_Casual`, `mech_loco_m@`), a CPED config flag (`PCF_DisablePlayerAutoHolster`), a scenario key (`MAGGIE_SEAT_CHAIR_DESK_WRITING`), a jo_libs API symbol (`jo.menu.create`, `jo.callback.register`), an audio bank or animation dict name, or any string you'd grep for → `grep_docs({ pattern })`. REQUIRED for the largest rdr3_discoveries data tables (audio_banks, ingameanims_list, cloth_drawable_albedo_normal_material, cloth_hash_names, megadictanims, entity_extensions___particleEffect, imaps_with_coords, propsets_list, vehicle_bones) — those are only preview-indexed for embeddings, so `semantic_search` won't find tokens in them. Once grep returns a hit at `path:line` in one of these, read the surrounding block with `read_lines({ path, start, end })` — `get_document` can't slice arbitrary line ranges. 4. Behavior / concept / "how do I X" — you don't know any specific name, just what you want ("teleport player", "apply combat style", "spawn horse", "inventory add item", "show notification", "build a menu") → `semantic_search({ query })`. Hybrid by default (vector + lexical fused via RRF) so it ALSO handles exact-token queries like `addItem`, `weapon_pistol_volcanic`, `MP_Style_Casual`. Optionally `mode=lexical` for pure BM25 or `mode=semantic` for pure vector. Optionally `category=vorp|rsgcore|oxmysql|natives|discoveries|jo_libs` to narrow. Community findings (`share_finding`) are merged into results by default; use `category=learnings` to return only findings. 5. Enumerate what exists — `list_namespaces` (structure), `browse({ category, namespace })` (file paths). 6. Have a known doc path — `get_document({ path })` for full markdown or a section `heading`; `read_lines({ path, start, end })` for an exact 1-based line range (e.g. reading around a `grep_docs` hit in a large or preview-only lua table, where `get_document` can't slice offsets). For individual natives prefer `lookup_native` instead. 7. Solved something non-trivial that wasn't in the docs — `share_finding({ title, body })`. Helps the next agent. Skip if it's project-specific or you're guessing. 8. About to write code that calls natives in JS/TS or Lua — `get_invoke_guide({ language })` ONCE per session. Loads the calling-convention reference (result modifiers, type mapping, gotchas) into context. Native doc pages only contain Lua examples; this guide is how you translate them to JS/TS correctly. Rules: - ALWAYS resolve unknown hashes/names before suggesting changes around them — do not guess parameter order or types. - Exact tokens → grep, not semantic_search. "shotgun hash" → `grep_docs({ pattern: "shotgun", category: "discoveries" })`, not embeddings. - Concepts → semantic_search, not grep. "how to damage a ped" → semantic_search. - Framework calls (`exports.vorp_core:...`, `QBCore.Functions...`) → semantic_search with `category=vorp|rsgcore|oxmysql`. - jo_libs / Jump-On-Studios resources (`jo.*` API, framework-bridge, hooks/actions/filters, RedM scripts like housing/stable/camp-builder) → semantic_search or grep with `category=jo_libs`. - Hash and grep lookups are cheap — prefer over guessing. - lookup_native results include `warnings[]` — read them before writing code. They flag gotchas (Vector3 needs InvokeNative, entity-creation needs cleanup, `*` pointer params are buffers/out-slots, `*_THIS_FRAME`/`DRAW_*` are per-frame, etc.). - RedM string→hash: build Hash args from name strings with `GetHashFromString(name)` — the joaat-equivalent RedM global, NOT in the native list (distinct from its inverse `GET_STRING_FROM_HASH_KEY`). Needed for component categories, control actions, texture assets, blip colors, game-event names. - Vector3-returning natives MUST use Citizen.InvokeNative + Citizen.ResultAsVector() in JS/TS — the Lua wrapper doesn't exist. - Entity-spawning natives (CREATE_PED, CREATE_VEHICLE, …) — always null-check the return and register cleanup on resource stop. - When a finding is linked to a native (findings[] in lookup_native results), read it — it documents a real gotcha someone hit in production.

Known tools 10

semantic_search

Search RedM/RDR3 docs by behavior, concept, OR exact token.

Inferred read-only
list_namespaces

Orient yourself: list available doc categories and their namespaces.

Inferred read-only
browse

Enumerate doc paths in a category/namespace.

Inferred read-only
get_document

Fetch full markdown of a doc by `path` (as returned by `browse`, `semantic_search`, or `grep_docs`).

Inferred read-only
read_lines

Read an exact line range from a raw doc file by absolute line number — the windowed-read companion to `grep_docs`.

Inferred read-only
grep_docs

Find an EXACT literal token in raw doc files (markdown + lua).

Inferred read-only
lookup_native

Resolve a RedM/RDR3 SCRIPT native by hash or name — O(1), exact.

Inferred read-only
asset_lookup

Resolve a RedM game-data asset (ped model, weapon, object, door, vehicle) by exact name, 32-bit hash, or partial-name search.

Inferred read-only
share_finding

Share a verified finding back to the docs corpus so the next agent can find it.

Inferred read-only
get_invoke_guide

Load the calling-convention reference for RedM/RDR3 natives in `js` or `lua`.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.redm-mcp]
url = "https://redm-mcp.fivem.no/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "redm-mcp": {
      "type": "http",
      "url": "https://redm-mcp.fivem.no/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: redm-mcp
Remote MCP URL: https://redm-mcp.fivem.no/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "redm-mcp": {
      "url": "https://redm-mcp.fivem.no/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "redm-mcp": {
      "type": "http",
      "url": "https://redm-mcp.fivem.no/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "redm-mcp",
  "transport": "streamable-http",
  "url": "https://redm-mcp.fivem.no/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for fivem.no was fetched 2026-09-04T22:51:38.639Z.

Trust status Trusted

fivem.no is assessed as Trusted: Domain has an established technology history spanning over a year.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.