Information
pcm
PCM (MCP 但顺序相反),用于逆向工程的 MCP。
特性
分析
IDA
repl (IDAPython)
反汇编
反编译
设置类型
...
内存
交互报告
特性完整列表
- \`get_function_by_name(name)\`: Get a function by its name.
- \`get_function_by_address(address)\`: Get a function by its address.
- \`get_current_address()\`: Get the address currently selected by the user.
- \`get_current_function()\`: Get the function currently selected by the user.
- \`list_functions()\`: List all functions in the database.
- \`decompile_function(address)\`: Decompile a function at the given address using Hex-Rays.
- \`disassemble_function(address)\`: Get assembly code (address: instruction; comment) for a function.
- \`get_entrypoints()\`: Get all entrypoints in the binary.
- \`get_function_blocks(address)\`: Get all basic blocks in a function.
- \`get_function_cfg(address)\`: Get control flow graph for a function.
- \`get_xrefs_to(address)\`: Get all cross references to the given address.
- \`get_xrefs_from(address)\`: Get all cross references from the given address.
- \`set_decompiler_comment(address, comment)\`: Set a comment for a given address in the function pseudocode.
- \`set_disassembly_comment(address, comment)\`: Set a comment for a given address in the function disassembly.
- \`rename_local_variable(function_address, old_name, new_name)\`: Rename a local variable in a function.
- \`rename_function(function_address, new_name)\`: Rename a function.
- \`set_function_prototype(function_address, prototype)\`: Set a function's prototype.
- \`set_local_variable_type(function_address, variable_name, new_type)\`: Set a local variable's type.
- \`create_structure_type(name, members, is_union)\`: Create a new structure type.
- \`get_metadata()\`: Get metadata about the current IDB.
- \`repl_idapython(content)\`: Run IDAPython code and return the results with stdout/stderr captured.
- \`add_note(title, content, address, tags)\`: Add a new analysis note for the current binary.
- \`update_note(note_id, title, content, tags)\`: Update an existing note.
- \`get_notes(file_md5, address, tag)\`: Get analysis notes for a binary.
- \`delete_note(note_id)\`: Delete an analysis note.
安装
先决条件:
uv
克隆仓库
git clone https://github.com/rand-tech/pcm
将 pcm 添加到你的 mcp 配置中
示例
\{
"mcpServers": \{
"pcm": \{
"command": "uv",
"args": [
"--directory",
"path_to/pcm",
"run",
"server.py"
]
\}
\}
\}
使用 MCP
相关项目:
https://github.com/mrexodia/ida-pro-mcp
https://github.com/MxIris-Reverse-Engineering/ida-mcp-server
致谢:
本项目基于 Duncan Ogilvie (@mrexodia) 的 IDA Pro MCP。感谢他
许可证:
本项目使用 MIT 许可证 - 详情请参阅 LICENSE 文件。原始代码也使用 MIT 许可证。