C++ Builder MCP Server
by MCP-Mirror
An MCP server providing C++ DLL compilation and analysis capabilities. This server enables building C++ DLLs with specific export settings and analyzing DLL exports using Visual Studio build tools.
View on GitHub
Last updated: N/A
C++ Builder MCP Server
An MCP server providing C++ DLL compilation and analysis capabilities. This server enables building C++ DLLs with specific export settings and analyzing DLL exports using Visual Studio build tools.
Features
- C++ DLL compilation with MSBuild
- Custom export settings via .def files
- DLL export analysis using dumpbin
- Configurable build settings
- Platform and configuration targeting
- Detailed build output
Tools
DLL Compilation
compile_dll
Compile a C++ DLL with specific export settings using MSBuild.
- projectPath: Path to the .vcxproj file (required)
- configuration: Build configuration (optional)
- Values: 'Debug' or 'Release'
- Default: 'Release'
- platform: Target platform (optional)
- Values: 'x86' or 'x64'
- Default: 'x86'
- defFile: Path to .def file for exports (optional)
- Specifies exported functions and their attributes
- Used to control which functions are exposed by the DLL
The tool uses Visual Studio's MSBuild to compile the DLL, providing:
- Full build output with warnings and errors
- Support for different configurations and platforms
- Module definition file integration
- Detailed build logs
Export Analysis
analyze_exports
Analyze exports from a compiled DLL using dumpbin.
- dllPath: Path to the DLL file (required)
The analysis provides:
- List of all exported functions
- Export ordinals
- Function names and addresses
- Export forwarding information
- Detailed export table analysis
Requirements
- Visual Studio 2022 Community Edition or higher
- Visual C++ build tools
- Windows SDK
Installation
- Clone the repository:
git clone https://github.com/yourusername/cpp-builder-mcp-server.git
cd cpp-builder-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Add the server to your MCP settings file:
{
"mcpServers": {
"cpp-builder": {
"command": "node",
"args": ["path/to/cpp-builder-mcp-server/dist/index.js"],
"env": {}
}
}
}
Usage Examples
Compile DLL
// Basic compilation
await mcp.use("cpp-builder", "compile_dll", {
projectPath: "./src/MyLibrary.vcxproj"
});
// Compilation with specific settings
await mcp.use("cpp-builder", "compile_dll", {
projectPath: "./src/MyLibrary.vcxproj",
configuration: "Debug",
platform: "x64",
defFile: "./src/exports.def"
});
Analyze DLL Exports
await mcp.use("cpp-builder", "analyze_exports", {
dllPath: "./bin/Release/MyLibrary.dll"
});
Development
- Make changes to the source code
- Run tests:
npm test
- Build the project:
npm run build
Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT