Skip to main content
Glama
shiquda

mediawiki-mcp-server

by shiquda

Outdated. Please use https://github.com/ProfessionalWiki/MediaWiki-MCP-Server instead!

MediaWiki MCP Server 🚀

A MCP server that provides seamless interaction with Wikipedia's API. This tool allows you to search and retrieve Wikipedia content with LLMs 🤖!

https://github.com/user-attachments/assets/b5d9c5f3-a60e-48ea-8b4b-f1a7524d4fbb

Features ✨

  • 🔍 Search wiki pages with customizable wiki site. e.g. wikipedia.org, fandom.com, wiki.gg and more!

  • 📖 Retrieve detailed page content

Related MCP server: mediawiki-mcp-server

Usage 💻

  1. Ensure that uv is installed on your device.

  2. Configure in your client:

The server defaults to using https://en.wikipedia.org/. Also, you can make the server search other wiki sites!

To see if a wiki site works with this server, check if it uses MediaWiki software (usually shown by an icon at the bottom of the site).

To check further and find the endpoint (usually the website's domain, like https://mediawiki.org/), check by going to base-url/rest.php/v1/page in a browser (like https://noita.wiki.gg/rest.php/v1/page) and see if the output looks right. If not, add '/w' to the base URL and try again.

Then, set this endpoint as --base-url:

Available transports: stdio (default), streamable-http (http://localhost/mcp), and SSE (http://localhost/sse). See -h for all options.

uvx mediawiki-mcp-server --h
usage: main.py [-h] [--base-url BASE_URL] [--http] [--sse] [--port PORT]

MediaWiki MCP Server

options:
  -h, --help           show this help message and exit
  --base-url BASE_URL  Base URL for the MediaWiki API (default: https://en.wikipedia.org/w/``)
  --http               Run server as streamable-http (instead of stdio)
  --sse                Run server as sse-http (instead of stdio)
  --port PORT          Default port for http transport (default: 8000)

Example JSON configurations:

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      "command": "uvx",
      "args": [
        "mediawiki-mcp-server",
        "--base-url", "https://example.com/"
      ],
      "env": {
        "HTTP_PROXY": "http://example.com:port"
      }
    }
  }
}

Or, if you want to run this server from source:

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      "command": "uv",
      "args": [
        "run",
        "--directory", 
        "mediawiki-mcp-server",
        "path/to/project/src/mediawiki_mcp_server",
        "--base-url", "https://example.com/"
      ],
      "env": {
        "HTTP_PROXY": "http://example.com:port"
      }
    }
  }
}

Supported Tools 🛠

  • query: Search term (preferably short and focused)

  • limit: Maximum number of results to return (default: 5)

Get Page

  • title: The exact title of the Wikipedia page to retrieve

Development 👨‍💻

npx @modelcontextprotocol/inspector uv run mediawiki-mcp-server

Here are some documents that might help:

Contributing 🤝

This server is under development. Contributions are welcome! Feel free to submit issues and pull requests.

  • Cherry Studio: A desktop client that supports for multiple LLM providers. MCP is supported.

Available Tools

2 tools
get_pageB

Get a page from mediawiki.org Args: title: The title of the page to get, which can be found in title field of the search results Returns: The page content

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does (retrieves page content) but lacks critical behavioral details such as authentication requirements, rate limits, error handling, or whether it's a read-only operation (though implied by 'Get'). This leaves significant gaps for an agent to understand operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by labeled sections for Args and Returns. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and no output schema, the description covers the basics (purpose, parameter hint, return type). However, without annotations or output schema, it lacks details on response format (e.g., structured data vs. raw text), error cases, or prerequisites, leaving some contextual gaps for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the single parameter 'title' by explaining that it 'can be found in title field of the search results,' which clarifies its source and usage. Since schema description coverage is 0% and there's only one parameter, this compensates well, though it doesn't detail format constraints like case sensitivity or special characters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get a page') and resource ('from mediawiki.org'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling 'search' tool, which appears to be a related but distinct operation for finding pages rather than retrieving specific content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like the 'search' sibling. It mentions that titles 'can be found in title field of the search results,' which hints at a workflow but doesn't explicitly state when to choose get_page over search or other potential tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: get_page retrieves specific page content by title, while search finds pages matching a query. There is no overlap in functionality, making it easy for an agent to select the correct tool based on the task.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (get_page and search, where search implies 'search_pages'). The naming is simple, predictable, and uses snake_case uniformly, providing clear readability.

Tool Count2/5

With only 2 tools, the server feels thin for a MediaWiki domain, lacking essential operations like creating, updating, or deleting pages. While get_page and search cover basic retrieval, the scope is incomplete, making it borderline too few for practical use.

Completeness2/5

The tool surface is severely incomplete for a MediaWiki server, missing core CRUD operations (e.g., create_page, update_page, delete_page) and other common actions like listing categories or handling user interactions. This will likely cause agent failures in broader workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for Wiki.js projects that enables full-text search, page retrieval, and page management capabilities. It allows LLMs to interact with wiki content through specialized tools for searching, listing, and creating pages.
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for persistent, compounding markdown wikis maintained by LLMs. Enables incremental knowledge base building with interlinked pages, search, and raw source management.
    33
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides tools to add to, search, and manage a wiki knowledge base, enabling AI chat tools to contribute and retrieve information from the wiki via natural language prompts.
    MIT

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/shiquda/mediawiki-mcp-server'

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