get_exports
Retrieve a complete list of exports from a binary file using IDA Pro for reverse engineering and binary analysis tasks, enabling efficient extraction of function and symbol details.
Instructions
Get list of exports from the binary
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- index.ts:679-709 (handler)MCP server tool handler for 'get_exports': validates arguments using isValidGetExportsArgs, calls ida.getExports() to fetch exports from IDA Pro remote server, formats the result as text content with count and JSON-stringified exports list, handles errors.case 'get_exports': if (!isValidGetExportsArgs(request.params.arguments)) { throw new McpError( ErrorCode.InvalidParams, 'Invalid get exports arguments' ); } try { const result = await ida.getExports(); return { content: [ { type: 'text', text: `Retrieved ${result.count} exports from the binary:\n\n${JSON.stringify(result.exports, null, 2) }`, }, ], }; } catch (error: any) { return { content: [ { type: 'text', text: `Error getting exports: ${error.message || error}`, }, ], isError: true, }; }
- index.ts:342-349 (registration)Tool registration in the ListTools response: defines 'get_exports' tool with no input parameters.name: 'get_exports', description: 'Get list of exports from the binary', inputSchema: { type: 'object', properties: {}, required: [], }, },
- index.ts:81-83 (schema)TypeScript interface defining the input arguments for get_exports tool (empty object).interface GetExportsArgs { // No parameters required }
- index.ts:160-165 (helper)Type guard/validator function to check if arguments match GetExportsArgs schema.const isValidGetExportsArgs = (args: any): args is GetExportsArgs => { return ( typeof args === 'object' && args !== null ); };
- idaremoteclient.ts:310-312 (handler)Core implementation in IDARemoteClient: performs HTTP GET request to IDA Pro remote server's /exports endpoint to retrieve export information.async getExports(): Promise<ExportsResponse> { return this.get<ExportsResponse>('/exports'); }