Wikipedia MCP Server
by scotthelm
README.md
# Wikipedia MCP Server
An MCP (Model Context Protocol) server for Wikipedia API interactions.
## Overview
This server provides tools for interacting with the Wikipedia API through the Model Context Protocol. It allows AI assistants to access Wikipedia content, search for articles, get historical events, and retrieve images.
## Features
The server provides the following tools:
- **onThisDay**: Get historical events that occurred on a specific date
- **findPage**: Search for Wikipedia pages matching a query
- **getPage**: Get content of a Wikipedia page by title
- **getImagesForPage**: Get images from a Wikipedia page by title
## Installation
```bash
npm install @shelm/wikipedia-mcp-server
```
For development:
```bash
git clone https://github.com/scotthelm/wikipedia-mcp-server.git
cd wikipedia-mcp-server
npm install
npm run build
```
## Usage
### Running the Server
```bash
npx @shelm/wikipedia-mcp-server
```
This will start the MCP server, which communicates over stdio.
### Using Programmatically
You can also use the package programmatically in your own projects:
```javascript
import {
WikipediaServer,
isValidOnThisDayArgs,
isValidFindPageArgs,
isValidGetPageArgs,
isValidGetImagesForPageArgs,
} from "@shelm/wikipedia-mcp-server";
// Create a new server instance
const server = new WikipediaServer();
// Run the server
server.run().catch(console.error);
// Or use the validation functions and handlers directly
if (isValidOnThisDayArgs({ date: "2023-01-01" })) {
const result = await server.handleOnThisDay({ date: "2023-01-01" });
console.log(result);
}
```
### Example Client
An example client is provided to demonstrate how to interact with the server:
```bash
node example-client.js
```
This will:
1. Start the server
2. Query for available tools
3. Demonstrate each tool with sample queries
4. Display the results in a simple web interface at http://localhost:3000
## Development
### Building
```bash
npm run build
```
### Running in Development Mode
```bash
npm run dev
```
### Testing
This project can be tested manually using the example client:
```bash
node example-client.js
```
This will demonstrate all the available tools with sample queries.
## MCP Server Configuration
To use this server with Claude or other MCP-compatible assistants, add it to your MCP configuration:
```json
{
"mcpServers": {
"wikipedia": {
"command": "npx",
"args": ["@shelm/wikipedia-mcp-server"],
"env": {}
}
}
}
```
## Attribution
This would not be possible without the great work done by the folks who created the [wikipedia package](https://github.com/dopecodez/wikipedia)
## License
MIT
TDQS
A3.6/5.0
Scored across 4 tools
Disambiguation5/5
Each tool targets a distinct task: historical events, page search, page content retrieval, and image retrieval. No overlap in functionality.
Naming Consistency5/5
All tool names follow a consistent verb+noun pattern (onThisDay, findPage, getPage, getImagesForPage) using camelCase.
Tool Count4/5
4 tools is slightly on the low side but reasonable for a focused Wikipedia server covering core read operations.
Completeness3/5
The server covers basic search and retrieval, but lacks tools for getting page summaries, categories, or links, which are common Wikipedia operations.
Maintenance
ActivityInactive
ResponsivenessNo issues