Skip to main content

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 is built on FastMCP to enable seamless integration with AI applications.

Features

  • Built with FastMCP
  • stdio (default), streamable HTTP, and SSE transports
  • 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.10 or later
  • pip package manager
  • Frida 16.0.0 or later

Quick Install

pip install frida-mcp-server

Development Install

# Clone the repository
git clone https://github.com/yourusername/frida-mcp.git
cd frida-mcp

# Install in development mode with extra tools
uv venv && uv pip install -e ".[dev]"

Running

# stdio (default, what MCP clients expect)
frida-mcp-server

# streamable HTTP
frida-mcp-server --transport streamable-http --host 0.0.0.0 --port 1337

# legacy SSE
frida-mcp-server --transport sse --port 1337

Client Integration

Claude Code

Add frida via the CLI:

# Stdio transport (default)
claude mcp add frida --transport stdio -- frida-mcp-server

# Or streamable HTTP transport
claude mcp add frida --transport http http://127.0.0.1:1337/mcp

Or add it directly to your configuration file (.mcp.json or ~/.claude.json):

{
  "mcpServers": {
    "frida": {
      "command": "frida-mcp-server"
    }
  }
}

Codex

Add frida via the Codex CLI:

# Stdio transport (default)
codex mcp add frida -- frida-mcp-server

# Or streamable HTTP transport
codex mcp add frida --url http://127.0.0.1:1337/mcp

Or configure it in ~/.codex/config.toml (or project .codex/config.toml):

# Stdio transport
[mcp_servers.frida]
command = "frida-mcp-server"

# Or HTTP transport
# [mcp_servers.frida]
# url = "http://127.0.0.1:1337/mcp"

Crush

Add frida to your ~/.config/crush/crushrc (or .crushrc):

# Stdio transport
mcp add frida \
  --command frida-mcp-server

# Or streamable HTTP transport
mcp add frida --type http \
  --url "http://127.0.0.1:1337/mcp"

Or configure it in crush.json:

{
  "mcp": {
    "frida": {
      "type": "stdio",
      "command": "frida-mcp-server"
    }
  }
}

Usage

Once configured, you can use Frida MCP directly from your AI agent/client (Claude Code, Codex, Crush, etc.). 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

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

# Clone repository
git clone https://github.com/yourusername/frida-mcp.git
cd frida-mcp

# Install development dependencies
uv venv && uv pip install -e ".[dev]"

# Run tests (frida is mocked, no device needed)
python -m pytest tests -q

License

GNU GPL v3.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frida_mcp_server-1.0.1.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frida_mcp_server-1.0.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file frida_mcp_server-1.0.1.tar.gz.

File metadata

  • Download URL: frida_mcp_server-1.0.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for frida_mcp_server-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4875d30795ea968982d037368cd3e5aa8d46ff6ab1ffb2880715e8f3f855fa59
MD5 b149b6e38d6bc90b427daeb38edd2b96
BLAKE2b-256 5e2b0784ad642578a398428fc3ca3f1297935338b9042c9ca9bffa70aa2884cd

See more details on using hashes here.

File details

Details for the file frida_mcp_server-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: frida_mcp_server-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for frida_mcp_server-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ad40d0c25a38039ec91219dd60307a2a45c73f92eb7d4670dc26b580424ebbe
MD5 4ad521aa9a8e7e83086e1bef6b1e5a26
BLAKE2b-256 ab32abef501a23ab761be5170a155d8bd8ea480bca77725fd5e65d1a217ca48b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page