Frida MCP
A Model Context Protocol (MCP) implementation for Frida dynamic instrumentation toolkit.
Overview
This package provides an MCP-compliant server for Frida, enabling AI systems to interact with mobile and desktop applications through Frida's dynamic instrumentation capabilities. It uses the official MCP Python SDK to enable seamless integration with AI applications.
Demo
https://github.com/user-attachments/assets/5dc0e8f5-5011-4cf2-be77-6a77ec960501
Features
Built with the official MCP Python SDK
Comprehensive Frida tools exposed through MCP:
Process management (list, attach, spawn, resume, kill)
Device management (USB, remote devices)
Interactive JavaScript REPL with real-time execution
Script injection with progress tracking
Process and device monitoring
Resources for providing Frida data to models
Prompts for guided Frida analysis workflows
Progress tracking for long-running operations
Full support for all MCP transport methods
Installation
Prerequisites
Python 3.8 or later
pip package manager
Frida 16.0.0 or later
Quick Install
Development Install
Claude Desktop Integration
To use Frida MCP with Claude Desktop, you'll need to update your Claude configuration file:
Locate your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Add the following to your configuration file:
Usage
Once installed, you can use Frida MCP directly from Claude Desktop. The server provides the following capabilities:
Process Management
List all running processes
Attach to specific processes
Spawn new processes
Resume suspended processes
Kill processes
Device Management
List all connected devices (USB, remote)
Get device information
Connect to specific devices
Smart Device Selection
Launch the server with the desired mode each time. For example:
frida-mcp --mode remote --remote-address 10.211.55.3 --remote-alias windows_vmThe command above pins future MCP requests to the remote Frida server at
10.211.55.3:27042
and exposes it asdevice_id="windows_vm"
.Available CLI flags:
--mode {local,usb,remote}
to force a specific target class.--remote-address <host[:port]>
and optional--remote-alias <name>
to register a remote endpoint for the session. When the port is omitted the default 27042 is used.--fallback-order remote,usb,local
(comma separated) to control automatic discovery order whendevice_id
is omitted.
Environment variables (
FRIDA_DEFAULT_DEVICE
,FRIDA_DEFAULT_REMOTE
,FRIDA_DEVICE_FALLBACKS
) still work and merge with CLI settings.Use the
configure_remote_device
tool at runtime to add or update remote endpoints without restarting the MCP server.
Interactive JavaScript REPL
Create interactive sessions with processes
Execute JavaScript code in real-time
Monitor process state and memory
Hook functions and intercept calls
Capture console.log output
Handle errors and exceptions gracefully
Script Injection
Inject custom JavaScript scripts
Track injection progress
Handle script errors and exceptions
Resources
Get Frida version information
Access process list in human-readable format
Access device list in human-readable format
Development
License
MIT
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables AI systems to interact with mobile and desktop applications through Frida's dynamic instrumentation capabilities. Provides process management, device control, JavaScript REPL execution, and script injection for runtime analysis and reverse engineering.