Skip to main content
Glama
ddukbg

GitHub Enterprise MCP Server

delete-user

Remove a user from GitHub Enterprise by specifying the username. This tool integrates with the GitHub Enterprise MCP Server to streamline user management tasks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYesUsername of the user to delete

Implementation Reference

  • MCP tool registration for 'delete-user', including input schema (username: z.string()) and handler wrapper that delegates to UserManagement.deleteUser after Enterprise check
    server.tool( "delete-user", { username: z.string().describe("Username of the user to delete") }, async ({ username }) => { try { if (!context.isGitHubEnterprise) { return { content: [ { type: "text", text: "User deletion is only available in GitHub Enterprise. This operation cannot be performed on GitHub.com." } ], isError: true }; } await context.users.deleteUser(context.client, { username }); return { content: [ { type: "text", text: `User '${username}' has been successfully deleted.` } ] }; } catch (error: any) { console.error('Error deleting user:', error); return { content: [ { type: "text", text: `An error occurred while deleting user: ${error.message}` } ], isError: true }; } } );
  • Core handler logic in UserManagement.deleteUser that sends DELETE request to GitHub Enterprise admin API endpoint /admin/users/${username}
    /** * Delete a user from GitHub Enterprise * * @param client - GitHub API client * @param params - Parameters with username to delete * @returns Promise that resolves to true if successful */ async deleteUser(client: any, params: DeleteUserParams): Promise<boolean> { try { const { baseUrl, token } = client; const { username } = params; if (!username) { throw new Error('Username is required'); } const url = `${baseUrl}/admin/users/${username}`; await axios.delete(url, { headers: { Authorization: `token ${token}`, Accept: 'application/vnd.github.v3+json' } }); return true; } catch (error: any) { if (error.response?.status === 404) { throw new Error(`User '${params.username}' not found or admin endpoint not available`); } throw new Error(`Failed to delete user: ${error.message}`); } }
  • TypeScript interface definition for DeleteUserParams used by the deleteUser handler
    * Parameters to delete a user */ export interface DeleteUserParams { /** * Username of the user to delete */ username: string; }
  • server/index.ts:13-13 (registration)
    Import of UserManagement class used for user operations
    import { UserManagement } from '../api/users/users.js';
  • Context creation including instantiation of UserManagement for tool handlers
    // Create context const context: GitHubContext = { client, repository, admin, actions, pulls, issues, users: new UserManagement(), isGitHubEnterprise: !!config.baseUrl && !config.baseUrl.includes('github.com') };

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/ddukbg/github-enterprise-mcp'

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