MCP扩展分组工具

MCP Python SDK的扩展,提供树状数据模型以实现服务器端的分层分组功能,适用于组织工具、提示和资源。

  • by OpenMCPTools
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 OpenMCPTools/mcp_extensions_python

使用说明

MCP扩展——Python

MCP(模型上下文协议)Python SDK的扩展。

服务器端分组

这 组织.penmcptools.extensions.groups 模块提供了一个MCP扩展,以支持基于 开发包.

这里有什么

该项目定义了一个基于树的数据模型来组织 工具, 提示,以及 资源 进入 分层组 --比如文件夹中的文件夹。

核心模型 (src/common.py)

  • 群组 --树节点。可以包含其他组、工具、提示和资源。每个组都知道其父组并计算其完全限定名(例如。 com.example.api).
  • 工具 --MCP工具。可以同时属于多个组。
  • 提示 --带有键入参数的MCP提示。
  • 资源 --MCP资源(URI、大小、MIME类型)。
  • 转换器 --通用接口,用于在内部模型和任何外部格式之间进行转换。

配置和模式/Pydantic模型 (src/groupext.py)

扩展标识符常量(org.openmcptools/groups)以及 Group类型和所有常见类型的复制模型定义.

模式

python pydantic模型实现基于此json模式

        "Group": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "parent": {
                    "$ref": "#/definitions/Group",
                },
                "description": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "_meta": {
                    "additionalProperties": {},
                    "type": "object"
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        }

此分层分组架构为 最初被提出作为MCP协议的增强对于“父”字段及其在层次分组中的作用的具体讨论, 请查看此帖子和后续帖子.

相同的架构用于 mcp扩展_java组扩展 (Java SDK扩展)和 mcp_扩展名_typescript组扩展名 (Typescript SDK扩展)