维基媒体MCP服务器

维基媒体MCP服务器是一个用于与维基媒体API交互的模型上下文协议(MCP)服务器。它允许用户通过自然语言查询以编程方式访问维基百科和其他维基媒体项目的内容。该服务器提供了丰富的功能,包括全文搜索、标题搜索、页面内容检索、多语言版本查找、特色内容获取和历史事件查询等。

  • by privetin
  • 更新于
在 GitHub 查看 privetin/wikimedia

使用说明

基本能力

产品定位

维基媒体MCP服务器是一个中间件服务,旨在简化与维基媒体API的交互,提供更便捷的内容访问方式。

核心功能

  • 内容搜索:在维基媒体页面内容中进行全文搜索
  • 标题搜索:搜索页面标题并提供自动完成建议
  • 获取页面:检索页面内容、标题、URL和元数据
  • 语言版本:查找页面在其他语言中的版本
  • 特色内容:获取特色文章、最常阅读的页面和每日图片
  • 历史事件:获取任何日期的事件、出生、死亡和节日信息

适用场景

  • 需要集成维基媒体内容的应用程序开发
  • 学术研究和数据分析
  • 内容聚合和信息展示
  • 自然语言处理和教育应用

工具列表

  • search_content:在维基媒体页面内容中进行全文搜索
  • search_titles:搜索维基媒体页面标题并提供自动完成建议
  • get_page:获取维基媒体页面的内容、标题、URL和最后修改日期
  • get_languages:获取维基媒体页面在其他语言中的版本
  • get_featured:获取特定日期的特色维基媒体内容
  • get_on_this_day:获取特定日期的历史事件

使用教程

使用依赖

  • Python 3.12+
  • uv包管理器
  • MCP服务器框架

安装教程

Claude桌面配置

在MacOS上:

~/Library/Application Support/Claude/claude_desktop_config.json

在Windows上:

C:Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

开发配置

{
  "mcpServers": {
    "wikimedia": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\MCP\\server\\community\\wikimedia",
        "run",
        "wikimedia"
      ]
    }
  }
}

发布配置

{
  "mcpServers": {
    "wikimedia": {
      "command": "uvx",
      "args": [
        "wikimedia"
      ]
    }
  }
}

调试方式

# 搜索关于"人工智能"的内容
result = await client.call_tool("search_content", {
    "query": "人工智能",
    "limit": 5,
    "language": "zh"
})

# 获取今天的特色内容
result = await client.call_tool("get_featured", {
    "language": "zh"
})

# 获取1月1日的历史事件
result = await client.call_tool("get_on_this_day", {
    "date": "01/01",
    "type": "all",
    "language": "zh"
})