Skip to main content
Glama

MCP Delphi Build Server

An MCP (Model Context Protocol) server that exposes tools to build and clean Delphi projects (.dproj/.groupproj) on Windows using MSBuild, initializing the RAD Studio environment via rsvars.bat.

Prerequisites

  • Windows

  • Node.js >= 18

  • Embarcadero RAD Studio installed (for rsvars.bat and Delphi toolchain)

  • MSBuild available (Visual Studio Build Tools or from RAD Studio toolchain)

Installation

pnpm install pnpm run build

Or with npm:

npm install npm run build

Configuration

You can configure defaults via environment variables (use an .env file in this directory if you want):

  • RSVARS_BAT: Full path to rsvars.bat (e.g., C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\rsvars.bat)

  • MSBUILD_PATH: Full path to msbuild.exe if not in PATH

  • DELPHI_CONFIG: Default config (Debug/Release). Default: Release

  • DELPHI_PLATFORM: Default platform (Win32/Win64). Default: Win32

Create a .env file like:

RSVARS_BAT=C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\rsvars.bat MSBUILD_PATH=C:\Program Files\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe DELPHI_CONFIG=Release DELPHI_PLATFORM=Win32

Running

This server speaks MCP over stdio. Start it with:

node --env-file=.env dist/server.js

Or, after installing globally (or as a dependency), run the bin:

mcp-delphi-server

During development:

pnpm run dev

Tools

  • delphi.build

    • params: project (string, path to .dproj/.groupproj), configuration? (string), platform? (string), msbuildPath? (string), rsvarsPath? (string)

    • Builds the project using MSBuild. If rsvarsPath (or RSVARS_BAT env) is provided, it will be called before MSBuild in a single shell.

  • delphi.clean

    • params: same as delphi.build

    • Cleans the project.

  • fpc.build

    • params: source (string, path to .lpr/.pas), output? (string), defines? (string[]), unitPaths? (string[]), includePaths? (string[]), cpu? (string), os? (string), fpcPath? (string)

    • Compiles a Pascal program using Free Pascal Compiler. You can pass an explicit fpcPath or rely on PATH.

  • lazarus.build

    • params: project (string, path to .lpi), buildMode? (string), cpu? (string), os? (string), lazbuildPath? (string)

    • Builds a Lazarus project using lazbuild. Optionally set CPU/OS or build mode.

  • lazarus.clean

    • params: project (string, path to .lpi), lazbuildPath? (string)

    • Cleans Lazarus build artifacts via lazbuild --clean.

Test projects and scripts

This repo includes small Delphi test projects in test/projects, and a Lazarus sample in test/projects/lazarus. Helper scripts live in scripts/.

  • Build all Release targets:

    • pnpm run test:build:all

  • Build individually (examples):

    • pnpm run test:build:console:win32

    • pnpm run test:build:console:win64

    • pnpm run test:build:vcl:win32

    • pnpm run test:build:vcl:win64

    • pnpm run test:build:group:win32

    • pnpm run test:build:group:win64

  • Clean variants also exist under test:clean:*.

Example invocations

  • Delphi via MSBuild

{ "name": "delphi.build", "arguments": { "project": "C:/path/to/MyApp.dproj", "configuration": "Release", "platform": "Win64" } }
  • FPC on Windows (using explicit compiler path)

{ "name": "fpc.build", "arguments": { "source": "C:/path/to/lazarus/project1.lpr", "cpu": "x86_64", "os": "win64", "fpcPath": "C:/path/to/fpc.exe" } }
  • Lazarus via lazbuild on Windows

{ "name": "lazarus.build", "arguments": { "project": "C:/path/to/lazarus/project1.lpi", "cpu": "x86_64", "os": "win64", "lazbuildPath": "C:/path/to/lazbuild.exe" } }

Notes

  • Windows-first. Delphi integration requires RAD Studio toolchain and MSBuild.

  • For RAD Studio, rsvars.bat sets required environment variables (like BDS, FrameworkDir, Library path). It is recommended to set RSVARS_BAT to ensure the Delphi toolchain is available to MSBuild.

  • Group projects (.groupproj) are supported; MSBuild will traverse contained projects.

  • FPC/Lazarus support is included via fpc and lazbuild. Provide explicit paths on Windows if they are not in PATH.

Publish

  • Ensure dist is built: pnpm run build

  • Optionally test locally via: pnpm run test:build:all

  • Publish to npm:

    • npm publish (or pnpm publish)

If publishing under a scope, set the package name accordingly and ensure you are logged in with proper access.

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Facilitates interactive software development planning by managing tasks, tracking progress, and creating detailed implementation plans through the Model Context Protocol.
    Last updated -
    6
    17
    385
    MIT License
    • Apple
  • -
    security
    F
    license
    -
    quality
    Provides software development planning tools to help users create implementation plans and manage todo items.
    Last updated -
    3
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    Provides tools for analyzing project structures, searching through codebases, managing dependencies, and performing file operations with advanced filtering capabilities.
    Last updated -
    6
    19
    1
    MIT License
  • -
    security
    A
    license
    -
    quality
    A profile-based build automation server powered by MCP that manages, executes, and monitors build processes across multiple projects with features like build queuing, asynchronous execution, and file-watching for automatic rebuilds.
    Last updated -
    1
    GPL 3.0
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flydev-fr/mcp-delphi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server