Wikipedia MCP Server
Provides comprehensive access to Wikipedia content including article search, full text retrieval, summaries, categories, links, images, language versions, and external references through 9 specialized tools.
README
wiki-mcp
MCP (Model Context Protocol) server for Wikipedia. Provides tools to search articles, retrieve content, summaries, categories, links, images, language versions, and external references.
Features
- 9 Wikipedia tools for comprehensive article access
- Proper TypeScript types for all API responses
- Request timeout handling
- Error handling with informative messages
- Modular architecture
Tools
| Tool | Description |
|---|---|
wiki_search |
Search Wikipedia for articles matching a query |
wiki_get_article |
Get the full text content of an article |
wiki_get_summary |
Get a short summary of an article |
wiki_random |
Get random Wikipedia articles |
wiki_get_categories |
Get categories an article belongs to |
wiki_get_links |
Get internal Wikipedia links from an article |
wiki_get_images |
Get images used in an article |
wiki_get_languages |
Get available language versions of an article |
wiki_get_references |
Get external references/links from an article |
Installation
Quick install (recommended)
bunx wiki-mcp install
This automatically adds wiki-mcp to Claude Desktop and Claude Code.
Manual install
# Or install globally
bun add -g wiki-mcp
npm install -g wiki-mcp
Via Smithery
npx @smithery/cli install wiki-mcp
From source
git clone https://github.com/msilverblatt/wiki-mcp.git
cd wiki-mcp
bun install
Usage
With Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"wikipedia": {
"command": "bunx",
"args": ["wiki-mcp"]
}
}
}
With Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"wikipedia": {
"command": "bunx",
"args": ["wiki-mcp"]
}
}
}
Standalone
bun run index.ts
The server communicates via stdio using the MCP protocol.
Tool Examples
wiki_search
Search for articles:
{
"query": "artificial intelligence",
"limit": 5
}
Returns:
[
{
"title": "Artificial intelligence",
"snippet": "Artificial intelligence (AI) is the intelligence of machines...",
"pageid": 1234
}
]
wiki_get_article
Get full article content:
{
"title": "JavaScript"
}
Returns plain text article content.
wiki_get_summary
Get article summary:
{
"title": "TypeScript"
}
Returns:
{
"title": "TypeScript",
"description": "Programming language",
"extract": "TypeScript is a strongly typed programming language...",
"url": "https://en.wikipedia.org/wiki/TypeScript"
}
wiki_get_categories
Get article categories:
{
"title": "Python (programming language)",
"limit": 10
}
Returns:
{
"title": "Python (programming language)",
"categories": ["Programming languages", "Scripting languages", "..."]
}
wiki_get_links
Get internal links:
{
"title": "Machine learning",
"limit": 50
}
Returns:
{
"title": "Machine learning",
"links": ["Artificial intelligence", "Data science", "..."]
}
wiki_get_images
Get article images:
{
"title": "Solar System",
"limit": 20
}
Returns:
{
"title": "Solar System",
"images": [
{
"title": "Solar System.jpg",
"url": "https://en.wikipedia.org/wiki/File:Solar_System.jpg"
}
]
}
wiki_get_languages
Get available translations:
{
"title": "Albert Einstein"
}
Returns:
{
"title": "Albert Einstein",
"languageCount": 200,
"languages": [
{
"language": "Deutsch",
"code": "de",
"title": "Albert Einstein",
"url": "https://de.wikipedia.org/wiki/Albert_Einstein"
}
]
}
wiki_get_references
Get external references:
{
"title": "Climate change",
"limit": 30
}
Returns:
{
"title": "Climate change",
"references": ["https://www.ipcc.ch/", "..."]
}
wiki_random
Get random articles:
{
"count": 3
}
Returns:
[
{ "title": "Random Article 1", "id": 12345 },
{ "title": "Random Article 2", "id": 67890 }
]
Development
# Run tests
bun test
# Type check
bun run typecheck
# Start server
bun run start
Project Structure
wiki-mcp/
├── index.ts # Entry point
├── src/
│ ├── api.ts # Wikipedia API client
│ ├── server.ts # MCP server setup
│ ├── types.ts # TypeScript interfaces
│ └── tools/
│ ├── index.ts # Tool registration
│ ├── search.ts # wiki_search
│ ├── article.ts # wiki_get_article
│ ├── summary.ts # wiki_get_summary
│ ├── random.ts # wiki_random
│ ├── categories.ts # wiki_get_categories
│ ├── links.ts # wiki_get_links
│ ├── images.ts # wiki_get_images
│ ├── languages.ts # wiki_get_languages
│ └── references.ts # wiki_get_references
└── tests/
├── api.test.ts # API helper tests
└── tools.test.ts # Tool integration tests
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.