返回市场
维基百科-MCP

维基百科-MCP

作者:Rudra-ravi141 星标更新:2025-11-06

项目介绍

维基百科 MCP 服务器

smithery 徽章

这是一个通过 Model Context Protocol (MCP) 接口从维基百科检索信息以提供给大型语言模型 (LLMs) 的上下文的服务器。此工具帮助AI助手从维基百科获取事实信息,使其响应基于可靠来源。

<a href="https://glama.ai/mcp/servers/@Rudra-ravi/wikipedia-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=1053048794,1190178413&fm=3081&app=3081&f=PNG?w=760&h=400" alt="维基百科 MCP 服务器" /> </a>

image

概览

维基百科 MCP 服务器通过标准化的 Model Context Protocol 接口提供实时访问维基百科信息的功能。这允许 LLMs 直接从维基百科检索准确且最新的信息,从而增强其响应。

验证

MseeP.ai 安全评估徽章

特性

  • 搜索维基百科:查找与特定查询匹配的文章,并带有增强的诊断信息。
  • 检索文章内容:获取全文内容及其所有信息。
  • 文章摘要:获取文章的简洁摘要。
  • 部分提取:从文章中检索特定部分。
  • 链接发现:查找文章中的相关主题链接。
  • 相关主题:发现与特定文章相关的主题。
  • 多语言支持:通过指定 --language-l 参数在运行服务器时访问不同语言的维基百科(例如,wikipedia-mcp --language ta 用于泰米尔语)。
  • 国家/地区支持:使用直观的国家代码如 --country US--country China--country TW 而不是语言代码。自动映射到适当的维基百科语言变体。
  • 语言变体支持:支持如中文繁体/简体(例如,zh-hans 用于简体中文,zh-tw 用于繁体中文)、塞尔维亚语脚本(sr-latnsr-cyrl)和其他区域变体。
  • 可选缓存:使用 --enable-cache 缓存 API 响应以提高性能。
  • Google ADK 兼容性:完全兼容使用严格函数调用模式的 Google ADK 代理和其他 AI 框架。

安装

使用 pipx(推荐用于 Claude Desktop)

安装 Claude Desktop 使用的最佳方式是使用 pipx,它会全局安装命令:

# 如果没有安装 pipx,请先安装
pip install pipx
pipx ensurepath

# 安装维基百科 MCP 服务器
pipx install wikipedia-mcp

这确保了 wikipedia-mcp 命令在 Claude Desktop 的 PATH 中可用。

通过 Smithery 安装

要通过 Smithery 自动安装 wikipedia-mcp 供 Claude Desktop 使用:

npx -y @smithery/cli install @Rudra-ravi/wikipedia-mcp --client claude

从 PyPI 安装(替代方法)

您也可以直接从 PyPI 安装:

pip install wikipedia-mcp

注意:如果您使用这种方法并且遇到与 Claude Desktop 的连接问题,您可能需要在配置中使用命令的完整路径。详情见 配置 部分。

使用虚拟环境

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate

# 安装包
pip install git+https://github.com/rudra-ravi/wikipedia-mcp.git

从源码安装

# 克隆仓库
git clone https://github.com/rudra-ravi/wikipedia-mcp.git
cd wikipedia-mcp

# 创建虚拟环境
python3 -m venv wikipedia-mcp-env
source wikipedia-mcp-env/bin/activate

# 开发模式安装
pip install -e .

使用

运行服务器

# 如果使用 pipx 安装
wikipedia-mcp

# 如果在虚拟环境中安装
source venv/bin/activate
wikipedia-mcp

# 指定传输协议(默认:stdio)
wikipedia-mcp --transport stdio  # 适用于 Claude Desktop
wikipedia-mcp --transport sse    # 适用于 HTTP 流式传输

# 指定语言(默认:en 英语)
wikipedia-mcp --language ja  # 示例:日语
wikipedia-mcp --language zh-hans  # 示例:简体中文
wikipedia-mcp --language zh-tw    # 示例:繁体中文(台湾)
wikipedia-mcp --language sr-latn  # 示例:塞尔维亚拉丁字母

# 指定国家/地区(替代语言代码)
wikipedia-mcp --country US        # 英语(美国)
wikipedia-mcp --country China     # 简体中文
wikipedia-mcp --country Taiwan    # 繁体中文(台湾)
wikipedia-mcp --country Japan     # 日语
wikipedia-mcp --country Germany   # 德语
wikipedia-mcp --country france    # 法语(大小写不敏感)

