Skip to main content
Glama
ProfessionalWiki

mediawiki-mcp-server

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
NameRequiredDescriptionDefault
titleYesWiki page title
commentNoReason for deleting the page

Implementation Reference

  • 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 )
    	};
    }
  • 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 )
    	);
    }
  • 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 }`
    		}
    	];
    }
  • 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 );

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/ProfessionalWiki/MediaWiki-MCP-Server'

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