Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_fridaA

Return frida version + native lib presence + USB device list.

Soft-skip behaviour: when frida Python module or the native libfrida is missing, returns status: WARN with an install hint (pip install frida frida-tools). The rest of the plugin continues to work — re-frida's tools just return errors when called.

start_sessionA

Spawn target on the named device and open a Frida session.

Args: session: analyst-chosen session id. The MCP layer keeps a table mapping session id → live Frida session. Pick something readable (e.g. "android-game"). target: package name (Android), bundle ID (iOS), or absolute path to a native binary. device_id: "usb", "local", "remote:<addr>", or a specific device id. Empty string means the first available device. spawn_args: extra argv to pass to the target on spawn. wait: when True (default), block until the spawned process is unpaused.

Returns::

{
  "status": "OK",
  "session_id": "...",
  "pid": N,
  "device_id": "...",
  "kind": "spawn"
}
attach_pidA

Attach to a running process by host PID.

Args: session: session id pid: host PID of the target device_id: optional device id; empty means first available

Returns::

{
  "status": "OK",
  "session_id": "...",
  "pid": N,
  "device_id": "...",
  "kind": "attach"
}
end_sessionC

Tear down a session, unload scripts, detach from the process.

script_loadA

Compile + load a Frida script (JavaScript) into a session.

Args: session: session id name: a name to look the script up by in subsequent calls source: the JavaScript source. Frida injects V8 into the target process; standard Interceptor / Java.perform / ObjC.classes APIs are available inside the script.

Returns::

{"status": "OK", "session_id": "...", "script": "...", "scripts_loaded": [...]}
script_callA

Call method on a loaded script's exports.

Args: session: session id name: script name (from script_load) method: the JS-side export to call. Scripts declare exports via rpc.exports = { myFn(arg) { ... } }. args: JSON-serialisable positional arguments timeout_s: RPC timeout (default 10s)

Returns the return value, or the error string when the JS side threw.

enumerate_modulesA

List modules loaded in the session's target process.

Returns base address, size, and on-disk path for each module.

enumerate_exportsC

List exports of a single module.

hook_methodA

Install a tracing hook on module:symbol.

The hook captures both arguments (on-enter) and the return value (on-leave) and posts messages back to the Python side for the analyst to consume. Useful for tracing the dispatcher of an encrypted-VM bytecode interpreter, the handler of an MBA-obfuscated arithmetic routine, or the userland callback of an anti-debug check.

rpc_exportB

Register a stub Python-side RPC export the script side can call.

The function is a reflective shim that returns None; the analyst wires the real Python callable by calling re_frida.runner.rpc_export(session, name, fn) from a follow-up script. The MCP layer intentionally avoids taking a Python callable as a JSON argument (which the MCP protocol can't transport).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/Heretek-RE/re-frida'

If you have feedback or need assistance with the MCP directory API, please join our Discord server