mindroot 9.11.0__py3-none-any.whl → 9.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindroot might be problematic. Click here for more details.
- mindroot/coreplugins/home/templates/home.jinja2 +1 -0
- mindroot/docs/Makefile +20 -0
- mindroot/docs/_build/doctrees/chat_with_assistant.doctree +0 -0
- mindroot/docs/_build/doctrees/developer_documentation.doctree +0 -0
- mindroot/docs/_build/doctrees/environment.pickle +0 -0
- mindroot/docs/_build/doctrees/getting_started.doctree +0 -0
- mindroot/docs/_build/doctrees/index.doctree +0 -0
- mindroot/docs/_build/doctrees/install_plugins_with_tools.doctree +0 -0
- mindroot/docs/_build/doctrees/installation.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_api_key.doctree +0 -0
- mindroot/docs/_build/doctrees/llm_plugin_installation.doctree +0 -0
- mindroot/docs/_build/doctrees/programming_task.doctree +0 -0
- mindroot/docs/_build/doctrees/source/ahp.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.admin.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.api_keys.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.chat_avatar.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.check_list.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.credits.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.email.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.env_manager.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.events.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.index.handlers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.jwt_auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.l8n.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.mcp_.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.persona.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.startup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.subscriptions.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.usage.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.coreplugins.user_service.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.auth.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.json_str_block.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.plugins.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.backup.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.lib.providers.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mindroot.registry.doctree +0 -0
- mindroot/docs/_build/doctrees/source/modules.doctree +0 -0
- mindroot/docs/_build/doctrees/source/mr_agent_expert_instr.doctree +0 -0
- mindroot/docs/_build/doctrees/starting_mindroot.doctree +0 -0
- mindroot/docs/_build/doctrees/user_documentation.doctree +0 -0
- mindroot/docs/_build/html/.buildinfo +4 -0
- mindroot/docs/_build/html/.buildinfo.bak +4 -0
- mindroot/docs/_build/html/_images/envvar.png +0 -0
- mindroot/docs/_build/html/_images/files.png +0 -0
- mindroot/docs/_build/html/_images/installopenrouter.png +0 -0
- mindroot/docs/_build/html/_images/mood.png +0 -0
- mindroot/docs/_build/html/_images/moon.png +0 -0
- mindroot/docs/_build/html/_images/openrouter.png +0 -0
- mindroot/docs/_build/html/_images/restart.png +0 -0
- mindroot/docs/_build/html/_modules/index.html +425 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_importer.html +292 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/agent_router.html +620 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/asset_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/command_router.html +518 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_catalog_routes.html +275 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_publish_routes.html +581 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_registry_routes.html +623 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mcp_routes.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/mod.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/oauth_callback_router.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_handler.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/persona_router.html +428 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_manager.html +610 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_router.html +146 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/plugin_routes.html +230 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/registry_settings_routes.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/router.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/server_router.html +271 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/service_models.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/admin/settings_router.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/api_key_manager.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/mod.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/api_keys/router.html +170 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/commands.html +565 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/mod.html +118 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/models.html +130 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/router.html +571 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/services.html +645 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_manager.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/chat/widget_routes.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/check_list/mod.html +460 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/conversion.html +232 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/ledger.html +283 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/mod.html +355 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/models.html +269 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/router.html +306 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/credits/storage.html +257 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/email_provider.html +159 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/imap_handler.html +343 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/mod.html +210 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/services.html +172 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/smtp_handler.html +188 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/email/test_email_service.html +179 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/mod.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/env_manager/router.html +147 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/events/router.html +201 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/agent_ops.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/index_ops.html +214 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/plugin_ops.html +263 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/handlers/publish.html +225 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/mod.html +120 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/router.html +184 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/index/utils.html +166 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/middleware.html +400 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/mod.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/jwt_auth/router.html +134 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/language_detection.html +296 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/middleware.html +258 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/mod.html +393 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_enhanced.html +408 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_l8n_standalone.html +379 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/test_middleware.html +394 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/l8n/utils.html +348 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_commands.html +456 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/catalog_manager.html +409 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/dynamic_commands.html +267 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mcp_manager.html +1186 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/mod.html +510 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/oauth_storage.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/server_installer.html +195 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/mcp_/testmcpclient.html +217 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/init_persona.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/persona/mod.html +276 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/startup/mod.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/credit_integration.html +163 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/mod.html +1089 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/models.html +261 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/router.html +502 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/storage.html +413 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/stripe_integration.html +178 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/subscription_manager.html +289 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/subscriptions/webhook_handler.html +327 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/handlers.html +157 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/mod.html +253 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/models.html +141 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/reporting.html +226 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/router.html +228 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/usage/storage.html +264 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/admin_init.html +234 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/email_service.html +204 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/mod.html +260 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/models.html +148 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/password_reset_service.html +336 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/role_service.html +183 -0
- mindroot/docs/_build/html/_modules/mindroot/coreplugins/user_service/router.html +202 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/api_key.html +129 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/auth/auth.html +203 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog.html +259 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/buchatlog2.html +500 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/butemplates.html +415 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatcontext.html +401 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog.html +619 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/chatlog_optimized.html +655 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_escape.html +138 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/json_str_block/json_str_block.html +213 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/parent_templates.html +181 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/installation.html +481 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/l8n_static_handler.html +347 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader.html +403 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/loader_with_l8n.html +391 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/manifest.html +450 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/mapping.html +127 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins/paths.html +215 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/plugins_install.html +171 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/commands.html +125 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/hooks.html +117 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/missing.html +169 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/model_preferences_v2.html +291 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers/services.html +122 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/providers.html +465 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/route_decorators.html +175 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/session_files.html +142 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/streamcmd.html +246 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/templates.html +677 -0
- mindroot/docs/_build/html/_modules/mindroot/lib/token_counter.html +326 -0
- mindroot/docs/_build/html/_modules/mindroot/migrate.html +153 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/component_manager.html +140 -0
- mindroot/docs/_build/html/_modules/mindroot/registry/data_access.html +302 -0
- mindroot/docs/_build/html/_modules/mindroot/server.html +317 -0
- mindroot/docs/_build/html/_modules/mindroot/server_missing_normal_args.html +322 -0
- mindroot/docs/_build/html/_modules/mindroot/server_prev.html +298 -0
- mindroot/docs/_build/html/_sources/chat_with_assistant.rst.txt +14 -0
- mindroot/docs/_build/html/_sources/developer_documentation.rst.txt +26 -0
- mindroot/docs/_build/html/_sources/getting_started.rst.txt +139 -0
- mindroot/docs/_build/html/_sources/index.rst.txt +38 -0
- mindroot/docs/_build/html/_sources/install_plugins_with_tools.rst.txt +25 -0
- mindroot/docs/_build/html/_sources/installation.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/llm_api_key.rst.txt +22 -0
- mindroot/docs/_build/html/_sources/llm_plugin_installation.rst.txt +27 -0
- mindroot/docs/_build/html/_sources/programming_task.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/ahp.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.admin.rst.txt +189 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.api_keys.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.chat_avatar.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.check_list.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.credits.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.email.rst.txt +77 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.env_manager.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.events.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.handlers.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.index.rst.txt +53 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.jwt_auth.rst.txt +45 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.l8n.rst.txt +109 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.mcp_.rst.txt +93 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.persona.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.rst.txt +35 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.startup.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.subscriptions.rst.txt +85 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.usage.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.coreplugins.user_service.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.auth.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.json_str_block.rst.txt +21 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.plugins.rst.txt +69 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.backup.rst.txt +10 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.providers.rst.txt +61 -0
- mindroot/docs/_build/html/_sources/source/mindroot.lib.rst.txt +152 -0
- mindroot/docs/_build/html/_sources/source/mindroot.registry.rst.txt +29 -0
- mindroot/docs/_build/html/_sources/source/mindroot.rst.txt +54 -0
- mindroot/docs/_build/html/_sources/source/modules.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/source/mr_agent_expert_instr.rst.txt +7 -0
- mindroot/docs/_build/html/_sources/starting_mindroot.rst.txt +12 -0
- mindroot/docs/_build/html/_sources/user_documentation.rst.txt +16 -0
- mindroot/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +123 -0
- mindroot/docs/_build/html/_static/basic.css +906 -0
- mindroot/docs/_build/html/_static/css/badge_only.css +1 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
- mindroot/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
- mindroot/docs/_build/html/_static/css/theme.css +4 -0
- mindroot/docs/_build/html/_static/custom.css +19 -0
- mindroot/docs/_build/html/_static/debug.css +69 -0
- mindroot/docs/_build/html/_static/doctools.js +149 -0
- mindroot/docs/_build/html/_static/documentation_options.js +13 -0
- mindroot/docs/_build/html/_static/file.png +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
- mindroot/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
- mindroot/docs/_build/html/_static/jquery.js +2 -0
- mindroot/docs/_build/html/_static/js/badge_only.js +1 -0
- mindroot/docs/_build/html/_static/js/theme.js +1 -0
- mindroot/docs/_build/html/_static/js/versions.js +228 -0
- mindroot/docs/_build/html/_static/language_data.js +192 -0
- mindroot/docs/_build/html/_static/minus.png +0 -0
- mindroot/docs/_build/html/_static/plus.png +0 -0
- mindroot/docs/_build/html/_static/pygments.css +232 -0
- mindroot/docs/_build/html/_static/scripts/furo-extensions.js +0 -0
- mindroot/docs/_build/html/_static/scripts/furo.js +3 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.LICENSE.txt +7 -0
- mindroot/docs/_build/html/_static/scripts/furo.js.map +1 -0
- mindroot/docs/_build/html/_static/searchtools.js +635 -0
- mindroot/docs/_build/html/_static/skeleton.css +296 -0
- mindroot/docs/_build/html/_static/sphinx_highlight.js +154 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo-extensions.css.map +1 -0
- mindroot/docs/_build/html/_static/styles/furo.css +2 -0
- mindroot/docs/_build/html/_static/styles/furo.css.map +1 -0
- mindroot/docs/_build/html/chat_with_assistant.html +329 -0
- mindroot/docs/_build/html/developer_documentation.html +338 -0
- mindroot/docs/_build/html/genindex.html +4690 -0
- mindroot/docs/_build/html/getting_started.html +423 -0
- mindroot/docs/_build/html/index.html +357 -0
- mindroot/docs/_build/html/install_plugins_with_tools.html +336 -0
- mindroot/docs/_build/html/installation.html +330 -0
- mindroot/docs/_build/html/llm_api_key.html +337 -0
- mindroot/docs/_build/html/llm_plugin_installation.html +338 -0
- mindroot/docs/_build/html/objects.inv +0 -0
- mindroot/docs/_build/html/programming_task.html +326 -0
- mindroot/docs/_build/html/py-modindex.html +1307 -0
- mindroot/docs/_build/html/search.html +307 -0
- mindroot/docs/_build/html/searchindex.js +1 -0
- mindroot/docs/_build/html/source/ahp.html +302 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.admin.html +2212 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.api_keys.html +532 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat.html +1185 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.chat_avatar.html +311 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.check_list.html +441 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.credits.html +879 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.email.html +554 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.env_manager.html +447 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.events.html +338 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.html +1785 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.handlers.html +481 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.index.html +696 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.jwt_auth.html +432 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.l8n.html +933 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.mcp_.html +1271 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.persona.html +386 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.startup.html +327 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.subscriptions.html +1631 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.usage.html +677 -0
- mindroot/docs/_build/html/source/mindroot.coreplugins.user_service.html +681 -0
- mindroot/docs/_build/html/source/mindroot.html +811 -0
- mindroot/docs/_build/html/source/mindroot.lib.auth.html +407 -0
- mindroot/docs/_build/html/source/mindroot.lib.html +2027 -0
- mindroot/docs/_build/html/source/mindroot.lib.json_str_block.html +344 -0
- mindroot/docs/_build/html/source/mindroot.lib.plugins.html +1050 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.backup.html +324 -0
- mindroot/docs/_build/html/source/mindroot.lib.providers.html +572 -0
- mindroot/docs/_build/html/source/mindroot.registry.html +501 -0
- mindroot/docs/_build/html/source/modules.html +377 -0
- mindroot/docs/_build/html/source/mr_agent_expert_instr.html +302 -0
- mindroot/docs/_build/html/starting_mindroot.html +325 -0
- mindroot/docs/_build/html/user_documentation.html +333 -0
- mindroot/docs/_static/custom.css +19 -0
- mindroot/docs/chat_with_assistant.rst +14 -0
- mindroot/docs/conf.py +54 -0
- mindroot/docs/data/agents/local/Assistant/agent.json +27 -0
- mindroot/docs/data/agents/local/SysAdmin/agent.json +33 -0
- mindroot/docs/data/equivalent_flags.json +1 -0
- mindroot/docs/data/mcp/servers.json +9 -0
- mindroot/docs/data/models.json +57 -0
- mindroot/docs/data/plugin_manifest.json +95 -0
- mindroot/docs/data/preferred_models.json +12 -0
- mindroot/docs/data/providers.json +62 -0
- mindroot/docs/developer_documentation.rst +26 -0
- mindroot/docs/envvar.png +0 -0
- mindroot/docs/files.png +0 -0
- mindroot/docs/getting_started.rst +139 -0
- mindroot/docs/index.rst +38 -0
- mindroot/docs/install_plugins_with_tools.rst +25 -0
- mindroot/docs/installation.rst +21 -0
- mindroot/docs/installopenrouter.png +0 -0
- mindroot/docs/llm_api_key.rst +22 -0
- mindroot/docs/llm_plugin_installation.rst +27 -0
- mindroot/docs/make.bat +35 -0
- mindroot/docs/mood.png +0 -0
- mindroot/docs/moon.png +0 -0
- mindroot/docs/openrouter.png +0 -0
- mindroot/docs/personas/local/Assistant/avatar.png +0 -0
- mindroot/docs/personas/local/Assistant/faceref.png +0 -0
- mindroot/docs/personas/local/Assistant/persona.json +7 -0
- mindroot/docs/programming_task.rst +10 -0
- mindroot/docs/restart.png +0 -0
- mindroot/docs/source/ahp.rst +7 -0
- mindroot/docs/source/mindroot.coreplugins.admin.rst +189 -0
- mindroot/docs/source/mindroot.coreplugins.api_keys.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.chat.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.chat_avatar.rst +10 -0
- mindroot/docs/source/mindroot.coreplugins.check_list.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.credits.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.email.rst +77 -0
- mindroot/docs/source/mindroot.coreplugins.env_manager.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.events.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.index.handlers.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.index.rst +53 -0
- mindroot/docs/source/mindroot.coreplugins.jwt_auth.rst +45 -0
- mindroot/docs/source/mindroot.coreplugins.l8n.rst +109 -0
- mindroot/docs/source/mindroot.coreplugins.mcp_.rst +93 -0
- mindroot/docs/source/mindroot.coreplugins.persona.rst +29 -0
- mindroot/docs/source/mindroot.coreplugins.rst +35 -0
- mindroot/docs/source/mindroot.coreplugins.startup.rst +21 -0
- mindroot/docs/source/mindroot.coreplugins.subscriptions.rst +85 -0
- mindroot/docs/source/mindroot.coreplugins.usage.rst +61 -0
- mindroot/docs/source/mindroot.coreplugins.user_service.rst +69 -0
- mindroot/docs/source/mindroot.lib.auth.rst +29 -0
- mindroot/docs/source/mindroot.lib.json_str_block.rst +21 -0
- mindroot/docs/source/mindroot.lib.plugins.rst +69 -0
- mindroot/docs/source/mindroot.lib.providers.backup.rst +10 -0
- mindroot/docs/source/mindroot.lib.providers.rst +61 -0
- mindroot/docs/source/mindroot.lib.rst +152 -0
- mindroot/docs/source/mindroot.registry.rst +29 -0
- mindroot/docs/source/mindroot.rst +54 -0
- mindroot/docs/source/modules.rst +7 -0
- mindroot/docs/source/mr_agent_expert_instr.rst +7 -0
- mindroot/docs/starting_mindroot.rst +12 -0
- mindroot/docs/user_documentation.rst +16 -0
- mindroot/server.py +10 -1
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/METADATA +1 -1
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/RECORD +415 -8
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/WHEEL +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/entry_points.txt +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/licenses/LICENSE +0 -0
- {mindroot-9.11.0.dist-info → mindroot-9.12.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<!DOCTYPE html>
|
|
4
|
+
<html class="writer-html5" lang="en" data-content_root="../../../../">
|
|
5
|
+
<head>
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
8
|
+
<title>mindroot.coreplugins.mcp_.catalog_commands — MindRoot 9.10.0 documentation</title>
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css?v=b86133f3" />
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="../../../../_static/css/theme.css?v=e59714d7" />
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<script src="../../../../_static/jquery.js?v=5d32c60e"></script>
|
|
14
|
+
<script src="../../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
|
15
|
+
<script src="../../../../_static/documentation_options.js?v=3c16008f"></script>
|
|
16
|
+
<script src="../../../../_static/doctools.js?v=9bcbadda"></script>
|
|
17
|
+
<script src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
18
|
+
<script src="../../../../_static/js/theme.js"></script>
|
|
19
|
+
<link rel="index" title="Index" href="../../../../genindex.html" />
|
|
20
|
+
<link rel="search" title="Search" href="../../../../search.html" />
|
|
21
|
+
</head>
|
|
22
|
+
|
|
23
|
+
<body class="wy-body-for-nav">
|
|
24
|
+
<div class="wy-grid-for-nav">
|
|
25
|
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
26
|
+
<div class="wy-side-scroll">
|
|
27
|
+
<div class="wy-side-nav-search" style="background: #343131" >
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<a href="../../../../index.html" class="icon icon-home">
|
|
32
|
+
MindRoot
|
|
33
|
+
</a>
|
|
34
|
+
<div role="search">
|
|
35
|
+
<form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
|
|
36
|
+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
37
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
38
|
+
<input type="hidden" name="area" value="default" />
|
|
39
|
+
</form>
|
|
40
|
+
</div>
|
|
41
|
+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
42
|
+
<!-- Local TOC -->
|
|
43
|
+
<div class="local-toc"></div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</nav>
|
|
47
|
+
|
|
48
|
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #343131" >
|
|
49
|
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
50
|
+
<a href="../../../../index.html">MindRoot</a>
|
|
51
|
+
</nav>
|
|
52
|
+
|
|
53
|
+
<div class="wy-nav-content">
|
|
54
|
+
<div class="rst-content">
|
|
55
|
+
<div role="navigation" aria-label="Page navigation">
|
|
56
|
+
<ul class="wy-breadcrumbs">
|
|
57
|
+
<li><a href="../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
|
58
|
+
<li class="breadcrumb-item"><a href="../../../index.html">Module code</a></li>
|
|
59
|
+
<li class="breadcrumb-item active">mindroot.coreplugins.mcp_.catalog_commands</li>
|
|
60
|
+
<li class="wy-breadcrumbs-aside">
|
|
61
|
+
</li>
|
|
62
|
+
</ul>
|
|
63
|
+
<hr/>
|
|
64
|
+
</div>
|
|
65
|
+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
66
|
+
<div itemprop="articleBody">
|
|
67
|
+
|
|
68
|
+
<h1>Source code for mindroot.coreplugins.mcp_.catalog_commands</h1><div class="highlight"><pre>
|
|
69
|
+
<span></span><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
|
70
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">asyncio</span>
|
|
71
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Any</span>
|
|
72
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">lib.providers.commands</span><span class="w"> </span><span class="kn">import</span> <span class="n">command</span>
|
|
73
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.catalog_manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">MCPCatalogManager</span>
|
|
74
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.mod</span><span class="w"> </span><span class="kn">import</span> <span class="n">mcp_manager</span><span class="p">,</span> <span class="n">MCPServer</span>
|
|
75
|
+
|
|
76
|
+
<span class="c1"># Global catalog manager</span>
|
|
77
|
+
<span class="c1"># Use current working directory for data files</span>
|
|
78
|
+
<span class="n">catalog_manager</span> <span class="o">=</span> <span class="n">MCPCatalogManager</span><span class="p">(</span><span class="n">working_dir</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">())</span>
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div class="viewcode-block" id="mcp_catalog_list">
|
|
82
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_list">[docs]</a>
|
|
83
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
84
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_list</span><span class="p">(</span><span class="n">category</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
85
|
+
<span class="w"> </span><span class="sd">"""List MCP servers from catalog</span>
|
|
86
|
+
<span class="sd"> </span>
|
|
87
|
+
<span class="sd"> Example:</span>
|
|
88
|
+
<span class="sd"> { "mcp_catalog_list": {} }</span>
|
|
89
|
+
<span class="sd"> { "mcp_catalog_list": { "category": "utilities" } }</span>
|
|
90
|
+
<span class="sd"> """</span>
|
|
91
|
+
<span class="c1"># Update running status first</span>
|
|
92
|
+
<span class="n">catalog</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">update_server_status</span><span class="p">()</span>
|
|
93
|
+
|
|
94
|
+
<span class="k">if</span> <span class="n">category</span><span class="p">:</span>
|
|
95
|
+
<span class="n">servers</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_servers_by_category</span><span class="p">(</span><span class="n">category</span><span class="p">)</span>
|
|
96
|
+
<span class="k">else</span><span class="p">:</span>
|
|
97
|
+
<span class="n">servers</span> <span class="o">=</span> <span class="n">catalog</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"servers"</span><span class="p">,</span> <span class="p">{})</span>
|
|
98
|
+
|
|
99
|
+
<span class="c1"># Format for display</span>
|
|
100
|
+
<span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
|
101
|
+
<span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">servers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
|
102
|
+
<span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
|
|
103
|
+
<span class="s2">"name"</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span>
|
|
104
|
+
<span class="s2">"display_name"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"display_name"</span><span class="p">,</span> <span class="n">name</span><span class="p">),</span>
|
|
105
|
+
<span class="s2">"description"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"description"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span>
|
|
106
|
+
<span class="s2">"category"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"category"</span><span class="p">,</span> <span class="s2">"unknown"</span><span class="p">),</span>
|
|
107
|
+
<span class="s2">"install_method"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"install_method"</span><span class="p">,</span> <span class="s2">"manual"</span><span class="p">),</span>
|
|
108
|
+
<span class="s2">"installed"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"installed"</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
|
|
109
|
+
<span class="s2">"running"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"running"</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
|
|
110
|
+
<span class="s2">"status"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"status"</span><span class="p">,</span> <span class="s2">"unknown"</span><span class="p">),</span>
|
|
111
|
+
<span class="s2">"tools"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"tools"</span><span class="p">,</span> <span class="p">[]),</span>
|
|
112
|
+
<span class="s2">"tags"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"tags"</span><span class="p">,</span> <span class="p">[])</span>
|
|
113
|
+
<span class="p">})</span>
|
|
114
|
+
|
|
115
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
116
|
+
<span class="s2">"servers"</span><span class="p">:</span> <span class="n">result</span><span class="p">,</span>
|
|
117
|
+
<span class="s2">"count"</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="p">),</span>
|
|
118
|
+
<span class="s2">"categories"</span><span class="p">:</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_categories</span><span class="p">()</span>
|
|
119
|
+
<span class="p">}</span></div>
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
<div class="viewcode-block" id="mcp_catalog_search">
|
|
124
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_search">[docs]</a>
|
|
125
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
126
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_search</span><span class="p">(</span><span class="n">query</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
127
|
+
<span class="w"> </span><span class="sd">"""Search MCP servers in catalog</span>
|
|
128
|
+
<span class="sd"> </span>
|
|
129
|
+
<span class="sd"> Example:</span>
|
|
130
|
+
<span class="sd"> { "mcp_catalog_search": { "query": "calculator" } }</span>
|
|
131
|
+
<span class="sd"> { "mcp_catalog_search": { "query": "database" } }</span>
|
|
132
|
+
<span class="sd"> """</span>
|
|
133
|
+
<span class="n">servers</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">search_servers</span><span class="p">(</span><span class="n">query</span><span class="p">)</span>
|
|
134
|
+
|
|
135
|
+
<span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
|
|
136
|
+
<span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">servers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
|
137
|
+
<span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
|
|
138
|
+
<span class="s2">"name"</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span>
|
|
139
|
+
<span class="s2">"display_name"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"display_name"</span><span class="p">,</span> <span class="n">name</span><span class="p">),</span>
|
|
140
|
+
<span class="s2">"description"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"description"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span>
|
|
141
|
+
<span class="s2">"category"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"category"</span><span class="p">,</span> <span class="s2">"unknown"</span><span class="p">),</span>
|
|
142
|
+
<span class="s2">"installed"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"installed"</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
|
|
143
|
+
<span class="s2">"running"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"running"</span><span class="p">,</span> <span class="kc">False</span><span class="p">),</span>
|
|
144
|
+
<span class="s2">"tags"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"tags"</span><span class="p">,</span> <span class="p">[])</span>
|
|
145
|
+
<span class="p">})</span>
|
|
146
|
+
|
|
147
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
148
|
+
<span class="s2">"query"</span><span class="p">:</span> <span class="n">query</span><span class="p">,</span>
|
|
149
|
+
<span class="s2">"results"</span><span class="p">:</span> <span class="n">result</span><span class="p">,</span>
|
|
150
|
+
<span class="s2">"count"</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
|
|
151
|
+
<span class="p">}</span></div>
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
<div class="viewcode-block" id="mcp_catalog_install">
|
|
156
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_install">[docs]</a>
|
|
157
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
158
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_install</span><span class="p">(</span><span class="n">server_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
159
|
+
<span class="w"> </span><span class="sd">"""Install an MCP server from catalog</span>
|
|
160
|
+
<span class="sd"> </span>
|
|
161
|
+
<span class="sd"> Example:</span>
|
|
162
|
+
<span class="sd"> { "mcp_catalog_install": { "server_name": "calculator" } }</span>
|
|
163
|
+
<span class="sd"> """</span>
|
|
164
|
+
<span class="n">server_info</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_server_info</span><span class="p">(</span><span class="n">server_name</span><span class="p">)</span>
|
|
165
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">server_info</span><span class="p">:</span>
|
|
166
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Server </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2"> not found in catalog"</span>
|
|
167
|
+
|
|
168
|
+
<span class="c1"># Create server config from catalog info</span>
|
|
169
|
+
<span class="n">server</span> <span class="o">=</span> <span class="n">MCPServer</span><span class="p">(</span>
|
|
170
|
+
<span class="n">name</span><span class="o">=</span><span class="n">server_info</span><span class="p">[</span><span class="s2">"name"</span><span class="p">],</span>
|
|
171
|
+
<span class="n">description</span><span class="o">=</span><span class="n">server_info</span><span class="p">[</span><span class="s2">"description"</span><span class="p">],</span>
|
|
172
|
+
<span class="n">command</span><span class="o">=</span><span class="n">server_info</span><span class="p">[</span><span class="s2">"command"</span><span class="p">],</span>
|
|
173
|
+
<span class="n">args</span><span class="o">=</span><span class="n">server_info</span><span class="p">[</span><span class="s2">"args"</span><span class="p">],</span>
|
|
174
|
+
<span class="n">env</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"env"</span><span class="p">,</span> <span class="p">{})</span>
|
|
175
|
+
<span class="p">)</span>
|
|
176
|
+
|
|
177
|
+
<span class="c1"># Add to manager</span>
|
|
178
|
+
<span class="n">mcp_manager</span><span class="o">.</span><span class="n">add_server</span><span class="p">(</span><span class="n">server_name</span><span class="p">,</span> <span class="n">server</span><span class="p">)</span>
|
|
179
|
+
|
|
180
|
+
<span class="c1"># Install server if needed (for uvx/npx packages)</span>
|
|
181
|
+
<span class="n">install_method</span> <span class="o">=</span> <span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"install_method"</span><span class="p">,</span> <span class="s2">"manual"</span><span class="p">)</span>
|
|
182
|
+
<span class="n">install_package</span> <span class="o">=</span> <span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"install_package"</span><span class="p">)</span>
|
|
183
|
+
|
|
184
|
+
<span class="k">if</span> <span class="n">install_method</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"uvx"</span><span class="p">,</span> <span class="s2">"npx"</span><span class="p">]</span> <span class="ow">and</span> <span class="n">install_package</span><span class="p">:</span>
|
|
185
|
+
<span class="k">try</span><span class="p">:</span>
|
|
186
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">subprocess</span>
|
|
187
|
+
<span class="k">if</span> <span class="n">install_method</span> <span class="o">==</span> <span class="s2">"uvx"</span><span class="p">:</span>
|
|
188
|
+
<span class="n">result</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">run</span><span class="p">([</span><span class="s2">"uvx"</span><span class="p">,</span> <span class="s2">"--help"</span><span class="p">],</span> <span class="n">capture_output</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
189
|
+
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">returncode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
|
190
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"uvx not available. Please install uv first."</span>
|
|
191
|
+
<span class="k">elif</span> <span class="n">install_method</span> <span class="o">==</span> <span class="s2">"npx"</span><span class="p">:</span>
|
|
192
|
+
<span class="n">result</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">run</span><span class="p">([</span><span class="s2">"npx"</span><span class="p">,</span> <span class="s2">"--version"</span><span class="p">],</span> <span class="n">capture_output</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
193
|
+
<span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">returncode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
|
194
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"npx not available. Please install Node.js first."</span>
|
|
195
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
196
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Error checking </span><span class="si">{</span><span class="n">install_method</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span>
|
|
197
|
+
|
|
198
|
+
<span class="c1"># Mark as installed (basic implementation)</span>
|
|
199
|
+
<span class="n">success</span> <span class="o">=</span> <span class="kc">True</span> <span class="c1"># For now, assume installation succeeds </span>
|
|
200
|
+
<span class="k">if</span> <span class="n">success</span><span class="p">:</span>
|
|
201
|
+
<span class="n">catalog_manager</span><span class="o">.</span><span class="n">mark_server_installed</span><span class="p">(</span><span class="n">server_name</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
|
|
202
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Successfully installed </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">"</span>
|
|
203
|
+
<span class="k">else</span><span class="p">:</span>
|
|
204
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Failed to install </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">"</span></div>
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
<div class="viewcode-block" id="mcp_catalog_install_and_run">
|
|
209
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_install_and_run">[docs]</a>
|
|
210
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
211
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_install_and_run</span><span class="p">(</span><span class="n">server_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
212
|
+
<span class="w"> </span><span class="sd">"""Install and run an MCP server from catalog</span>
|
|
213
|
+
<span class="sd"> </span>
|
|
214
|
+
<span class="sd"> Example:</span>
|
|
215
|
+
<span class="sd"> { "mcp_catalog_install_and_run": { "server_name": "calculator" } }</span>
|
|
216
|
+
<span class="sd"> """</span>
|
|
217
|
+
<span class="k">try</span><span class="p">:</span>
|
|
218
|
+
<span class="c1"># Get server info from catalog</span>
|
|
219
|
+
<span class="n">server_info</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_server_info</span><span class="p">(</span><span class="n">server_name</span><span class="p">)</span>
|
|
220
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">server_info</span><span class="p">:</span>
|
|
221
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Server </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2"> not found in catalog"</span>
|
|
222
|
+
|
|
223
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Installing and running </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">..."</span><span class="p">)</span>
|
|
224
|
+
|
|
225
|
+
<span class="c1"># Create server configuration</span>
|
|
226
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Creating server configuration for </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">..."</span><span class="p">)</span>
|
|
227
|
+
|
|
228
|
+
<span class="n">server_config</span> <span class="o">=</span> <span class="n">MCPServer</span><span class="p">(</span>
|
|
229
|
+
<span class="n">name</span><span class="o">=</span><span class="n">server_name</span><span class="p">,</span>
|
|
230
|
+
<span class="n">description</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'description'</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'MCP Server: </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s1">'</span><span class="p">),</span>
|
|
231
|
+
<span class="n">command</span><span class="o">=</span><span class="n">server_info</span><span class="p">[</span><span class="s1">'command'</span><span class="p">],</span>
|
|
232
|
+
<span class="n">args</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'args'</span><span class="p">,</span> <span class="p">[]),</span>
|
|
233
|
+
<span class="n">env</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'env'</span><span class="p">,</span> <span class="p">{}),</span>
|
|
234
|
+
<span class="n">install_method</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'install_method'</span><span class="p">,</span> <span class="s1">'manual'</span><span class="p">),</span>
|
|
235
|
+
<span class="n">install_package</span><span class="o">=</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'install_package'</span><span class="p">),</span>
|
|
236
|
+
<span class="n">auto_install</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
|
|
237
|
+
<span class="n">installed</span><span class="o">=</span><span class="kc">False</span>
|
|
238
|
+
<span class="p">)</span>
|
|
239
|
+
|
|
240
|
+
<span class="c1"># Add server to manager</span>
|
|
241
|
+
<span class="n">mcp_manager</span><span class="o">.</span><span class="n">add_server</span><span class="p">(</span><span class="n">server_name</span><span class="p">,</span> <span class="n">server_config</span><span class="p">)</span>
|
|
242
|
+
|
|
243
|
+
<span class="c1"># Connect to the server</span>
|
|
244
|
+
<span class="n">success</span> <span class="o">=</span> <span class="k">await</span> <span class="n">mcp_manager</span><span class="o">.</span><span class="n">connect_server</span><span class="p">(</span><span class="n">server_name</span><span class="p">)</span>
|
|
245
|
+
|
|
246
|
+
<span class="k">if</span> <span class="n">success</span><span class="p">:</span>
|
|
247
|
+
<span class="c1"># Get final server status</span>
|
|
248
|
+
<span class="n">catalog_manager</span><span class="o">.</span><span class="n">update_server_status</span><span class="p">()</span>
|
|
249
|
+
|
|
250
|
+
<span class="c1"># Import and call the refresh function to update dynamic commands</span>
|
|
251
|
+
<span class="k">try</span><span class="p">:</span>
|
|
252
|
+
<span class="kn">from</span><span class="w"> </span><span class="nn">.mod</span><span class="w"> </span><span class="kn">import</span> <span class="n">mcp_refresh_dynamic_commands</span>
|
|
253
|
+
<span class="k">await</span> <span class="n">mcp_refresh_dynamic_commands</span><span class="p">()</span>
|
|
254
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
255
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Warning: Could not refresh dynamic commands: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
|
256
|
+
|
|
257
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Successfully installed and connected to </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">. MCP tools are now available as commands."</span>
|
|
258
|
+
<span class="k">else</span><span class="p">:</span>
|
|
259
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Installed </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2"> but failed to connect. Check server configuration."</span>
|
|
260
|
+
|
|
261
|
+
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
262
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Error in mcp_catalog_install_and_run: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
|
263
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Error installing and running </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span></div>
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
<div class="viewcode-block" id="mcp_catalog_stop">
|
|
268
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_stop">[docs]</a>
|
|
269
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
270
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_stop</span><span class="p">(</span><span class="n">server_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
271
|
+
<span class="w"> </span><span class="sd">"""Stop an MCP server</span>
|
|
272
|
+
<span class="sd"> </span>
|
|
273
|
+
<span class="sd"> Example:</span>
|
|
274
|
+
<span class="sd"> { "mcp_catalog_stop": { "server_name": "calculator" } }</span>
|
|
275
|
+
<span class="sd"> """</span>
|
|
276
|
+
<span class="n">success</span> <span class="o">=</span> <span class="k">await</span> <span class="n">mcp_manager</span><span class="o">.</span><span class="n">disconnect_server</span><span class="p">(</span><span class="n">server_name</span><span class="p">)</span>
|
|
277
|
+
|
|
278
|
+
<span class="k">if</span> <span class="n">success</span><span class="p">:</span>
|
|
279
|
+
<span class="n">catalog_manager</span><span class="o">.</span><span class="n">update_server_status</span><span class="p">()</span>
|
|
280
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Successfully stopped </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">"</span>
|
|
281
|
+
<span class="k">else</span><span class="p">:</span>
|
|
282
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Failed to stop </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2">"</span></div>
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
<div class="viewcode-block" id="mcp_catalog_status">
|
|
287
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_status">[docs]</a>
|
|
288
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
289
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_status</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
290
|
+
<span class="w"> </span><span class="sd">"""Get status of all catalog servers</span>
|
|
291
|
+
<span class="sd"> </span>
|
|
292
|
+
<span class="sd"> Example:</span>
|
|
293
|
+
<span class="sd"> { "mcp_catalog_status": {} }</span>
|
|
294
|
+
<span class="sd"> """</span>
|
|
295
|
+
<span class="n">catalog</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">update_server_status</span><span class="p">()</span>
|
|
296
|
+
<span class="n">servers</span> <span class="o">=</span> <span class="n">catalog</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"servers"</span><span class="p">,</span> <span class="p">{})</span>
|
|
297
|
+
|
|
298
|
+
<span class="n">status_summary</span> <span class="o">=</span> <span class="p">{</span>
|
|
299
|
+
<span class="s2">"total"</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">servers</span><span class="p">),</span>
|
|
300
|
+
<span class="s2">"installed"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
|
301
|
+
<span class="s2">"running"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
|
302
|
+
<span class="s2">"available"</span><span class="p">:</span> <span class="mi">0</span>
|
|
303
|
+
<span class="p">}</span>
|
|
304
|
+
|
|
305
|
+
<span class="n">server_status</span> <span class="o">=</span> <span class="p">[]</span>
|
|
306
|
+
|
|
307
|
+
<span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">servers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
|
308
|
+
<span class="n">installed</span> <span class="o">=</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"installed"</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
|
309
|
+
<span class="n">running</span> <span class="o">=</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"running"</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
|
310
|
+
|
|
311
|
+
<span class="k">if</span> <span class="n">installed</span><span class="p">:</span>
|
|
312
|
+
<span class="n">status_summary</span><span class="p">[</span><span class="s2">"installed"</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
|
|
313
|
+
<span class="k">if</span> <span class="n">running</span><span class="p">:</span>
|
|
314
|
+
<span class="n">status_summary</span><span class="p">[</span><span class="s2">"running"</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
|
|
315
|
+
<span class="k">if</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"status"</span><span class="p">)</span> <span class="o">==</span> <span class="s2">"available"</span><span class="p">:</span>
|
|
316
|
+
<span class="n">status_summary</span><span class="p">[</span><span class="s2">"available"</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
|
|
317
|
+
|
|
318
|
+
<span class="n">server_status</span><span class="o">.</span><span class="n">append</span><span class="p">({</span>
|
|
319
|
+
<span class="s2">"name"</span><span class="p">:</span> <span class="n">name</span><span class="p">,</span>
|
|
320
|
+
<span class="s2">"display_name"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"display_name"</span><span class="p">,</span> <span class="n">name</span><span class="p">),</span>
|
|
321
|
+
<span class="s2">"installed"</span><span class="p">:</span> <span class="n">installed</span><span class="p">,</span>
|
|
322
|
+
<span class="s2">"running"</span><span class="p">:</span> <span class="n">running</span><span class="p">,</span>
|
|
323
|
+
<span class="s2">"category"</span><span class="p">:</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"category"</span><span class="p">,</span> <span class="s2">"unknown"</span><span class="p">)</span>
|
|
324
|
+
<span class="p">})</span>
|
|
325
|
+
|
|
326
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
327
|
+
<span class="s2">"summary"</span><span class="p">:</span> <span class="n">status_summary</span><span class="p">,</span>
|
|
328
|
+
<span class="s2">"servers"</span><span class="p">:</span> <span class="n">server_status</span>
|
|
329
|
+
<span class="p">}</span></div>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
<div class="viewcode-block" id="mcp_catalog_info">
|
|
334
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_info">[docs]</a>
|
|
335
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
336
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_info</span><span class="p">(</span><span class="n">server_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
337
|
+
<span class="w"> </span><span class="sd">"""Get detailed info about a catalog server</span>
|
|
338
|
+
<span class="sd"> </span>
|
|
339
|
+
<span class="sd"> Example:</span>
|
|
340
|
+
<span class="sd"> { "mcp_catalog_info": { "server_name": "calculator" } }</span>
|
|
341
|
+
<span class="sd"> """</span>
|
|
342
|
+
<span class="n">server_info</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_server_info</span><span class="p">(</span><span class="n">server_name</span><span class="p">)</span>
|
|
343
|
+
|
|
344
|
+
<span class="k">if</span> <span class="ow">not</span> <span class="n">server_info</span><span class="p">:</span>
|
|
345
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Server </span><span class="si">{</span><span class="n">server_name</span><span class="si">}</span><span class="s2"> not found in catalog"</span>
|
|
346
|
+
|
|
347
|
+
<span class="c1"># Update running status</span>
|
|
348
|
+
<span class="n">running_status</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">detect_running_servers</span><span class="p">()</span>
|
|
349
|
+
<span class="n">server_info</span><span class="p">[</span><span class="s2">"running"</span><span class="p">]</span> <span class="o">=</span> <span class="n">running_status</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">server_name</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
|
350
|
+
|
|
351
|
+
<span class="k">return</span> <span class="n">server_info</span></div>
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
<div class="viewcode-block" id="mcp_catalog_categories">
|
|
356
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_categories">[docs]</a>
|
|
357
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
358
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_categories</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
359
|
+
<span class="w"> </span><span class="sd">"""Get list of server categories</span>
|
|
360
|
+
<span class="sd"> </span>
|
|
361
|
+
<span class="sd"> Example:</span>
|
|
362
|
+
<span class="sd"> { "mcp_catalog_categories": {} }</span>
|
|
363
|
+
<span class="sd"> """</span>
|
|
364
|
+
<span class="n">categories</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">get_categories</span><span class="p">()</span>
|
|
365
|
+
<span class="n">catalog</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">load_catalog</span><span class="p">()</span>
|
|
366
|
+
|
|
367
|
+
<span class="c1"># Count servers per category</span>
|
|
368
|
+
<span class="n">category_counts</span> <span class="o">=</span> <span class="p">{}</span>
|
|
369
|
+
<span class="k">for</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">catalog</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"servers"</span><span class="p">,</span> <span class="p">{})</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
|
370
|
+
<span class="n">category</span> <span class="o">=</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"category"</span><span class="p">,</span> <span class="s2">"unknown"</span><span class="p">)</span>
|
|
371
|
+
<span class="n">category_counts</span><span class="p">[</span><span class="n">category</span><span class="p">]</span> <span class="o">=</span> <span class="n">category_counts</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">category</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span>
|
|
372
|
+
|
|
373
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
374
|
+
<span class="s2">"categories"</span><span class="p">:</span> <span class="n">categories</span><span class="p">,</span>
|
|
375
|
+
<span class="s2">"counts"</span><span class="p">:</span> <span class="n">category_counts</span>
|
|
376
|
+
<span class="p">}</span></div>
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
<div class="viewcode-block" id="mcp_catalog_add_custom">
|
|
381
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_add_custom">[docs]</a>
|
|
382
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
383
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_add_custom</span><span class="p">(</span><span class="n">server_info</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">],</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
384
|
+
<span class="w"> </span><span class="sd">"""Add a custom server to the catalog</span>
|
|
385
|
+
<span class="sd"> </span>
|
|
386
|
+
<span class="sd"> Example:</span>
|
|
387
|
+
<span class="sd"> { "mcp_catalog_add_custom": {</span>
|
|
388
|
+
<span class="sd"> "server_info": {</span>
|
|
389
|
+
<span class="sd"> "name": "my_server",</span>
|
|
390
|
+
<span class="sd"> "display_name": "My Custom Server",</span>
|
|
391
|
+
<span class="sd"> "description": "Custom MCP server",</span>
|
|
392
|
+
<span class="sd"> "command": "python",</span>
|
|
393
|
+
<span class="sd"> "args": ["-m", "my_mcp_server"],</span>
|
|
394
|
+
<span class="sd"> "category": "custom",</span>
|
|
395
|
+
<span class="sd"> "install_method": "manual"</span>
|
|
396
|
+
<span class="sd"> }</span>
|
|
397
|
+
<span class="sd"> }}</span>
|
|
398
|
+
<span class="sd"> """</span>
|
|
399
|
+
<span class="n">success</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">add_custom_server</span><span class="p">(</span><span class="n">server_info</span><span class="p">)</span>
|
|
400
|
+
|
|
401
|
+
<span class="k">if</span> <span class="n">success</span><span class="p">:</span>
|
|
402
|
+
<span class="k">return</span> <span class="sa">f</span><span class="s2">"Successfully added custom server </span><span class="si">{</span><span class="n">server_info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'name'</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span>
|
|
403
|
+
<span class="k">else</span><span class="p">:</span>
|
|
404
|
+
<span class="k">return</span> <span class="s2">"Failed to add custom server - missing required fields"</span></div>
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
<div class="viewcode-block" id="mcp_catalog_refresh">
|
|
409
|
+
<a class="viewcode-back" href="../../../../source/mindroot.coreplugins.mcp_.html#mindroot.coreplugins.mcp_.catalog_commands.mcp_catalog_refresh">[docs]</a>
|
|
410
|
+
<span class="nd">@command</span><span class="p">()</span>
|
|
411
|
+
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">mcp_catalog_refresh</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
412
|
+
<span class="w"> </span><span class="sd">"""Refresh catalog and update server status</span>
|
|
413
|
+
<span class="sd"> </span>
|
|
414
|
+
<span class="sd"> Example:</span>
|
|
415
|
+
<span class="sd"> { "mcp_catalog_refresh": {} }</span>
|
|
416
|
+
<span class="sd"> """</span>
|
|
417
|
+
<span class="n">catalog</span> <span class="o">=</span> <span class="n">catalog_manager</span><span class="o">.</span><span class="n">update_server_status</span><span class="p">()</span>
|
|
418
|
+
<span class="n">running_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">server</span> <span class="ow">in</span> <span class="n">catalog</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"servers"</span><span class="p">,</span> <span class="p">{})</span><span class="o">.</span><span class="n">values</span><span class="p">()</span>
|
|
419
|
+
<span class="k">if</span> <span class="n">server</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"running"</span><span class="p">,</span> <span class="kc">False</span><span class="p">))</span>
|
|
420
|
+
|
|
421
|
+
<span class="k">return</span> <span class="p">{</span>
|
|
422
|
+
<span class="s2">"message"</span><span class="p">:</span> <span class="s2">"Catalog refreshed"</span><span class="p">,</span>
|
|
423
|
+
<span class="s2">"total_servers"</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">catalog</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"servers"</span><span class="p">,</span> <span class="p">{})),</span>
|
|
424
|
+
<span class="s2">"running_servers"</span><span class="p">:</span> <span class="n">running_count</span>
|
|
425
|
+
<span class="p">}</span></div>
|
|
426
|
+
|
|
427
|
+
</pre></div>
|
|
428
|
+
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
<footer>
|
|
432
|
+
|
|
433
|
+
<hr/>
|
|
434
|
+
|
|
435
|
+
<div role="contentinfo">
|
|
436
|
+
<p>© Copyright 2025, Jason Livesay.</p>
|
|
437
|
+
</div>
|
|
438
|
+
|
|
439
|
+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
440
|
+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
441
|
+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
</footer>
|
|
445
|
+
</div>
|
|
446
|
+
</div>
|
|
447
|
+
</section>
|
|
448
|
+
</div>
|
|
449
|
+
<script>
|
|
450
|
+
jQuery(function () {
|
|
451
|
+
SphinxRtdTheme.Navigation.enable(true);
|
|
452
|
+
});
|
|
453
|
+
</script>
|
|
454
|
+
|
|
455
|
+
</body>
|
|
456
|
+
</html>
|