MCP分组扩展

为MCP TypeScript SDK提供的服务器端分层分组功能扩展,支持工具、提示和资源的树状组织。

  • by OpenMCPTools
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 OpenMCPTools/mcp_extensions_typescript

使用说明

MCP扩展——TypeScript

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

服务器端分组

这 组织.penmcptools.extensions.groups 模块提供了一个MCP扩展,以支持基于 打字sdk.

这里有什么

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

核心模型(src/Common.ts)

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

配置(src/GroupsExtensionConfig.ts)

扩展标识符常量(org.openmcptools/groups).

架构(src/GroupSchema.ts)

用于组验证的Zod模式,建立在 MCP Typescript SDK BaseMetadataSchema.

此javascript模式实现基于此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-extensions_python组扩展 (Python SDK)

如何测试

cd org.openmcptools.extensions.groups
npm install
npm test

测试涵盖了快乐路径(创建、层次结构、关系)和失败场景(无效名称、重复删除、重新添加、状态一致性)。

使用扩展的已知项目

如果您正在使用扩展程序,并希望被添加到此列表中,请打开一个pr。

mcp融合