Wikimedia MCP 服务器使用说明

项目简介

wikimedia MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在通过标准化的方式向 LLM 客户端提供维基媒体(如维基百科)的上下文信息和功能。用户可以通过自然语言查询,利用该服务器提供的工具,便捷地访问和检索维基媒体的内容。

主要功能点

  • 内容搜索 (search_content): 在维基媒体页面内容中执行全文搜索,返回匹配查询的摘要片段。
  • 标题搜索 (search_titles): 搜索以指定前缀开头的维基媒体页面标题,并返回带有描述的建议列表。
  • 页面获取 (get_page): 获取维基媒体页面的完整内容、标题、URL以及最后修改日期。
  • 语言版本查询 (get_languages): 查找维基媒体页面在其他语言版本中的链接。
  • 特色内容 (get_featured): 获取指定日期的维基媒体特色内容,包括特色文章、最受欢迎文章和每日图片。
  • 历史上的今天 (get_on_this_day): 获取指定日期的维基媒体历史事件,包括事件、出生、死亡和节日。

安装步骤

  1. 环境准备: 确保已安装 Python 3.12+ 和 uv 包管理器。
  2. 下载仓库: 从 GitHub 克隆或下载此仓库的代码。
  3. 安装依赖: 根据仓库 'README.md' 的指示,可能需要安装 MCP 服务器框架或其他依赖,但本仓库代码已包含 'mcp' 库,可以直接运行。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 wikimedia MCP 服务器。请注意,以下配置信息不是代码,而是 MCP 客户端的配置文件内容。

开发配置 (Development Configuration):

{
  "mcpServers": {
    "wikimedia": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\MCP\\server\\community\\wikimedia",  // 请替换为 wikimedia 服务器代码所在的实际目录
        "run",
        "wikimedia" // 启动 wikimedia 服务器的命令,对应 __init__.py 或 server.py 文件名
      ]
    }
  }
}

配置参数说明:

  • 'server name': "wikimedia" (服务器名称,客户端用以识别)
  • 'command': "uv" (启动服务器的命令,这里假设使用 uv 包管理器运行)
  • 'args': 启动命令的参数列表:
    • '--directory': 指定服务器代码所在的目录。请务必将 'C:\MCP\server\community\wikimedia' 替换为实际的仓库代码路径。
    • 'run': uv 包管理器的运行命令。
    • 'wikimedia': 指定要运行的模块或脚本名称,对应 'wikimedia' 包。

发布配置 (Published Configuration):

{
  "mcpServers": {
    "wikimedia": {
      "command": "uvx",
      "args": [
        "wikimedia" // 启动 wikimedia 服务器的命令,对应 __init__.py 或 server.py 文件名
      ]
    }
  }
}

配置参数说明:

  • 'server name': "wikimedia"
  • 'command': "uvx" (针对发布环境优化的 uv 运行命令)
  • 'args': 启动命令的参数列表:
    • 'wikimedia': 指定要运行的模块或脚本名称,与开发配置相同。

选择配置: 根据你的使用场景(开发或发布),选择相应的 JSON 配置添加到 MCP 客户端的配置文件中 (例如 Claude Desktop 的 'claude_desktop_config.json')。请务必根据实际代码路径修改 'directory' 参数。

基本使用方法

  1. 启动服务器: 根据选择的配置,使用 MCP 客户端启动 wikimedia MCP 服务器。

  2. 调用工具: 在 MCP 客户端中,可以使用 'call_tool' 方法调用 wikimedia 服务器提供的工具,例如:

    # 搜索关于 "人工智能" 的内容
    result = await client.call_tool("search_content", {
        "query": "人工智能",
        "limit": 5,
        "language": "zh"
    })
    print(result)
    
    # 获取今日的特色文章
    result = await client.call_tool("get_featured", {
        "language": "zh"
    })
    print(result)

    请参考仓库 'README.md' 中的 "Example Usage" 部分和 'src/wikimedia/server.py' 文件中 'handle_list_tools' 函数返回的工具定义,了解每个工具的具体参数和使用方法。

通过以上步骤,你就可以在 MCP 客户端中使用 wikimedia MCP 服务器提供的维基媒体信息访问能力了。

信息

分类

网页与API