| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package helper
- import (
- "fmt"
- "github.com/mark3labs/mcp-go/mcp"
- )
- // JSONResult 将任意数据序列化为 JSON 文本返回,序列化前完成 PII 脱敏(A+B)。
- // 脱敏失败时返回错误,拒绝输出(fail-closed)。
- func JSONResult(data any) *mcp.CallToolResult {
- b, err := marshalSanitized(data)
- if err != nil {
- return mcp.NewToolResultError(err.Error())
- }
- return mcp.NewToolResultText(string(b))
- }
- // TextResult 直接返回文本
- func TextResult(text string) *mcp.CallToolResult {
- return mcp.NewToolResultText(text)
- }
- // ParamError 参数缺失错误
- func ParamError(name string) *mcp.CallToolResult {
- return mcp.NewToolResultError(fmt.Sprintf("参数 %s 必填", name))
- }
- // ParamInvalidError 参数格式错误
- func ParamInvalidError(name string, detail string) *mcp.CallToolResult {
- return mcp.NewToolResultError(fmt.Sprintf("参数 %s 格式错误: %s", name, detail))
- }
- // ServiceError 业务调用错误
- func ServiceError(action string, err error) *mcp.CallToolResult {
- return mcp.NewToolResultError(fmt.Sprintf("%s失败: %v", action, err))
- }
- // EmptyResult 空结果
- func EmptyResult(msg string) *mcp.CallToolResult {
- return mcp.NewToolResultText(msg)
- }
|