MCPcopy Create free account
hub / github.com/compozy/agh / mcpAuthStatus

Method mcpAuthStatus

internal/daemon/native_mcp_auth_tools.go:104–143  ·  view source on GitHub ↗
(
	ctx context.Context,
	_ toolspkg.Scope,
	req toolspkg.CallRequest,
)

Source from the content-addressed store, hash-verified

102}
103
104func (n *daemonNativeTools) mcpAuthStatus(
105 ctx context.Context,
106 _ toolspkg.Scope,
107 req toolspkg.CallRequest,
108) (toolspkg.ToolResult, error) {
109 var input mcpAuthStatusInput
110 if err := decodeNativeInput(req, &input); err != nil {
111 return toolspkg.ToolResult{}, err
112 }
113 serverName, err := requiredNativeString(req.ToolID, "server_name", input.ServerName)
114 if err != nil {
115 return toolspkg.ToolResult{}, err
116 }
117 provider := n.mcpAuthProvider()
118 if provider == nil {
119 return toolspkg.ToolResult{}, toolspkg.NewToolError(
120 toolspkg.ErrorCodeUnavailable,
121 req.ToolID,
122 "mcp auth status provider is unavailable",
123 toolspkg.ErrToolUnavailable,
124 toolspkg.ReasonDependencyMissing,
125 )
126 }
127 status, err := provider.Status(ctx, toolspkg.SourceRef{
128 Kind: toolspkg.SourceMCP,
129 Owner: serverName,
130 RawServerName: serverName,
131 })
132 if err != nil {
133 return toolspkg.ToolResult{}, err
134 }
135 if strings.TrimSpace(status.ServerName) == "" {
136 status.ServerName = serverName
137 }
138 payload := mcpAuthStatusPayload{
139 Status: status,
140 RepairPaths: mcpAuthRepairPathsFor(status.ServerName),
141 }
142 return structuredResult(payload, fmt.Sprintf("%s %s", status.ServerName, status.Status))
143}
144
145func mcpAuthRepairPathsFor(serverName string) mcpAuthRepairPaths {
146 arg := strconv.Quote(strings.TrimSpace(serverName))

Callers 1

Calls 6

mcpAuthProviderMethod · 0.95
decodeNativeInputFunction · 0.85
requiredNativeStringFunction · 0.85
mcpAuthRepairPathsForFunction · 0.85
structuredResultFunction · 0.85
StatusMethod · 0.65

Tested by 1