Skip to main content
Glama
ddukbg

GitHub Enterprise MCP Server

delete-repository

Permanently remove a GitHub Enterprise repository by specifying the owner and repository name. Requires confirmation to execute deletion.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner
repoYesRepository name
confirmYesConfirmation for deletion (must be true)

Implementation Reference

  • The MCP tool handler for 'delete-repository'. Validates owner and repo parameters, requires confirm=true flag for safety, calls the repository API's deleteRepository method, and returns success or error response in MCP format.
    async ({ owner, repo, confirm }) => { try { // Parameter validation if (!owner || typeof owner !== 'string' || owner.trim() === '') { return { content: [ { type: "text", text: "Repository owner is required." } ] }; } if (!repo || typeof repo !== 'string' || repo.trim() === '') { return { content: [ { type: "text", text: "Repository name is required." } ] }; } if (!confirm) { return { content: [ { type: "text", text: "You must set 'confirm' to true to delete a repository. This action is irreversible." } ] }; } await context.repository.deleteRepository(owner, repo); return { content: [ { type: "text", text: `Successfully deleted repository: ${owner}/${repo}` } ] }; } catch (error: any) { return { content: [ { type: "text", text: `Error deleting repository: ${error.message}` } ] }; } }
  • Zod input schema defining parameters for the delete-repository tool: owner (string), repo (string), confirm (boolean required for safety).
    { owner: z.string().min(1).describe("Repository owner"), repo: z.string().min(1).describe("Repository name"), confirm: z.boolean().describe("Confirmation for deletion (must be true)")
  • MCP server.tool registration for the 'delete-repository' tool, specifying the tool name, input schema, and handler function.
    server.tool( "delete-repository", { owner: z.string().min(1).describe("Repository owner"), repo: z.string().min(1).describe("Repository name"), confirm: z.boolean().describe("Confirmation for deletion (must be true)") }, async ({ owner, repo, confirm }) => { try { // Parameter validation if (!owner || typeof owner !== 'string' || owner.trim() === '') { return { content: [ { type: "text", text: "Repository owner is required." } ] }; } if (!repo || typeof repo !== 'string' || repo.trim() === '') { return { content: [ { type: "text", text: "Repository name is required." } ] }; } if (!confirm) { return { content: [ { type: "text", text: "You must set 'confirm' to true to delete a repository. This action is irreversible." } ] }; } await context.repository.deleteRepository(owner, repo); return { content: [ { type: "text", text: `Successfully deleted repository: ${owner}/${repo}` } ] }; } catch (error: any) { return { content: [ { type: "text", text: `Error deleting repository: ${error.message}` } ] }; } } );
  • Helper method in RepositoryAPI class that performs the actual GitHub API DELETE request to remove the specified repository.
    * Delete repository */ async deleteRepository(owner: string, repo: string): Promise<void> { await this.client.delete(`repos/${owner}/${repo}`); }

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