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

Function registerMCPSpaceTools

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

Source from the content-addressed store, hash-verified

170}
171
172func registerMCPSpaceTools(server *MCPServer) {
173 AddTypedMCPTool(server, &mcp.Tool{Name: "space.list", Description: "获取当前用户可访问的空间列表"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPSpaceListInput) (*mcp.CallToolResult, any, error) {
174 userID, eid, role, err := CurrentMCPAuthInfo(ctx)
175 if err != nil {
176 return nil, nil, err
177 }
178 admin := role >= model.RoleAdminUser
179 svc := mcpservice.NewSpaceService()
180 count, spaces, err := svc.ListVisibleSpaces(ctx, eid, userID, in.Status, in.Name, in.Offset, in.Limit, in.View, admin)
181 if err != nil {
182 return nil, nil, err
183 }
184 return &mcp.CallToolResult{}, encodeMCPToolOutput(map[string]any{"count": count, "items": spaces}), nil
185 })
186
187 AddTypedMCPTool(server, &mcp.Tool{Name: "space.detail", Description: "获取空间详情"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPSpaceDetailInput) (*mcp.CallToolResult, any, error) {
188 userID, eid, role, err := CurrentMCPAuthInfo(ctx)
189 if err != nil {
190 return nil, nil, err
191 }
192 admin := role >= model.RoleAdminUser
193 svc := mcpservice.NewSpaceService()
194 space, err := svc.GetVisibleSpaceDetail(ctx, eid, userID, in.SpaceID.Int64(), admin)
195 if err != nil {
196 return nil, nil, err
197 }
198 return &mcp.CallToolResult{}, encodeMCPToolOutput(space), nil
199 })
200}
201
202func registerMCPLibraryTools(server *MCPServer) {
203 AddTypedMCPTool(server, &mcp.Tool{Name: "library.list", Description: "获取当前用户可访问的知识库列表"}, func(ctx context.Context, _ *mcp.CallToolRequest, in MCPLibraryListInput) (*mcp.CallToolResult, any, error) {

Callers 1

registerMCPToolsFunction · 0.85

Calls 6

ListVisibleSpacesMethod · 0.95
GetVisibleSpaceDetailMethod · 0.95
AddTypedMCPToolFunction · 0.85
CurrentMCPAuthInfoFunction · 0.85
encodeMCPToolOutputFunction · 0.85
Int64Method · 0.45

Tested by

no test coverage detected