插件管理工具

MCP插件市场是一个用于浏览、安装、测试和删除多链编程(MCP)代理插件的命令行界面(CLI),类似于轻量级的扩展商店。

  • by Mtar786
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Mtar786/MCPPluginMarketplace

使用说明

MCP插件市场

这 MCP插件市场 是一个简单的命令行界面(CLI) 用于浏览、安装、测试和删除Multi-Chain插件 编程(MCP)代理。它就像一个轻量级的扩展 商店,灵感来自VS Code的扩展库,可用于 管理本地代理工具。

为什么是插件市场?

通过附加组件扩展产品是一种公认的做法 通过市场提供这些插件,用户可以添加功能 根据需求【253161270797461†L20-L24】。但有一些重要的设计 创建市场时要做的选择:是否只列出 内部插件或接受社区提交,插件将如何 与核心产品集成,以及您将如何管理 兼容性【253161270797461†L20-L27】。你也应该决定是否 将建立自己的市场或依赖现有的市场。使用a 现有的市场提供了曝光和信任,但也做出了牺牲 控制提交的内容及其定价【253161270797461†L61-L67】。 建立自己的市场可以让你控制,但需要更多 邀请社区提交意见书以快速 种植选择【253161270797461†L68-L72】。

最后,市场体验必须是开放的,易于使用 开发人员和客户:提交和审查流程应 简单明了,导航应该直观,分类 应组织良好【253161270797461†L121-L134】。添加评级和 评论提供了社会证明,并帮助用户做出明智的决定。

特性

  • 列出可用插件 –显示插件目录 它们的名称、版本和描述。
  • 安装插件 –从本地包文件安装插件 进入代理人的 plugins/ 目录。安装只需复制 将插件文件夹添加到本地环境。
  • 卸载插件 –删除插件及其文件。
  • 测试插件 –运行插件的内置测试函数(如果 提供)以验证其是否正常工作。
  • 搜索插件 –按关键字过滤插件。

安装

  1. 克隆此存储库,并可选择创建虚拟环境:

    python3 -m venv venv
    source venv/bin/activate
    
  2. 安装依赖项:

    pip install -r requirements.txt
    

用法

使用CLI管理MCP插件。以下命令是 可用:

# List available (remote) plugins
python -m mcp_plugin_marketplace.cli list

# Install a plugin from a local zip file
python -m mcp_plugin_marketplace.cli install path/to/plugin.zip

# Uninstall a plugin by name
python -m mcp_plugin_marketplace.cli uninstall plugin_name

# Test a plugin
python -m mcp_plugin_marketplace.cli test plugin_name

插件必须实现一个简单的接口:它们应该是Python 带有a的包裹 manifest.json 描述插件的文件(名称, 版本、描述)和a plugin.py 模块暴露 run_test() 市场使用的功能 test 命令。看 这 sample_plugin 以目录为例。

运作原理

插件存储在名为 plugins_installed/ 在你的 主目录。市场从以下位置读取插件元数据 manifest.json 文件,允许它列出已安装的插件。它也 从JSON文件加载可用插件的目录(您可以 配置源)。安装插件会复制插件文件夹 融入当地环境;卸载会将其删除。

CLI是用 click 并使用标准的Python文件操作。 确实如此 不 默认情况下从远程服务器下载插件; 相反,它希望您提供一个本地存档。未来 版本,您可以实现远程下载和身份验证。

局限性和未来工作

这个市场提供了一个基本的脚手架,不能处理 版本冲突、插件之间的依赖关系或更新 通知。它不会对插件进行签名或验证签名。这 插件测试系统只调用一个 run_test() 功能和 假设插件可以安全执行。制作此工具 您应该准备好实施安全检查、版本和依赖关系 管理、远程目录集成和web UI。

参考文献

  • 附加市场 –通过市场提供插件 用户只在需要时添加功能,但这需要做出决定 关于范围(内部与社区)和兼容性管理【253161270797461†L20-L27】。
  • 市场设计选择 –建立自己的市场 控制,但需要更多的努力;利用现有市场 提供曝光但控制较少【253161270797461†L61-L67】。打开 市场到社区的提交可以快速扩展您的 目录【253161270797461†L68-L72】。
  • 用户体验 –市场应该是可见的,易于访问 使用简单的工具为开发人员和客户导航 提交流程和直观搜索【253161270797461†L121-L134】。