MCP Server Tool Reference
The Paquet Builder MCP Server exposes over 20 tools for managing installer projects programmatically. This page documents each tool’s purpose, parameters, and behavior.
Tools at a Glance
Section titled “Tools at a Glance”| Tool | Description |
|---|---|
open_project | Open an existing .pbpx project file |
close_project | Close the current project |
save_project | Save the project to disk |
new_project | Create a new blank project |
list_recent_projects | List recently opened project files |
get_project_info | Get a comprehensive project overview |
| Tool | Description |
|---|---|
get_setting | Read any project setting |
set_setting | Modify a project setting |
get_setting_info | Get documentation for a setting |
find_relevant_settings | Search settings by natural language |
| Tool | Description |
|---|---|
collection_query | Query files, variables, localization, registry, shortcuts, or screens |
collection_mutate | Add, update, or delete items in any collection |
| Tool | Description |
|---|---|
custom_actions_query | List and inspect custom actions |
custom_actions_mutate | Add, update, delete, move, or duplicate actions |
custom_actions_validate | Validate action configuration and control flow |
| Tool | Description |
|---|---|
compile | Compile the project into an installer |
get_build_log | Retrieve the compilation log |
search_doc | Full-text search across documentation |
filesystem | Read or write files on disk |
execute_directive | Run a directive file (.pbd) |
Project Management
Section titled “Project Management”open_project
Section titled “open_project”Opens an existing Paquet Builder project file.
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Full path to the .pbpx project file |
Returns: Project summary including title, company, version, output path, and key settings.
close_project
Section titled “close_project”Closes the currently loaded project. No parameters.
save_project
Section titled “save_project”Saves the current project to disk. Usually not needed since changes are auto-saved after every mutation.
new_project
Section titled “new_project”Creates a new blank project.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Project title |
output_path | string | No | Output directory for the compiled package |
install_dir | string | No | Default installation directory |
list_recent_projects
Section titled “list_recent_projects”Returns a list of recently opened project files with their paths. No parameters.
get_project_info
Section titled “get_project_info”Returns a comprehensive overview of the current project: title, company, version, output settings, architecture, compression, signing status, component count, variable count, and more. No parameters.
Settings
Section titled “Settings”get_setting
Section titled “get_setting”Reads the current value of a project setting.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | The setting key (e.g., compressionlzma2, digitalsign, title) |
set_setting
Section titled “set_setting”Modifies a project setting. The change is applied and saved immediately.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | The setting key |
value | string | Yes | The new value |
get_setting_info
Section titled “get_setting_info”Returns detailed metadata about a setting: data type, allowed values, effects on other settings, dependencies, warnings, and documentation link.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes | The setting key |
find_relevant_settings
Section titled “find_relevant_settings”Searches for settings matching a natural language description. Supports both English and French queries.
| Parameter | Type | Required | Description |
|---|---|---|---|
intent | string | Yes | Natural language description (e.g., "compression options", "options de signature") |
Returns: A ranked list of matching settings with keys, labels, and descriptions.
Collections
Section titled “Collections”collection_query
Section titled “collection_query”Queries items in one of 6 collection domains.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | files, variables, localization, registry, shortcuts, or screens |
query | string | Yes | list, details, search, or schema |
id | string | No | Item identifier (for details) |
search | string | No | Search term (for search) |
limit | number | No | Maximum results to return |
include_properties | boolean | No | Include full property details in list results |
| Domain | Description |
|---|---|
| files | Components and their files (list components, view file lists, search files) |
| variables | Project variables (list, search, view details) |
| localization | Resource strings and languages |
| registry | Registry entries created by the installer |
| shortcuts | Start Menu and Desktop shortcuts |
| screens | HTML content for installer screens (Welcome, License, Readme, Final) |
| Query | Description |
|---|---|
list | List all items in the domain |
details | Get full details for a specific item (requires id) |
search | Search for items matching a term (requires search) |
schema | Get the schema describing available properties |
collection_mutate
Section titled “collection_mutate”Adds, updates, or deletes items in a collection. Changes are applied and saved immediately.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Collection domain (same as above) |
action | string | Yes | add, update, delete, set_content, clear_content, or copy_content |
targets | array | No | Target items (component names, variable names, etc.) |
values | object | No | Properties to set or update |
options | object | No | Additional options (varies by domain and action) |
Custom Actions
Section titled “Custom Actions”custom_actions_query
Section titled “custom_actions_query”Lists and inspects custom actions across the 15 available events.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | list, details, search, or schema |
event | string | No | Event name (e.g., afterextraction, initialization, finalization) |
action_id | string | No | Action identifier (for details) |
search | string | No | Search term |
limit | number | No | Maximum results |
All 15 event names
| Event | Description |
|---|---|
initialization | Package startup |
afterwelcome | After the welcome screen |
afterstartreadme | After the readme screen |
beforeextraction | Before file extraction begins |
afterextraction | After files are extracted |
aftershortcuts | After shortcuts are created |
aftersetup | After setup execution |
beforefinalscreen | Before the final screen |
finalization | Package cleanup |
uninstinit | Uninstaller startup |
uninstbefore | Before uninstall operations |
uninstafter | After uninstall operations |
uninstfinalize | Uninstaller cleanup |
dlgcomponentselect | Component selection dialog |
dlgdestfolder | Destination folder dialog |
custom_actions_mutate
Section titled “custom_actions_mutate”Adds, updates, deletes, moves, duplicates, or toggles custom actions.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | add, update, delete, move, duplicate, set_enabled, or clear_event |
event | string | Yes | Target event name |
action_id | string | No | Target action identifier |
action_type | string | No | Action class for add (e.g., TCreateShortcutInfo, TConditionalIfThenInfo) |
values | object | No | Properties to set |
insert | string | No | Insert position: before or after |
reference_action_id | string | No | Reference action for positioning |
enabled | boolean | No | Enable/disable state (for set_enabled) |
custom_actions_validate
Section titled “custom_actions_validate”Validates custom action configuration and control flow before applying changes.
| Parameter | Type | Required | Description |
|---|---|---|---|
scope | string | Yes | action, event, or all |
event | string | No | Event to validate |
action_id | string | No | Specific action to validate |
action_type | string | No | Action type (for property validation) |
values | object | No | Property values to check |
deep | boolean | No | Include control flow validation (If/Then nesting, For/Next loops) |
compile
Section titled “compile”Triggers a full compilation of the current project. Returns success/failure status with basic build information (output path, file size). No parameters.
get_build_log
Section titled “get_build_log”Retrieves the detailed compilation log from the last build, including all phases, errors, warnings, and timing information. No parameters.
Documentation and Filesystem
Section titled “Documentation and Filesystem”search_doc
Section titled “search_doc”Performs a full-text search across the Paquet Builder documentation.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search query |
limit | number | No | Maximum results (default: 5) |
Returns: Ranked results with file path, section title, text snippet, and relevance score.
filesystem
Section titled “filesystem”Performs file operations on the local filesystem.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | read, write, list, or exists |
path | string | Yes | File or directory path |
pattern | string | No | Glob pattern (for list) |
content | string | No | File content (for write) |
append | boolean | No | Append mode (for write) |
limit | number | No | Max entries (for list) |
offset | number | No | Offset (for list) |
execute_directive
Section titled “execute_directive”Executes a directive file (.pbd) for batch project creation or modification.
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Full path to the .pbd directive file |
Example Session
Section titled “Example Session”Here is an example showing how an AI client might use the MCP tools to configure and build an installer:
-
Open the project
open_project("C:\\Projects\\myapp.pbpx")→ "My Application 1.0 by Acme Software — 3 components, 142 files" -
Update settings
set_setting("title", "My Application 2.0")→ Setting updated and savedset_setting("compressionlzma2", "1")→ LZMA2 compression enabled -
Add a component
collection_mutate(domain="files", action="add",targets=["Plugins"],values={"title": "Plugins", "description": "Optional plugins"})→ Component "Plugins" created -
Add a custom action
custom_actions_mutate(action="add", event="afterextraction",action_type="TCreateShortcutInfo",values={"ShortcutName": "My Application","ShortcutTarget": "%DESTPATH%\\myapp.exe"})→ Shortcut action added to After Extraction -
Compile and check
compile()→ Build successful: C:\Output\Setup.exe (12.4 MB)get_build_log()→ Full compilation log with timing and status