MCPcopy Create free account
hub / github.com/53AI/53AIHub / registerMCPBatchUploadTools

Function registerMCPBatchUploadTools

api/controller/mcp_batch_upload.go:40–110  ·  view source on GitHub ↗
(server *MCPServer)

Source from the content-addressed store, hash-verified

38type MCPBatchUploadExchangeTokenInput struct{}
39
40func registerMCPBatchUploadTools(server *MCPServer) {
41 AddTypedMCPTool(server, &mcp.Tool{Name: "batch_upload.init", Description: "初始化批量上传批次"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPBatchUploadInitInput) (*mcp.CallToolResult, any, error) {
42 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
43 if err != nil {
44 return nil, nil, err
45 }
46 svc := mcpservice.NewBatchUploadService()
47 req := &core.BatchInitRequest{
48 LibraryID: in.LibraryID.Int64(),
49 BasePath: in.BasePath,
50 TotalFiles: in.TotalFiles,
51 TotalSize: in.TotalSize,
52 FileStructure: convertMCPBatchFileStructure(in.FileStructure),
53 }
54 resp, err := svc.InitBatch(ctx, eid, userID, req)
55 if err != nil {
56 return nil, nil, err
57 }
58 return &mcp.CallToolResult{}, encodeMCPToolOutput(resp), nil
59 })
60
61 AddTypedMCPTool(server, &mcp.Tool{Name: "batch_upload.exchange_token", Description: "为批量上传任务换发短期 API Token"}, func(ctx context.Context, _ *mcp.CallToolRequest, _ MCPBatchUploadExchangeTokenInput) (*mcp.CallToolResult, any, error) {
62 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
63 if err != nil {
64 return nil, nil, err
65 }
66 apiKeyID, err := CurrentMCPAPIKeyID(ctx)
67 if err != nil {
68 return nil, nil, err
69 }
70 svc := mcpservice.NewUploadTokenService()
71 resp, err := svc.IssueBatchUploadToken(ctx, userID, eid, apiKeyID)
72 if err != nil {
73 return nil, nil, err
74 }
75 return &mcp.CallToolResult{}, encodeMCPToolOutput(map[string]any{
76 "token_type": resp.TokenType,
77 "scope": resp.Scope,
78 "token": resp.Token,
79 "expires_at": resp.ExpiresAt,
80 }), nil
81 })
82
83 AddTypedMCPTool(server, &mcp.Tool{Name: "batch_upload.progress", Description: "查看批量上传进度"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPBatchUploadProgressInput) (*mcp.CallToolResult, any, error) {
84 _, _, _, err := CurrentMCPAuthInfo(ctx)
85 if err != nil {
86 return nil, nil, err
87 }
88 svc := mcpservice.NewBatchUploadService()
89 resp, err := svc.GetProgress(ctx, in.BatchID, in.Detail, in.FileUploadID, in.Since)
90 if err != nil {
91 return nil, nil, err
92 }
93 return &mcp.CallToolResult{}, encodeMCPToolOutput(resp), nil
94 })
95
96 AddTypedMCPTool(server, &mcp.Tool{Name: "batch_upload.cancel", Description: "取消批量上传批次"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPBatchUploadCancelInput) (*mcp.CallToolResult, any, error) {
97 _, _, _, err := CurrentMCPAuthInfo(ctx)

Callers 1

registerMCPToolsFunction · 0.85

Calls 10

InitBatchMethod · 0.95
GetProgressMethod · 0.95
CancelBatchMethod · 0.95
AddTypedMCPToolFunction · 0.85
CurrentMCPAuthInfoFunction · 0.85
encodeMCPToolOutputFunction · 0.85
CurrentMCPAPIKeyIDFunction · 0.85
IssueBatchUploadTokenMethod · 0.80
Int64Method · 0.45

Tested by

no test coverage detected