# 列出所有支持的国家
wikipedia-mcp --list-countries

# 可选:指定 SSE 主机/端口(使用 0.0.0.0 用于容器)
wikipedia-mcp --transport sse --host 0.0.0.0 --port 8080

# 可选:启用缓存
wikipedia-mcp --enable-cache

# 可选:使用个人访问令牌避免速率限制(403 错误)
wikipedia-mcp --access-token your_wikipedia_token_here

# 或者通过环境变量设置
export WIKIPEDIA_ACCESS_TOKEN=your_wikipedia_token_here
wikipedia-mcp

# SSE 安全提示:传输未定义内置端点身份验证。
# 若要限制访问,请在认证反向代理(如 Nginx/Traefik)后面运行服务器,
# 或仅在私有网络/VPN 上公开,并使用防火墙规则。

# 结合选项
wikipedia-mcp --country Taiwan --enable-cache --access-token your_token --transport sse --port 8080

### Docker/Kubernetes

当在容器内运行时,绑定 SSE 服务器到所有接口并映射容器端口到主机或服务:

```bash
# 使用 Docker 构建并运行
docker build -t wikipedia-mcp .
docker run --rm -p 8080:8080 wikipedia-mcp --transport sse --host 0.0.0.0 --port 8080

Kubernetes 示例(最小化):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wikipedia-mcp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wikipedia-mcp
  template:
    metadata:
      labels:
        app: wikipedia-mcp
    spec:
      containers:
        - name: server
          image: your-repo/wikipedia-mcp:latest
          args: ["--transport", "sse", "--host", "0.0.0.0", "--port", "8080"]
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: wikipedia-mcp
spec:
  selector:
    app: wikipedia-mcp
  ports:
    - name: http
      port: 8080
      targetPort: 8080

### 配置用于 Claude Desktop

在您的 Claude Desktop 配置文件中添加以下内容:

**选项 1:使用命令名称(需要 `wikipedia-mcp` 在 PATH 中)**
```json
{
  "mcpServers": {
    "wikipedia": {
      "command": "wikipedia-mcp"
    }
  }
}

选项 2:使用完整路径(如果遇到连接错误建议使用)

{
  "mcpServers": {
    "wikipedia": {
      "command": "/full/path/to/wikipedia-mcp"
    }
  }
}

选项 3:带国家/语言指定

{
  "mcpServers": {
    "wikipedia-us": {
      "command": "wikipedia-mcp",
      "args": ["--country", "US"]
    },
    "wikipedia-taiwan": {
      "command": "wikipedia-mcp", 
      "args": ["--country", "TW"]
    },
    "wikipedia-japan": {
      "command": "wikipedia-mcp",
      "args": ["--country", "Japan"]
    }
  }
}

要找到完整路径,请运行:which wikipedia-mcp

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

注意:如果您遇到连接错误,请参阅 常见问题 部分以获取解决方案。

文档索引

可用的 MCP 工具

维基百科 MCP 服务器提供了以下工具供 LLMs 与维基百科交互:

search_wikipedia

搜索维基百科以查找与查询匹配的文章。

参数:

  • query(字符串):搜索词
  • limit(整数,可选):返回结果的最大数量(默认:10)

返回值:

  • 包含标题、摘要和元数据的搜索结果列表

get_article

获取维基百科文章的全部内容。

参数:

  • title(字符串):维基百科文章的标题

返回值:

  • 包括文本、摘要、部分、链接和类别的文章内容

get_summary

获取维基百科文章的简洁摘要。

参数:

  • title(字符串):维基百科文章的标题

返回值:

  • 文章的文本摘要

get_sections

获取维基百科文章的部分。

参数:

  • title(字符串):维基百科文章的标题

返回值:

  • 包含各部分内容的结构化列表

get_links

获取维基百科文章中的链接。

参数:

  • title(字符串):维基百科文章的标题

返回值:

  • 到其他维基百科文章的链接列表

get_coordinates

获取维基百科文章的坐标。

参数:

  • title(字符串):维基百科文章的标题

返回值:

  • 包含坐标信息的字典,包括:
    • title:文章标题
    • pageid:页面ID
    • coordinates:包含纬度、经度和元数据的坐标对象列表
    • exists:文章是否存在
    • error:如果检索失败,返回任何错误消息

get_related_topics

根据链接和类别获取与维基百科文章相关的主题。

