Clarion Builder MCP Server
An MCP server providing Clarion development and build capabilities. This server enables automated Clarion IDE operations, project compilation, and build management using ClarionCL and MSBuild.
Features
- ClarionCL command execution
- Project generation and compilation
- Template management
- Dictionary import/export
- TXA file handling
- MSBuild integration
- Comprehensive build configuration
Tools
ClarionCL Operations
clarion_cl
Execute ClarionCL commands for IDE tasks.
- action: ClarionCL action to perform (required)
- Values:
generate
: Generate project filesimport-txa
: Import TXA filesexport-txa
: Export TXA filesexport-dict
: Export dictionaryimport-dict
: Import dictionaryregister-template
: Register a templateunregister-template
: Unregister a templatelist-templates
: List registered templatesregister-driver
: Register a driver
- Values:
- filePath: Path to APP/SLN/TXA/DCT file
- secondaryPath: Secondary path for import/export operations
- version: Clarion version to use (e.g., "Clarion 11.0 Enterprise Edition")
- conditionalGeneration: Enable conditional generation for generate action
- debugGeneration: Enable debug generation for generate action
- useWindowsRedirection: Use Windows redirection file (/win switch) (required)
- templateClass: Template class name for template operations
- redirectionFile: Redirection file to use (e.g., "Clarion110.red") (required)
Solution Building
compile_solution
Compile a Clarion solution using MSBuild.
- solutionPath: Full path to the .sln file (required)
- projectName: Name of specific project to compile (e.g., MyApp.app)
- targetName: Name of specific target/exe to build (e.g., MyApp.exe)
- configuration: Build configuration
- Values: 'Debug' or 'Release'
- platform: Target platform
- Values: 'Win32' or 'x64'
- clarionBinPath: Path to Clarion binaries
- logFile: Path for build log file
- additionalArgs: Additional MSBuild arguments
Build Options:
- checkIndex: Generate array index check code
- checkStack: Generate stack access check code
- lineNumbers: Add line numbers to MAP file
- generateMap: Generate MAP file
- stackSize: Stack size
- vid: Debug support level
- Values: 'full', 'min', 'off'
- model: Memory model
- Values: 'Dll', 'Lib', 'CustomDll'
- copyCoreFiles: Copy core DLLs
- defines: Semicolon-separated list of defines
Requirements
- Clarion 11.0 or higher
- Microsoft .NET Framework 4.0 or higher
- Visual Studio build tools
- Windows SDK
Installation
- Clone the repository:
git clone https://github.com/yourusername/clarion-builder-mcp-server.git
cd clarion-builder-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Add the server to your MCP settings file:
{
"mcpServers": {
"clarion-builder": {
"command": "node",
"args": ["path/to/clarion-builder-mcp-server/dist/index.js"],
"env": {}
}
}
}
Usage Examples
Generate Project
await mcp.use("clarion-builder", "clarion_cl", {
action: "generate",
filePath: "./src/MyApp.app",
version: "Clarion 11.0 Enterprise Edition",
conditionalGeneration: true,
useWindowsRedirection: true,
redirectionFile: "Clarion110.red"
});
Import/Export TXA
// Export TXA
await mcp.use("clarion-builder", "clarion_cl", {
action: "export-txa",
filePath: "./src/MyApp.app",
secondaryPath: "./backup/MyApp.txa",
useWindowsRedirection: true,
redirectionFile: "Clarion110.red"
});
// Import TXA
await mcp.use("clarion-builder", "clarion_cl", {
action: "import-txa",
filePath: "./src/MyApp.app",
secondaryPath: "./backup/MyApp.txa",
useWindowsRedirection: true,
redirectionFile: "Clarion110.red"
});
Compile Solution
await mcp.use("clarion-builder", "compile_solution", {
solutionPath: "./MyApp.sln",
configuration: "Release",
platform: "Win32",
generateMap: true,
vid: "full",
model: "Dll",
copyCoreFiles: true
});
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