Provides real-time access to Wikipedia content with tools for searching articles, retrieving full article content, getting article summaries, and discovering related articles for comprehensive research workflows.
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 Serversearch for articles about quantum computing"
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 that provides Claude with real-time access to Wikipedia. This server implements 4 essential tools for effective Wikipedia research while demonstrating core MCP concepts.
Features
Core Tools
search_wikipedia- Find articles when you don't know exact titlesget_article- Retrieve full article content for detailed analysisget_summary- Get concise summaries for quick understandingfind_related- Discover related articles to expand research
Key Benefits
🔄 Real-time data - Access current Wikipedia content, not training data
🏗️ Structured output - Well-defined schemas for reliable data access
🏠 Local control - Self-hosted, no API keys required
⚡ Fast & efficient - Async operations with proper error handling
Related MCP server: Semantic Scholar MCP Server
Installation
Prerequisites
Python 3.9 or higher
uv (recommended) or pip
Install Dependencies
Using pip:
# Navigate to the project directory
cd wikipedia-mcp-server
# Install dependencies
pip install mcp httpx pydantic beautifulsoup4Using uv (if available):
# Clone or create the project directory
cd wikipedia-mcp-server
# Install dependencies
uv syncUsage
Running the Server
With python directly:
python -m src.wikipedia_mcp_serverWith uv (if available):
uv run python -m src.wikipedia_mcp_serverTesting the Tools
You can test individual tools by running the server and connecting with an MCP client:
# Example: Search for articles
search_wikipedia("quantum computing", limit=3)
# Example: Get article summary
get_summary("Albert Einstein")
# Example: Get full article
get_article("Machine Learning")
# Example: Find related articles
find_related("Artificial Intelligence", limit=5)Claude Desktop Integration
To use this MCP server with Claude Desktop, add it to your MCP configuration:
macOS/Linux Configuration
Edit ~/.config/claude-desktop/mcp.json:
{
"mcpServers": {
"wikipedia": {
"command": "python",
"args": [
"-m",
"src.wikipedia_mcp_server"
],
"cwd": "/ABSOLUTE/PATH/TO/wikipedia-mcp-server"
}
}
}Windows Configuration
Edit %APPDATA%\Claude\mcp.json:
{
"mcpServers": {
"wikipedia": {
"command": "python",
"args": [
"-m",
"src.wikipedia_mcp_server"
],
"cwd": "C:\\ABSOLUTE\\PATH\\TO\\wikipedia-mcp-server"
}
}
}Alternative: Using uv
If you have uv installed:
{
"mcpServers": {
"wikipedia": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"src.wikipedia_mcp_server"
],
"cwd": "/ABSOLUTE/PATH/TO/wikipedia-mcp-server"
}
}
}Research Workflows
Typical Research Flow
Discover:
search_wikipedia("quantum computing")→ Find relevant articlesOverview:
get_summary("Quantum computing")→ Quick understandingDeep dive:
get_article("Quantum computing")→ Full content when neededExpand:
find_related("Quantum computing")→ Related topics
Example Claude Conversation
User: I want to learn about Marie Curie's discoveries
Claude: I'll help you research Marie Curie's discoveries. Let me start by getting a summary of her Wikipedia article.
[Uses get_summary("Marie Curie")]
Based on the summary, Marie Curie was a pioneering scientist who discovered radium and polonium. Let me find related articles about her specific discoveries.
[Uses find_related("Marie Curie")]
Now let me get detailed information about her discovery of radium.
[Uses get_article("Radium")]Tool Specifications
search_wikipedia
Purpose: Find articles when you don't know exact titles
Input: query (required), limit (1-10), language (default: "en")
Output: List of search results with titles, snippets, and URLs
get_article
Purpose: Retrieve full article content
Input: title (required), language (default: "en")
Output: Complete article with content, metadata, and sections
get_summary
Purpose: Get concise article summaries
Input: title (required), language (default: "en")
Output: Summary text with key facts
find_related
Purpose: Discover related articles
Input: title (required), limit (1-10), language (default: "en")
Output: Related articles with relationship types
Error Handling
The server includes comprehensive error handling for:
Invalid article titles
Network timeouts
Wikipedia API errors
Malformed requests
Rate limiting
Development
Project Structure
wikipedia-mcp-server/
├── src/wikipedia_mcp_server/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # Main MCP server
│ ├── models.py # Pydantic data models
│ └── wikipedia_client.py # Wikipedia API client
├── pyproject.toml
├── README.md
└── mvp.mdKey MCP Concepts Demonstrated
✅ Tool registration with
@mcp.tool()✅ Structured input/output with Pydantic models
✅ Async operations for performance
✅ Proper error handling and validation
✅ Clear tool documentation
Adding New Tools
To add a new tool:
Define the output model in
models.pyAdd the Wikipedia API method in
wikipedia_client.pyRegister the tool in
server.pywith@mcp.tool()
Performance Considerations
Async operations: All Wikipedia API calls are non-blocking
Response times: Typically < 3 seconds per operation
Rate limiting: Respects Wikipedia's guidelines
Error resilience: Graceful handling of API failures
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is open source and available under the MIT License.
Acknowledgments
Built using the Model Context Protocol
Wikipedia data via the Wikipedia REST API
Uses the FastMCP framework
Happy researching with Claude and Wikipedia! 🔍📚
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.