Skip to content

Plugins

Magia’s plugin system lets you extend the agent’s capabilities by installing plugins from a marketplace. Each plugin is a self-contained package that can bundle one or more components: MCP servers, skills, agents, lifecycle hooks, and slash commands.

A plugin can ship any combination of the following component types:

ComponentDescription
MCP serversModel Context Protocol servers that expose additional tools to the agent. Installed MCP servers are available to the agent automatically when the plugin is enabled.
SkillsReusable prompting templates that can be invoked via the /skillname slash command syntax. Skills marked userInvocable appear in the slash command menu.
AgentsPre-configured agent definitions with their own system prompts, tool sets, and model preferences.
HooksLifecycle hooks that run before or after specific agent actions (e.g., before a bash command, after a file write).
CommandsAdditional slash commands beyond the built-in system commands.

Every plugin must include a manifest.json at its root. The manifest describes the plugin and declares which components it contains:

{
"name": "my-plugin",
"version": "1.0.0",
"description": "A short description of what this plugin does.",
"author": "Your Name",
"components": {
"mcpServers": ["servers/my-server.json"],
"skills": ["skills/my-skill.md"],
"agents": ["agents/my-agent.json"],
"hooks": ["hooks/pre-bash.js"],
"commands": ["commands/my-command.md"]
}
}

All fields except name are optional. Omit any components key whose array would be empty.

Plugins are distributed through marketplaces — registries that list available plugins. You can add multiple marketplaces and Magia will aggregate them in the plugin browser.

Three source types are supported:

Source typeWhen to use
githubA GitHub repository that follows the marketplace index format. Specify repo as owner/repo and optionally a branch.
gitAny git repository accessible over HTTPS or SSH. Specify the full url and optionally a branch.
localA directory on your local machine. Specify the absolute path. Useful for developing your own plugins.

Add a marketplace in Settings → Plugins → Marketplaces → Add marketplace, or manage marketplaces programmatically via the add_marketplace / remove_marketplace Tauri commands.

  1. Open Settings → Plugins.
  2. Select a marketplace from the list.
  3. Browse or search available plugins.
  4. Click Install on a plugin card.

Plugins can be installed at two scopes:

  • Global — available in all sessions across all projects.
  • Project — available only in the current project directory.

The scope selector appears in the install dialog. Project-scoped plugins are written into the project’s .magia/plugins/ directory so they can be committed to source control and shared with your team.

After installation, a plugin is enabled by default. You can toggle it on or off from the Installed tab in the plugin settings panel. Disabling a plugin deactivates all of its components (MCP servers stop, skills become unavailable, hooks are skipped) without uninstalling it.

Enable and disable operations respect the same global/project scope as installation.

When a newer version of an installed plugin is available, an update badge appears on the plugin card. Click Update to pull the latest version from the marketplace source. The update preserves your enabled/disabled state.

Click Uninstall on an installed plugin to remove it. The plugin directory is deleted from disk and all of its components are deactivated immediately.

To develop a plugin locally:

  1. Create a directory with a manifest.json and your component files.
  2. Add a local marketplace pointing to the parent directory of your plugin folder (Settings → Plugins → Marketplaces → Add marketplace, source type local).
  3. Your plugin will appear in the plugin browser and can be installed like any other plugin.

Changes to your plugin files take effect the next time Magia reloads the plugin (toggle disable/enable or restart the application).