Skip to main content
Glama

auth_status

Check authentication status on CyberMCP to identify vulnerabilities such as bypasses, injection attacks, or data leaks in APIs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function that executes the logic for the 'auth_status' tool. It retrieves the current authentication state using AuthManager and constructs a detailed status message based on the auth type, including token details, expiry, and headers.
    async () => { const authManager = AuthManager.getInstance(); const authState = authManager.getAuthState(); let statusText = ""; if (authState.type === 'none') { statusText = "No authentication configured. Use basic_auth, token_auth, oauth2_auth, or api_login to authenticate."; } else { statusText = `Current authentication type: ${authState.type}\n`; if (authState.type === 'basic') { statusText += `Username: ${authState.username}\n`; statusText += `Authentication header: Authorization: Basic ***\n`; } else if (authState.type === 'token' || authState.type === 'oauth2') { statusText += `Token: ${authState.token?.substring(0, 10)}***\n`; if (authState.refreshToken) { statusText += `Refresh token: Available\n`; } if (authState.tokenExpiry) { const now = new Date(); const isExpired = now > authState.tokenExpiry; statusText += `Token expires: ${authState.tokenExpiry.toISOString()} (${isExpired ? 'EXPIRED' : 'Valid'})\n`; } if (authState.headers) { statusText += `Authentication headers: ${Object.keys(authState.headers).join(', ')}\n`; } } } return { content: [ { type: "text", text: statusText, }, ], }; }
  • Registration of the 'auth_status' tool in the registerAuthenticationTools function using server.tool(). Includes empty input schema (no parameters) and references the inline handler.
    server.tool( "auth_status", {}, async () => { const authManager = AuthManager.getInstance(); const authState = authManager.getAuthState(); let statusText = ""; if (authState.type === 'none') { statusText = "No authentication configured. Use basic_auth, token_auth, oauth2_auth, or api_login to authenticate."; } else { statusText = `Current authentication type: ${authState.type}\n`; if (authState.type === 'basic') { statusText += `Username: ${authState.username}\n`; statusText += `Authentication header: Authorization: Basic ***\n`; } else if (authState.type === 'token' || authState.type === 'oauth2') { statusText += `Token: ${authState.token?.substring(0, 10)}***\n`; if (authState.refreshToken) { statusText += `Refresh token: Available\n`; } if (authState.tokenExpiry) { const now = new Date(); const isExpired = now > authState.tokenExpiry; statusText += `Token expires: ${authState.tokenExpiry.toISOString()} (${isExpired ? 'EXPIRED' : 'Valid'})\n`; } if (authState.headers) { statusText += `Authentication headers: ${Object.keys(authState.headers).join(', ')}\n`; } } } return { content: [ { type: "text", text: statusText, }, ], }; } );
  • The getAuthState() method of AuthManager class, which is called by the auth_status handler to obtain the current authentication state object.
    public getAuthState(): AuthState { return { ...this.authState }; }
  • High-level registration call in registerSecurityTools that invokes registerAuthenticationTools, which registers the auth_status tool among others.
    registerAuthenticationTools(server);
  • AuthState interface defining the structure of authentication state used by getAuthState() and processed in the auth_status handler.
    export interface AuthState { type: 'token' | 'oauth2' | 'basic' | 'none'; token?: string; refreshToken?: string; tokenExpiry?: Date; username?: string; password?: string; // Note: In a production app, we'd use more secure storage oauthTokens?: any; headers?: Record<string, string>; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ricauts/CyberMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server