Frida动态仪表化服务器

一个全功能的MCP服务器,用于Frida动态仪表化,支持设备管理、进程控制、脚本注入、内存操作和ADB集成。

  • by 1shin-7
  • Python
  • 本地部署
  • 37 星标
  • 更新于
在 GitHub 查看 1shin-7/ya-frida-mcp

使用说明

WIP:Ya Frida MCP

等待JsBridge修复 #3

Yet Another Frida MCP Server — Full-featured MCP server for Frida dynamic instrumentation.

English | 简体中文


市场上现有的Frida MCP服务器要么被废弃,要么维护不善,要么仅限于少数基本操作。 的 frida-mcp 从零开始构建,成为AI代理和Frida之间全面的、生产就绪的桥梁,涵盖设备管理、过程控制、脚本注入、内存操作,甚至开箱即用的ADB集成。

特性

59个MCP工具 在7个类别中,所有类别都返回结构化JSON,以实现最小的令牌消耗。

类别 工具 亮点
设备 frida_ls_devices frida_get_device frida_add_remote frida_remove_remote frida_query_system_parameters frida_enable_spawn_gating frida_disable_spawn_gating frida_enumerate_pending_spawn frida_enumerate_pending_children frida_inject_library_file frida_inject_library_blob 设备管理、系统信息、生成门控、本机库注入
过程 frida_ps frida_spawn frida_attach frida_detach frida_kill frida_resume frida_list_sessions 全过程生命周期; frida_ps 支持范围/pids, frida_spawn 支持argv/env/cwd/stdio
应用 frida_ls_apps frida_ls_apps_running frida_get_frontmost_application 具有范围/标识符过滤的应用程序枚举
脚本 frida_inject frida_rpc_call frida_unload_script frida_get_messages frida_list_scripts frida_enumerate_modules frida_enumerate_exports frida_list_exports frida_post_message frida_enable_child_gating frida_disable_child_gating frida_compile_script frida_snapshot_script frida_eternalize_script JS注入(QJS/V8)、RPC、子门控、字节码编译、脚本快照
记忆 frida_memory_read frida_memory_write frida_memory_scan frida_memory_protect 使用十六进制I/O进行读/写/扫描/保护
ADB公司 (可选) adb_shell adb_push adb_pull adb_install adb_logcat adb_forward adb_root … 17个工具,在以下情况下自动注册 adb 在PATH上
Frida服务器 (可选) frida_server_status frida_server_install frida_server_start frida_server_stop 通过ADB在Android上自动下载、推送和管理frida服务器

还包括:

  • MCP资源 --作为可订阅资源的实时设备列表、会话状态、进程/应用程序枚举
  • MCP提示 --用于原生挂钩、Java/ObjC挂钩、跟踪、模块转储的工作流模板
  • TOML配置 --自定义传输、默认设备、远程设备、超时
  • CLI实用程序 — doctor, devices, ps, ls, tools, install/uninstall 对于MCP客户
  • 单命令客户端设置 --注册到22多个MCP客户端,包括Claude Desktop、Cursor、VS Code、Windsurf、Roo Code、Cline、Kiro等
  • 结构化输出 --所有工具都返回紧凑的JSON Literal LLM友好模式的类型提示

快速入门

安装

# PyPI (recommended)
pip install ya-frida-mcp

# Or via uv
uv tool install ya-frida-mcp

注册到您的MCP客户端

# Pick your client
ya-frida-mcp install claude-desktop
ya-frida-mcp install cursor
ya-frida-mcp install vscode
ya-frida-mcp install windsurf
ya-frida-mcp install roo-code
ya-frida-mcp install cline

# All supported clients at once
ya-frida-mcp install all
All supported clients (22)
密钥 客户端
amazon-q Amazon Q开发者命令行界面
augment-code 增强代码
claude-desktop 克劳德桌面
claude-code 克劳德代码
cline 克莱恩
copilot-cli Copilot命令行界面
crush 粉碎
cursor 光标
gemini-cli Gemini CLI
kilo-code 基洛代码
kiro 基罗
lm-studio LM工作室
opencode 开放代码
qodo-gen Qodo Gen
qwen-coder Qwen编码器
roo-code Roo代码
trae 带来
vscode VS代码
vscode-insiders VS代码内部人员
warp 翘曲
windsurf 风帆冲浪
zed Zed

手动启动服务器

# stdio (default, used by MCP clients)
ya-frida-mcp serve

# SSE transport
ya-frida-mcp serve -t sse -H 0.0.0.0 -p 8000

配置(可选)

ya-frida-mcp init-config   # generates config.toml in current directory
ya-frida-mcp show-config    # display resolved config
ya-frida-mcp -c /path/to/config.toml serve
# config.toml
[server]
name = "ya-frida-mcp"
transport = "stdio"       # "stdio" or "sse"
host = "127.0.0.1"
port = 8000

[frida]
default_device = "local"  # "local", "usb", or device ID
script_timeout = 10
spawn_timeout = 15

[[frida.remote_devices]]
host = "192.168.1.100"
port = 27042

CLI参考

ya-frida-mcp doctor       # diagnose Frida connectivity
ya-frida-mcp devices      # list Frida devices
ya-frida-mcp ps            # list running processes (frida-ps)
ya-frida-mcp ls            # list installed apps (frida-ls)
ya-frida-mcp tools         # list all registered MCP tools
ya-frida-mcp version       # show version info

发展

# Clone
git clone https://github.com/1shin-7/ya-frida-mcp.git
cd ya-frida-mcp

# Install dependencies
uv sync

# Run in dev mode
uv run ya-frida-mcp serve

# Lint
uv run ruff check ya_frida_mcp/

# List tools (verify registration)
uv run ya-frida-mcp tools

项目结构

ya_frida_mcp/
├── cli.py              # Click CLI entry point
├── config.py           # TOML configuration management
├── installer.py        # MCP client config installers
├── server.py           # FastMCP server factory + lifespan
├── resources.py        # MCP resources
├── prompts.py          # MCP workflow prompts
├── core/
│   ├── base.py         # ABC base classes + async helpers
│   ├── device.py       # Frida device wrapper + manager
│   ├── session.py      # Session + script lifecycle
│   ├── adb.py          # ADB CLI async wrapper
│   ├── frida_server.py # frida-server download & deploy logic
│   └── output.py       # Structured output helpers
└── tools/
    ├── device.py       # Device discovery tools
    ├── process.py      # Process management tools
    ├── app.py          # App enumeration tools
    ├── script.py       # Script injection + RPC tools
    ├── memory.py       # Memory read/write/scan tools
    ├── adb.py          # ADB CLI tools (optional)
    └── frida_server.py # frida-server management tools (optional)

积分

许可证

麻省理工学院