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

Function registerMCPKeyTools

api/controller/mcp_tools.go:101–170  ·  view source on GitHub ↗
(server *MCPServer)

Source from the content-addressed store, hash-verified

99}
100
101func registerMCPKeyTools(server *MCPServer) {
102 AddTypedMCPTool(server, &mcp.Tool{Name: "mcp_key.create", Description: "创建当前用户的 MCP KEY"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPKeyCreateInput) (*mcp.CallToolResult, any, error) {
103 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
104 if err != nil {
105 return nil, nil, err
106 }
107 svc := mcpservice.NewAPIKeyService()
108 apiKey, keyValue, err := svc.CreateOwnedAPIKey(ctx, eid, userID, in.Name, in.Description)
109 if err != nil {
110 return nil, nil, err
111 }
112 return &mcp.CallToolResult{}, encodeMCPToolOutput(map[string]any{
113 "id": apiKey.ID,
114 "key": keyValue,
115 "name": apiKey.Name,
116 "description": apiKey.Description,
117 "status": apiKey.Status,
118 }), nil
119 })
120
121 AddTypedMCPTool(server, &mcp.Tool{Name: "mcp_key.list", Description: "列出当前用户创建的 MCP KEY"}, func(ctx context.Context, _ *mcp.CallToolRequest, _ struct{}) (*mcp.CallToolResult, any, error) {
122 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
123 if err != nil {
124 return nil, nil, err
125 }
126 svc := mcpservice.NewAPIKeyService()
127 keys, err := svc.ListOwnedAPIKeys(ctx, eid, userID)
128 if err != nil {
129 return nil, nil, err
130 }
131 return &mcp.CallToolResult{}, encodeMCPToolOutput(map[string]any{"items": keys, "total": len(keys)}), nil
132 })
133
134 AddTypedMCPTool(server, &mcp.Tool{Name: "mcp_key.detail", Description: "查看当前用户创建的 MCP KEY 详情"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPKeyIDInput) (*mcp.CallToolResult, any, error) {
135 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
136 if err != nil {
137 return nil, nil, err
138 }
139 svc := mcpservice.NewAPIKeyService()
140 key, err := svc.GetOwnedAPIKey(ctx, eid, userID, in.ID.Int64())
141 if err != nil {
142 return nil, nil, err
143 }
144 return &mcp.CallToolResult{}, encodeMCPToolOutput(key), nil
145 })
146
147 AddTypedMCPTool(server, &mcp.Tool{Name: "mcp_key.disable", Description: "禁用当前用户创建的 MCP KEY"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPKeyIDInput) (*mcp.CallToolResult, any, error) {
148 userID, eid, _, err := CurrentMCPAuthInfo(ctx)
149 if err != nil {
150 return nil, nil, err
151 }
152 svc := mcpservice.NewAPIKeyService()
153 if err := svc.DisableOwnedAPIKey(ctx, eid, userID, in.ID.Int64()); err != nil {
154 return nil, nil, err
155 }
156 return &mcp.CallToolResult{}, encodeMCPToolOutput(map[string]any{"id": in.ID.Int64(), "status": model.APIKeyStatusDisabled}), nil
157 })
158

Callers 1

registerMCPToolsFunction · 0.85

Calls 9

CreateOwnedAPIKeyMethod · 0.95
ListOwnedAPIKeysMethod · 0.95
GetOwnedAPIKeyMethod · 0.95
DisableOwnedAPIKeyMethod · 0.95
DeleteOwnedAPIKeyMethod · 0.95
AddTypedMCPToolFunction · 0.85
CurrentMCPAuthInfoFunction · 0.85
encodeMCPToolOutputFunction · 0.85
Int64Method · 0.45

Tested by

no test coverage detected