Skip to main content
Glama
plugin_loader.py1.29 kB
""" Plugin Loader for Blender MCP Dynamically loads MCP tools from plugins directory. """ import os import importlib.util from pathlib import Path from typing import Optional class PluginLoader: """ Loads MCP tool plugins from a directory. Plugins are Python files in plugins/ directory that register @mcp.tool() decorators. """ def __init__(self, plugin_dir: str = "plugins"): self.dir = Path(plugin_dir) self.dir.mkdir(exist_ok=True) def load_all(self, mcp_instance=None): """ Load all plugins from the plugin directory. If mcp_instance is provided, plugins can access it for tool registration. """ for file in self.dir.glob("*.py"): if file.stem.startswith("__"): continue try: spec = importlib.util.spec_from_file_location(file.stem, file) module = importlib.util.module_from_spec(spec) # Make mcp instance available to plugins if needed if mcp_instance: module.mcp = mcp_instance spec.loader.exec_module(module) print(f"Loaded plugin: {file.name}") except Exception as e: print(f"Failed loading plugin {file.name}: {e}")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SK-DEV-AI/blender-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server