Skip to main content

Model Context Protocol implementation for Frida

Project description

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/dnakov/frida-mcp/raw/main/docs/assets/frida-mcp.mov

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 sessions
    • Script injection with progress tracking
  • 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

pip install frida-mcp

Development Install

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

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

Claude Desktop Integration

To use Frida MCP with Claude Desktop, you'll need to update your Claude configuration file:

  1. 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
  2. Add the following to your configuration file:

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

Alternatively, you can use the MCP CLI to install the server:

# Install using the module path
mcp install -m frida_mcp.cli

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

Interactive JavaScript REPL

  • Create interactive sessions with processes
  • Execute JavaScript code in real-time
  • Monitor process state and memory
  • Hook functions and intercept calls

Script Injection

  • Inject custom JavaScript scripts
  • Track injection progress
  • Handle script errors and exceptions

Development

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

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

License

MIT

Project details


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-0.1.1.tar.gz (7.1 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-0.1.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file frida_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: frida_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for frida_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e6636861f2cabdf1c77ca63ae368decb1b6602d7d997862a0e2280f70614cd2c
MD5 1412672f9f19e755f572adf10b73fde7
BLAKE2b-256 38b9e0380dadb8d941142ecf9db8df72159c545e13bc3b110f42f0c971edce19

See more details on using hashes here.

File details

Details for the file frida_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: frida_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for frida_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55c63cf190c17997b13055f83e29941b9373322e96b8b97846dfb54a355896ee
MD5 9008d2f4cce18765d9da3ce3ac8b39bc
BLAKE2b-256 910452eaef9685b3eea109dcc541dd4a336098c0bb00e6ed03d06818013d321b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page