Skip to main content

Module plugin

Module plugin 

Source
Expand description

Plugin System for Dynamic Tool Loading

This module provides a complete plugin system for dynamically loading and managing MCP tools at runtime. It supports:

  • Dynamic library loading (.so, .dll, .dylib)
  • Hot reloading without server restart
  • Configuration-based plugin management
  • Automatic tool discovery and registration
  • Plugin isolation and lifecycle management

Re-exports§

pub use api::PluginBuilder;
pub use api::PluginCapabilities;
pub use api::PluginDependency;
pub use api::PluginFactory;
pub use api::PluginMetadata;
pub use api::StandardPluginBuilder;
pub use api::ToolPlugin;
pub use crate::protocol::types::CallToolResult as ToolResult;
pub use config::PluginConfig;
pub use config::PluginManifest;
pub use loader::PluginLoader;
pub use manager::PluginManager;
pub use registry::ToolRegistry;
pub use watcher::PluginWatcher;
pub use types::*;

Modules§

api
Plugin API definitions
config
Plugin configuration management
loader
Dynamic plugin loader
manager
registry
Tool registry for managing plugin tools
types
Plugin system types and traits
watcher
File system watcher for plugin hot reload

Macros§

export_plugin
FIXED Macro to simplify plugin exports with correct ABI

Enums§

PluginError
Plugin system errors
PluginEvent
Plugin lifecycle events

Type Aliases§

PluginResult
Result type for plugin operations