Wikipedia MCP Server
Provides tools for searching Wikipedia articles, retrieving full article content, getting summaries, extracting key facts, obtaining geographic coordinates, and accessing related topics and links.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Wikipedia MCP Serversummarize the article on Albert Einstein"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Wikipedia MCP Server
A Model Context Protocol (MCP) server providing access to Wikipedia through 10 tools: search, retrieve articles, summarize content, extract facts, get coordinates, and more.
Features
100% Test Coverage - 31 test cases, full schema validation
Multi-language Support - Access different Wikipedia editions
Robust Error Handling - Graceful API error handling
Related MCP server: Wikipedia MCP Server
Available Tools
Tool | Description |
| Search for articles matching a query |
| Get complete article content |
| Get article summary |
| Get query-focused summary |
| Summarize specific sections |
| Extract key facts from articles |
| Find related articles and categories |
| Get article structure and sections |
| Get all links within an article |
| Get geographic coordinates |
Installation
# Install with uvx
uvx --from git+https://github.com/yourusername/wikipedia-mcp-server wikipedia-mcp-server
# Or local development
git clone https://github.com/yourusername/wikipedia-mcp-server.git
cd wikipedia-mcp-server && uv syncUsage
Claude Desktop Configuration
{
"mcpServers": {
"wikipedia": {
"command": "uvx",
"args": ["--from", "git+https://github.com/yourusername/wikipedia-mcp-server", "wikipedia-mcp-server"]
}
}
}Testing
uv run python test_server.py # 31 tests, 100% pass rateExample Usage
Search:
{"tool": "search_wikipedia", "arguments": {"query": "AI"}}Get Article:
{"tool": "get_article", "arguments": {"title": "Python (programming language)"}}Extract Facts:
{"tool": "extract_key_facts", "arguments": {"title": "Marie Curie", "topic_within_article": "Nobel Prize"}}🎯 Parameter and Type Handling Rules
This server follows specific design patterns for handling parameters and data types to ensure consistency and predictability.
Input Parameter Design
Schema Pattern: All input parameters are marked as required in JSON schemas
{
"required": ["title", "query", "max_length"]
}Handler Pattern: Functions can have optional parameters with defaults
async def summarize_article_for_query(
title: str,
query: str,
max_length: int = 250 # Default provided in handler
) -> Dict[str, Any]:Benefits:
Clear Client Expectations: MCP clients must provide all documented parameters
Implementation Flexibility: Handlers can use sensible defaults when appropriate
Future Extensibility: Schema can be expanded without breaking existing implementations
Output Type Design
Nullable Fields: Use ["type", "null"] only when data genuinely might not exist
{
"coordinates": { "type": ["array", "null"] }, // May not exist for non-geographic articles
"pageid": { "type": ["number", "null"] }, // May be null if article doesn't exist
"error": { "type": ["string", "null"] } // Null on success, string on error
}Non-Nullable Collections: Always return empty arrays instead of null
{
"links": { "type": "array" }, // Returns [] if no links found
"facts": { "type": "array" }, // Returns [] if no facts extracted
"sections": { "type": "array" } // Returns [] if no sections found
}Non-Nullable Strings: Always return empty strings instead of null
{
"summary": { "type": "string" }, // Returns "" if no summary available
"text": { "type": "string" }, // Returns "" if no content available
"title": { "type": "string" } // Always present, never null
}Design Principles
Semantic Nullability: Only use null when it represents "this data doesn't exist" rather than "this data is empty"
Predictable Types: Arrays are always arrays, strings are always strings (unless explicitly nullable)
Client Safety: Clients can safely iterate arrays and concatenate strings without null checks
Clear Intent: Nullable fields have explicit semantic meaning (coordinates for non-places, errors on success, etc.)
Examples
Geographic Data (nullable when appropriate):
{
"title": "Programming", // Always string
"coordinates": null, // Null - programming isn't a place
"pageid": 12345, // Number when article exists
"error": null // Null on success
}Content Collections (empty when no data):
{
"title": "Stub Article", // Always string
"links": [], // Empty array - no links found
"facts": [], // Empty array - no facts extracted
"summary": "" // Empty string - no summary available
}This design ensures type safety, predictable behavior, and clear semantic meaning across all tools.
Development
Dependencies: mcp>=1.6.0, wikipedia-api>=0.6.0, requests>=2.31.0, jsonschema>=4.0.0
# Local development
git clone repo && cd wikipedia-mcp-server
uv sync && uv run python test_server.pyProduction-ready Wikipedia MCP server with 100% test coverage.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/OriShmila/wikipedia-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server