Plugin Discovery and Registration
Tool registries, manifest files, and dynamic tool loading at runtime.
Plugin Systems for Agents
A plugin system lets agents discover and load new tools at runtime without modifying the core agent code. The agent reads a plugin directory, loads each plugin's manifest, validates it, and adds its tools to the active tool registry.
This enables modular, extensible agent architectures.
Plugin Manifest Format
Every plugin ships a plugin.json manifest file. This is the plugin's identity card: what it is, what version it is, what tools it provides, and what it requires (Python packages, environment variables).
# plugin.json — stored in the plugin's root directory
EXAMPLE_MANIFEST = {
'name': 'weather-tools',
'display_name': 'Weather Tools',
'version': '2.1.0',
'description': 'Real-time weather and forecast tools',
'author': 'Jane Developer <jane@example.com>',
'license': 'MIT',
'entry_point': 'weather_tools.plugin', # Python module path
'tool_definitions': [
'get_current_weather',
'get_5day_forecast',
'get_weather_alerts'
],
'requires': {
'python_packages': ['requests>=2.28'],
'env_vars': ['WEATHER_API_KEY']
},
'tags': ['weather', 'forecast', 'iot'],
'min_framework_version': '1.0.0'
}
import json
print(json.dumps(EXAMPLE_MANIFEST, indent=2)[:300])All lessons in this course
- Designing Shareable Agent Tools
- Plugin Discovery and Registration
- Tool Versioning and Compatibility
- Building an Agent Plugin Marketplace