MinecraftWiki_resolveRedirect
Find the actual page title when encountering redirects on the Minecraft Wiki by resolving them to their final destination.
Instructions
Resolve a redirect and return the title of the target page.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the page to resolve the redirect for. |
Implementation Reference
- src/services/wiki.service.ts:120-141 (handler)The main handler function for the MinecraftWiki_resolveRedirect tool. It queries the MediaWiki API with redirects=true to resolve the target page title and returns a JSON object with original and resolved titles.async resolveRedirect(title: string): Promise<string> { const response = await apiService.get<WikiResponse, Record<string, unknown>>("", { action: "query", titles: title, redirects: true, }); const pages = response.query?.pages; if (!pages) { throw new Error(`Failed to resolve redirect for "${title}"`); } const page = Object.values(pages)[0]; if (page.missing) { throw new Error(`Page "${title}" not found`); } return JSON.stringify({ originalTitle: formatMCPText(title), resolvedTitle: formatMCPText(page.title), }); }
- src/types/tools.ts:76-89 (schema)The Tool schema definition for MinecraftWiki_resolveRedirect, including name, description, and input schema requiring a 'title' string.export const RESOLVE_REDIRECT_MINECRAFTWIKI_TOOL: Tool = { name: "MinecraftWiki_resolveRedirect", description: "Resolve a redirect and return the title of the target page.", inputSchema: { type: "object", properties: { title: { type: "string", description: "Title of the page to resolve the redirect for.", }, }, required: ["title"], }, };
- src/server.ts:106-112 (registration)The registration of the tool handler in the MCP server's CallToolRequestSchema switch statement, which validates args with isResolveRedirectArgs and calls wikiService.resolveRedirect.case RESOLVE_REDIRECT_MINECRAFTWIKI_TOOL.name: { if (!isResolveRedirectArgs(args)) { throw new Error("Invalid arguments for resolveRedirect"); } const resolvedTitle = await wikiService.resolveRedirect(args.title); return { content: [{ type: "text", text: resolvedTitle }] }; }
- src/server.ts:56-56 (registration)The tool is included in the list returned by ListToolsRequestSchema handler.RESOLVE_REDIRECT_MINECRAFTWIKI_TOOL,
- src/types/guards.ts:45-52 (helper)Type guard function used to validate input arguments for the resolveRedirect tool.export function isResolveRedirectArgs(args: unknown): args is { title: string } { return ( typeof args === "object" && args !== null && "title" in args && typeof (args as { title: string }).title === "string" ); }