Skip to main content
Glama
wiki_meta_siteinfo.py2.66 kB
"""Wiki meta siteinfo tool for MediaWiki API MCP integration.""" import logging from collections.abc import Callable from mcp.server.fastmcp import FastMCP from ..client import MediaWikiClient from ..config import MediaWikiConfig logger = logging.getLogger(__name__) def register_wiki_meta_siteinfo_tool(mcp: FastMCP, get_config: Callable[[], MediaWikiConfig]) -> None: """Register the wiki_meta_siteinfo tool with the MCP server.""" @mcp.tool() async def wiki_meta_siteinfo( siprop: list[str] | None = None, sifilteriw: str = "", sishowalldb: bool = False, sinumberingroup: bool = False, siinlanguagecode: str = "", ) -> str: """Get overall site information from MediaWiki. Args: siprop: Which information to get (options: general, namespaces, namespacealiases, specialpagealiases, magicwords, interwikimap, dbrepllag, statistics, usergroups, autocreatetempuser, clientlibraries, libraries, extensions, fileextensions, rightsinfo, restrictions, languages, languagevariants, skins, extensiontags, functionhooks, showhooks, variables, protocols, defaultoptions, uploaddialog, autopromote, autopromoteonce, copyuploaddomains). Default: ["general"] sifilteriw: Return only local or only nonlocal entries of interwiki map ("local" or "!local") sishowalldb: List all database servers, not just the one lagging the most sinumberingroup: Lists the number of users in user groups siinlanguagecode: Language code for localised language names and skin names """ try: config = get_config() async with MediaWikiClient(config) as client: # Import here to avoid circular imports from ..handlers import handle_meta_siteinfo # Convert FastMCP parameters to handler arguments arguments = { "siprop": siprop, "sifilteriw": sifilteriw if sifilteriw else None, "sishowalldb": sishowalldb, "sinumberingroup": sinumberingroup, "siinlanguagecode": siinlanguagecode if siinlanguagecode else None, } result = await handle_meta_siteinfo(client, arguments) # Return the formatted text from the handler return result[0].text if result else "No results" except Exception as e: logger.error(f"Wiki meta siteinfo failed: {e}") return f"Error: {str(e)}"

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/entanglr/mediawiki-api-mcp'

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