Skip to main content
Glama

search-page-by-prefix

Find MediaWiki pages by title prefix to locate specific content or explore related articles efficiently.

Instructions

Performs a prefix search for page titles.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
prefixYesSearch prefix
limitNoMaximum number of results to return
namespaceNoNamespace to search

Implementation Reference

  • Main handler function `handleSearchPageByPrefixTool` that performs the prefix search using `mwn.getPagesByPrefix`, handles errors, empty results, and formats output using helper.
    async function handleSearchPageByPrefixTool( prefix: string, limit?: number, namespace?: number ): Promise< CallToolResult > { let data: string[]; try { const mwn = await getMwn(); const options: ApiQueryAllPagesParams = {}; if ( limit ) { options.aplimit = limit; } if ( namespace ) { options.apnamespace = namespace; } data = await mwn.getPagesByPrefix( prefix, options ); } catch ( error ) { return { content: [ { type: 'text', text: `Failed to retrieve search data: ${ ( error as Error ).message }` } as TextContent ], isError: true }; } if ( data.length === 0 ) { return { content: [ { type: 'text', text: `No pages found with the prefix "${ prefix }"` } as TextContent ] }; } return { content: data.map( getSearchPageByPrefixToolResult ) }; }
  • Zod input schema for tool parameters: `prefix` (string), `limit` (optional number 1-500), `namespace` (optional nonnegative integer).
    prefix: z.string().describe( 'Search prefix' ), limit: z.number().int().min( 1 ).max( 500 ).optional().describe( 'Maximum number of results to return' ), namespace: z.number().int().nonnegative().optional().describe( 'Namespace to search' )
  • Tool registrar function `searchPageByPrefixTool` calling `server.tool('search-page-by-prefix', ...)` with description, schema, annotations, and handler reference.
    export function searchPageByPrefixTool( server: McpServer ): RegisteredTool { return server.tool( 'search-page-by-prefix', 'Performs a prefix search for page titles.', { prefix: z.string().describe( 'Search prefix' ), limit: z.number().int().min( 1 ).max( 500 ).optional().describe( 'Maximum number of results to return' ), namespace: z.number().int().nonnegative().optional().describe( 'Namespace to search' ) }, { title: 'Search page by prefix', readOnlyHint: true, destructiveHint: false } as ToolAnnotations, async ( { prefix, limit, namespace } ) => handleSearchPageByPrefixTool( prefix, limit, namespace ) ); }
  • Helper `getSearchPageByPrefixToolResult` to format page title as `TextContent`.
    function getSearchPageByPrefixToolResult( title: string ): TextContent { return { type: 'text', text: title }; }
  • Import of registrar and addition to `toolRegistrars` array for bulk registration via `registerAllTools`.
    import { searchPageByPrefixTool } from './search-page-by-prefix.js'; const toolRegistrars = [ getPageTool, getPageHistoryTool, searchPageTool, setWikiTool, addWikiTool, removeWikiTool, updatePageTool, getFileTool, createPageTool, uploadFileTool, uploadFileFromUrlTool, deletePageTool, getRevisionTool, undeletePageTool, getCategoryMembersTool, searchPageByPrefixTool ];

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