/** * MCP 工具消息类型定义。 * * 参考 MCP 2025-06-18 规范: * https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result */ /** 文本内容 */ export type McpToolMessageText = { type: 'text'; text: string; }; /** 图片内容(base64 编码) */ export type McpToolMessageImage = { type: 'image'; data: string; mimeType: string; }; /** 音频内容(base64 编码) */ export type McpToolMessageAudio = { type: 'audio'; data: string; mimeType: string; }; /** * 资源链接(引用外部资源)。 * 仅包含资源的元数据,不包含实际内容。 */ export type McpToolMessageResourceLink = { type: 'resource_link'; uri: string; name?: string; description?: string; mimeType?: string; }; /** * 嵌入式资源(embedded resource)。 * * MCP 规范中 embedded resource 的结构为: * { * type: 'resource', * resource: { * uri: string, * mimeType?: string, * text?: string, // 文本内容 * blob?: string, // 二进制内容(base64) * } * } * * 其中 text 和 blob 二选一。 */ export type McpToolMessageResource = { type: 'resource'; resource: { uri: string; mimeType?: string; /** 文本内容(与 blob 二选一) */ text?: string; /** 二进制内容,base64 编码(与 text 二选一) */ blob?: string; }; }; /** * MCP 工具返回的消息类型联合。 * * 参考:https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result */ export type McpToolMessage = McpToolMessageText | McpToolMessageImage | McpToolMessageAudio | McpToolMessageResourceLink | McpToolMessageResource;