Plugins¶
Plugins add new capabilities to gdc — extra tools, or handlers that react to what the agent does — packaged as self-contained, portable modules. Because they run in a sandboxed runtime, a plugin can extend gdc without being able to roam your system freely.
What a plugin can do¶
- Add new tools the agent can call.
- Add hooks that react to agent activity (see Hooks).
A plugin is distributed as a small bundle: a manifest describing it plus the compiled module.
Installing a plugin¶
# install into your user scope (available in every project)
gdc plugins install ./path/to/plugin --wasm ./path/to/plugin/module.wasm
# install into the current project only
gdc plugins install ./path/to/plugin --scope project \
--wasm ./path/to/plugin/module.wasm
install takes the plugin's directory (or its manifest file) and the
compiled module. User scope lands in ~/.gdc/plugins/; project scope in
the project's .gdc/plugins/.
Managing plugins¶
gdc plugins list # what's discovered, in every scope
gdc plugins list --json # machine-readable
gdc plugins remove <name> --scope user # uninstall (scope required)
Trust and limits¶
Plugins are governed by permissions just like other tools: by default the agent asks before using a plugin's tools. You can mark a plugin trusted and set a per-call time limit in configuration:
[plugin.plugins.my-plugin]
enabled = true
trusted = false # ask before using this plugin's tools
call_timeout_secs = 30
Writing your own¶
Building a plugin is a developer task with its own workflow — defining a manifest, declaring capabilities, implementing the module, building it, and installing it. It requires a separate development toolkit and is documented in the dedicated plugin authoring guide; ask your gdc provider if you need it.
Plugins vs. MCP servers¶
Both extend the agent's tools, but they suit different needs:
| Plugin | MCP server | |
|---|---|---|
| Runs | Inside gdc's sandboxed runtime | As a separate program or remote service |
| Best for | Self-contained logic you package and ship | Connecting to existing tools, data, and services |
| Distribution | A bundle you install | A command or URL you point at |