check_github_auth
Verify GitHub authentication status to confirm connection, display username, and identify available actions for AI persona management.
Instructions
Check current GitHub authentication status. Shows whether you're connected to GitHub, your username, and what actions are available. Use when users ask 'am I connected to GitHub?', 'what's my GitHub status?', or similar questions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server/tools/AuthTools.ts:22-31 (registration)Defines and registers the 'check_github_auth' tool including name, description, empty input schema, and handler that delegates to server.checkGitHubAuth() method.tool: { name: "check_github_auth", description: "Check current GitHub authentication status. Shows whether you're connected to GitHub, your username, and what actions are available. Use when users ask 'am I connected to GitHub?', 'what's my GitHub status?', or similar questions.", inputSchema: { type: "object", properties: {} } }, handler: () => server.checkGitHubAuth() },
- src/auth/GitHubAuthManager.ts:214-242 (handler)Core implementation of GitHub authentication status check: retrieves token, validates it by fetching user info from GitHub API, returns status including username and scopes if authenticated.async getAuthStatus(): Promise<AuthStatus> { const token = await TokenManager.getGitHubTokenAsync(); if (!token) { return { isAuthenticated: false, hasToken: false }; } try { // Try to get user info to validate token const userInfo = await this.fetchUserInfo(token); return { isAuthenticated: true, hasToken: true, username: userInfo.login, scopes: userInfo.scopes }; } catch (error) { // Token might be invalid or expired ErrorHandler.logError('GitHubAuthManager.checkAuthStatus', error); return { isAuthenticated: false, hasToken: true // Has token but it's invalid }; } }
- src/server/ServerSetup.ts:65-66 (registration)Registers the auth tools (including check_github_auth) from getAuthTools into the MCP tool registry.// Register auth tools this.toolRegistry.registerMany(getAuthTools(instance));
- src/server/types.ts:49-49 (schema)TypeScript interface definition for the checkGitHubAuth method on IToolHandler.checkGitHubAuth(): Promise<any>;