Parcel MCP
What is Parcel MCP?
The Parcel MCP server lets AI assistants interact directly with Parcel's packaging tools. Your assistant can create packaging configurations from your .NET projects, set up code signing and notarisation, and build installers for Windows, macOS, and Linux, all from a natural language conversation.
For a general introduction to MCP, see AI Tools.
Prerequisites
Before setting up the MCP server, ensure you have:
- Parcel .NET tool installed. Follow the Setup guide.
- Valid Accelerate license key. You can get one from the Avalonia portal.
Setting your license key
The MCP server reads your license from the PARCEL_LICENSE_KEY environment variable. You can find your license key in the Avalonia Customer Portal. MCP is a paid feature and is not included with the Community edition.
Set the key in your shell profile so it persists across sessions:
- macOS / Linux
- Windows (PowerShell)
- Windows (Command Prompt)
Add this line to your shell profile (~/.zshrc, ~/.bashrc, or equivalent):
export PARCEL_LICENSE_KEY="your-license-key"
Then reload the profile or open a new terminal:
source ~/.zshrc
Set a persistent environment variable for your user account:
[System.Environment]::SetEnvironmentVariable('PARCEL_LICENSE_KEY', 'your-license-key', 'User')
Restart any open terminals and editors to pick up the change.
setx PARCEL_LICENSE_KEY "your-license-key"
Restart any open terminals and editors to pick up the change.
If you launch your editor from a desktop shortcut or application menu (rather than from a terminal), it may not inherit environment variables from your shell profile. If the MCP server reports a missing license key, you can set it directly in the MCP configuration by adding an env block:
{
"env": {
"PARCEL_LICENSE_KEY": "your-license-key"
}
}
See the editor-specific setup instructions below for where to place this block.
Parcel MCP is only available with a full Accelerate license.
Setting up the MCP server
Parcel provides an MCP server that runs as a local process. The underlying command is parcel mcp, but you do not need to run it manually. Your editor starts it automatically once configured.
Choose your editor below:
- VS Code
- Visual Studio
- Rider
- Cursor
- Claude Code
- Claude Desktop
Option A: Command palette
- Open the command palette (
Ctrl+Shift+P/Cmd+Shift+P). - Run MCP: Add Server.
- Select stdio as the server type.
- Enter
parcel mcpas the command. - Set the server name to
parcel. - Choose whether to install the server for this workspace or globally.
Option B: Manual configuration
Add the following to .vscode/mcp.json in your workspace root:
{
"servers": {
"parcel": {
"type": "stdio",
"command": "parcel",
"args": ["mcp"]
}
}
}
Visual Studio 2022 (17.x and later) supports MCP servers through mcp.json configuration files.
Add the following to .vscode/mcp.json in your solution directory:
{
"servers": {
"parcel": {
"type": "stdio",
"command": "parcel",
"args": ["mcp"]
}
}
}
Visual Studio reads from the same .vscode/mcp.json path as VS Code. If you already configured it for VS Code, it works in Visual Studio automatically.
JetBrains Rider supports MCP servers through the AI Assistant plugin and the GitHub Copilot plugin.
Option A: Settings UI
- Open Settings > Tools > AI Assistant > MCP Servers.
- Click Add and select stdio as the transport type.
- Set the command to
parcelwith argumentmcp. - Set the server name to
parcel.
Option B: Manual configuration
Create or edit .idea/mcp.json in your project directory:
{
"servers": {
"parcel": {
"type": "stdio",
"command": "parcel",
"args": ["mcp"]
}
}
}
Add the following to .cursor/mcp.json in your project directory, or to ~/.cursor/mcp.json for global configuration:
{
"mcpServers": {
"parcel": {
"command": "parcel",
"args": ["mcp"]
}
}
}
Run this command in your terminal:
claude mcp add --scope user parcel -- parcel mcp
To verify it was added:
claude mcp list
- Open Settings > Developer and click Edit Config.
- Add the Parcel MCP server to
claude_desktop_config.json:
{
"mcpServers": {
"parcel": {
"command": "parcel",
"args": ["mcp"],
"env": {
"PARCEL_LICENSE_KEY": "your-license-key"
}
}
}
}
- Save the file and restart Claude Desktop.
Claude Desktop does not inherit environment variables from your shell profile, so the license key must be set directly in the configuration as shown above.
Verify the connection
After configuring the MCP server, verify it is working:
- Check the server is running. Open your editor's MCP panel or status indicator and confirm
parcelappears as a connected server. In VS Code, run MCP: List Servers from the command palette. - Test with a prompt. Ask your AI assistant:
"List the available Parcel packaging tools."
If the assistant returns a list of capabilities, setup is complete.
Troubleshooting
"parcel" command not found
The parcel command must be on your system PATH. If you installed it as a global .NET tool, ensure ~/.dotnet/tools (macOS/Linux) or %USERPROFILE%\.dotnet\tools (Windows) is in your PATH.
You can verify the tool is installed by running:
dotnet tool list -g
License key not detected
If the MCP server starts but reports a missing or invalid license key:
- Confirm the variable is set by running
echo $PARCEL_LICENSE_KEY(macOS/Linux) orecho %PARCEL_LICENSE_KEY%(Windows) in the same terminal where you launch your editor. - If your editor is launched from a GUI shortcut, it may not inherit shell environment variables. Add an
envblock to your MCP configuration as shown in the license key setup section above.
MCP server does not appear in the editor
- Restart your editor after adding or modifying the MCP configuration file. Most editors require a restart to detect new MCP servers.
- Check the config file location. Each editor expects the configuration in a specific path. See the setup instructions for your editor above.
- Validate your JSON. A syntax error in the configuration file (missing comma, trailing comma, unmatched brace) will silently prevent the server from loading.
Updating Parcel
If tools behave unexpectedly, ensure you are running the latest version:
dotnet tool update -g parcel
Capabilities
Once the MCP server is configured, your AI assistant can help with:
Project configuration
- Create Parcel configurations from existing .NET projects
- Configure application properties like package name, display name, icons, and bundle identifiers
- Set up build targets for multiple platforms and architectures
Code signing setup
- Windows Azure Trusted Signing - Configure certificates and signing parameters
- macOS Code Signing - Set up P12 certificates and provisioning profiles
- macOS Notarization - Configure Apple ID and app-specific passwords
Building and packaging
- Build and package applications for multiple platforms (Windows, macOS, Linux)
- Generate installers in various formats (DMG, DEB, NSIS, ZIP, etc.)
- Cross-platform packaging with runtime-specific outputs
Usage examples
Describe what you want to accomplish in natural language. The AI assistant calls the MCP tools automatically:
Project setup:
"Create a packaging config for my Avalonia project and set up macOS signing."
Packaging:
"Package my app for macOS as a DMG with code signing enabled."
Configuration management:
"Update my app's display name and icon, then rebuild the Windows installer."