Skip to content

Proposal: Add MCP (Model Context Protocol) Server for AI-Powered GUI Automation #3644

Description

@lxcxjxhx

Motivation

Cutter's GUI is powerful but manual. Adding MCP Server support would enable AI Agents to automate analysis workflows:

  • Batch processing: AI can analyze multiple binaries without manual GUI interaction
  • Report generation: Automated analysis reports with AI-driven insights
  • Function annotation: AI can rename functions, add comments, and document code
  • Graph generation: Automated call graph and CFG generation for documentation
  • Integration: Connect Cutter with AI-powered analysis pipelines

Proposed Implementation

I'd like to contribute an MCP Server module integrated with Cutter's plugin system:

Core Tools (8 tools)

  1. open_project - Open/create analysis projects
  2. save_project - Save project state
  3. get_functions - List all functions with metadata
  4. rename_function - Rename functions programmatically
  5. add_comment - Add comments to functions/addresses
  6. generate_callgraph - Generate call graph (DOT format)
  7. generate_cfg - Generate control flow graph
  8. export_analysis - Export analysis results

Technical Approach

  • Integrate with Cutter's Python API (PythonAPI.h)
  • Use CutterPlugin base class for integration
  • Leverage rizin backend for analysis
  • Implement MCP 1.0 protocol
  • Support stdio/SSE/HTTP transports
  • Include test suite

Benefits

  • Enables AI-assisted reverse engineering workflows
  • Automates repetitive analysis tasks
  • Generates documentation automatically
  • Integrates with existing Cutter plugin system

Request for Feedback

I'd like to:

  1. Confirm this fits Cutter's architecture
  2. Get feedback on using Python API vs C++ plugin
  3. Understand contribution process for plugins
  4. Learn about any existing automation efforts

Ready to implement after maintainer approval.

Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions