delete-page
Remove wiki pages from MediaWiki by specifying the page title and providing a deletion reason to maintain content quality.
Instructions
Deletes a wiki page.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Wiki page title | |
| comment | No | Reason for deleting the page |
Implementation Reference
- src/tools/delete-page.ts:29-52 (handler)Core handler function that executes the page deletion using mwn.delete, handles errors, and returns formatted result or error.async function handleDeletePageTool( title: string, comment?: string ): Promise<CallToolResult> { let data: ApiDeleteResponse; try { const mwn = await getMwn(); data = await mwn.delete( title, formatEditComment( 'delete-page', comment ) ); } catch ( error ) { return { content: [ { type: 'text', text: `Delete failed: ${ ( error as Error ).message }` } as TextContent ], isError: true }; } return { content: deletePageToolResult( data ) }; }
- src/tools/delete-page.ts:10-27 (registration)Registers the 'delete-page' tool with the MCP server, defining input schema (title, optional comment), annotations, description, and links to the handler function.export function deletePageTool( server: McpServer ): RegisteredTool { return server.tool( 'delete-page', 'Deletes a wiki page.', { title: z.string().describe( 'Wiki page title' ), comment: z.string().optional().describe( 'Reason for deleting the page' ) }, { title: 'Delete page', readOnlyHint: false, destructiveHint: true } as ToolAnnotations, async ( { title, comment } ) => handleDeletePageTool( title, comment ) ); }
- src/tools/delete-page.ts:54-61 (helper)Helper function to format the successful API delete response into TextContent array.function deletePageToolResult( data: ApiDeleteResponse ): TextContent[] { return [ { type: 'text', text: `Page deleted successfully: ${ data.title }` } ]; }
- src/tools/index.ts:22-51 (registration)Central registration function that invokes deletePageTool (among others) to register all tools with the server.const toolRegistrars = [ getPageTool, getPageHistoryTool, searchPageTool, setWikiTool, addWikiTool, removeWikiTool, updatePageTool, getFileTool, createPageTool, uploadFileTool, uploadFileFromUrlTool, deletePageTool, getRevisionTool, undeletePageTool, getCategoryMembersTool, searchPageByPrefixTool ]; export function registerAllTools( server: McpServer ): RegisteredTool[] { const registeredTools: RegisteredTool[] = []; for ( const registrar of toolRegistrars ) { try { registeredTools.push( registrar( server ) ); } catch ( error ) { console.error( `Error registering tool: ${ ( error as Error ).message }` ); } } return registeredTools; }
- src/server.ts:15-30 (registration)Top-level server creation where registerAllTools is called, indirectly registering the delete-page tool.const server = new McpServer( { name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { resources: { listChanged: true } } } ); registerAllTools( server ); registerAllResources( server );