参数:

  • title(字符串):维基百科文章的标题
  • limit(整数,可选):相关主题的最大数量(默认:10)

返回值:

  • 包含相关主题及其相关信息的列表

summarize_article_for_query

获取针对特定查询量身定制的维基百科文章摘要。

参数:

  • title(字符串):维基百科文章的标题
  • query(字符串):聚焦摘要的查询
  • max_length(整数,可选):摘要的最大长度(默认:250)

返回值:

  • 包含标题、查询和聚焦摘要的字典

summarize_article_section

获取维基百科文章特定部分的摘要。

参数:

  • title(字符串):维基百科文章的标题
  • section_title(字符串):要总结的部分标题
  • max_length(整数,可选):摘要的最大长度(默认:150)

返回值:

  • 包含标题、部分标题和部分摘要的字典

extract_key_facts

从维基百科文章中提取关键事实,可选择专注于文章内的特定主题。

参数:

  • title(字符串):维基百科文章的标题
  • topic_within_article(字符串,可选):文章内要关注的事实提取主题
  • count(整数,可选):要提取的关键事实数量(默认:5)

返回值:

  • 包含标题、主题和提取的事实列表的字典

国家/地区支持

维基百科 MCP 服务器支持直观的国家和地区代码作为语言代码的替代方案。这使得更容易访问特定地区的维基百科内容而无需知道语言代码。

支持的国家和地区

使用 --list-countries 查看所有支持的国家:

wikipedia-mcp --list-countries

这将显示按语言组织的国家列表,例如:

支持的国家/地区代码:
========================================
    en: US, USA, United States, UK, GB, Canada, Australia, ...
    zh-hans: CN, China
    zh-tw: TW, Taiwan  
    ja: JP, Japan
    de: DE, Germany
    fr: FR, France
    es: ES, Spain, MX, Mexico, AR, Argentina, ...
    pt: PT, Portugal, BR, Brazil
    ru: RU, Russia
    ar: SA, Saudi Arabia, AE, UAE, EG, Egypt, ...

使用示例

# 主要国家代码
wikipedia-mcp --country US       # 美国(英语)
wikipedia-mcp --country CN       # 中国(简体中文)
wikipedia-mcp --country TW       # 台湾(繁体中文)
wikipedia-mcp --country JP       # 日本(日语)
wikipedia-mcp --country DE       # 德国(德语)
wikipedia-mcp --country FR       # 法国(法语)
wikipedia-mcp --country BR       # 巴西(葡萄牙语)
wikipedia-mcp --country RU       # 俄罗斯(俄语)

# 国家全称(大小写不敏感)
wikipedia-mcp --country "United States"
wikipedia-mcp --country China
wikipedia-mcp --country Taiwan  
wikipedia-mcp --country Japan
wikipedia-mcp --country Germany
wikipedia-mcp --country france    # 大小写不敏感

# 地区变体
wikipedia-mcp --country HK       # 香港(繁体中文)
wikipedia-mcp --country SG       # 新加坡(简体中文)
wikipedia-mcp --country "Saudi Arabia"  # 阿拉伯语
wikipedia-mcp --country Mexico   # 西班牙语

国家到语言映射

服务器自动将国家代码映射到适当的维基百科语言版本:

  • 英语国家:美国、英国、加拿大、澳大利亚、新西兰、爱尔兰、南非 → en
  • 中文地区
    • CN, 中国 → zh-hans(简体中文)
    • TW, 台湾 → zh-tw(繁体中文 - 台湾)
    • HK, 香港 → zh-hk(繁体中文 - 香港)
    • SG, 新加坡 → zh-sg(简体中文 - 新加坡)
  • 主要语言:日本 → ja,德国 → de,法国 → fr,西班牙 → es,意大利 → it,俄罗斯 → ru 等。
  • 地区变体:支持 140 多个国家和地区

错误处理

如果您指定了不受支持的国家,您将收到一个有用的错误消息:

$ wikipedia-mcp --country INVALID
错误:不支持的国家/地区代码:'INVALID'。
支持的国家代码包括:US, USA, UK, GB, CA, AU, NZ, IE, ZA, CN。
使用 --language 参数直接指定语言代码。

使用 --list-countries 查看支持的国家代码。

语言变体

维基百科 MCP 服务器支持具有多种书写系统或地区差异的语言变体。这一特性特别适用于中文、塞尔维亚语、库尔德语和其他具有多种书写系统或地区差异的语言。

支持的语言变体

中文语言变体

  • zh-hans - 简体中文