mcpField
W
Wikipedia Simple English

Wikipedia Simple English

本地服务
github.com/bhubbb搜索与检索041 周前更新

关于 Wikipedia Simple English

Wikipedia Simple English 是用于搜索 Wikipedia 并获取摘要或全文的 MCP 服务,优先选用易读的 Simple English 内容。文章不存在或内容过短时会回退到常规英语,并返回结构化元数据和正文。

主要功能

  1. 01搜索 Wikipedia 条目
  2. 02获取摘要和完整文章
  3. 03优先使用 Simple English 并自动回退
  4. 04处理消歧和标题建议
  5. 05返回结构化元数据与正文

适用场景

  1. 01查找易读的主题解释
  2. 02为写作收集参考资料
  3. 03根据 Wikipedia 条目核查事实
  4. 04研究标题含义不明确的主题

MCP 相关

它向 MCP 客户端提供 Wikipedia 搜索、摘要和全文工具,并返回结构化结果及消歧选项。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"se-wikipedia": {
"command": "uvx",
"args": [
"git+https://github.com/bhubbb/mcp-se-wikipedia"
]
}
}
}
启动命令uvx 'git+https://github.com/bhubbb/mcp-se-wikipedia'

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigit+https://github.com/bhubbb/mcp-se-wikipedia

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Wikipedia 简明英语 MCP 服务

一个模型上下文协议(MCP)服务,可访问 Wikipedia 内容,优先使用简明英语 Wikipedia;当内容不可用或质量较差时,会智能回退到常规英语 Wikipedia。

概述

此 MCP 服务充当 AI 助手与 Wikipedia 之间的桥梁,专为以下用途设计:

  • 优先使用简明英语:首先使用简明英语 Wikipedia,以提供更清晰、更易理解的内容
  • 智能回退:必要时自动回退到常规英语 Wikipedia
  • 质量检测:评估内容质量,对于内容过少的文章,切换到英语 Wikipedia
  • 便于阅读:注重可读性和易用性

功能

🔍 搜索工具
  • 搜索 Wikipedia 文章
  • 返回结构化元数据和按相关性排序的页面标题列表
  • 优先尝试简明英语,失败时回退到英语
  • 可配置结果数量上限
📄 摘要工具
  • 获取 Wikipedia 页面摘要/摘录
  • 响应轻量、快速,便于快速概览
  • 提供包含内容长度和语言标识的结构化元数据
  • 自动处理消歧义
📖 内容工具
  • 获取 Wikipedia 页面完整内容
  • 提供完整文章文本,便于深入研究
  • 以独立的元数据块和内容块提供结构化输出
  • 根据质量选择语言

安装与设置

先决条件
  • Python 3.12 或更高版本
  • uv 包管理器
快速开始

使用 uvx 直接运行:

uvx git+https://github.com/bhubbb/mcp-se-wikipedia

或在本地安装:

  1. 克隆或下载此项目

  2. 安装依赖项:

    cd mcp-se-wikipedia
    uv sync
    
  3. 运行服务:

    uv run python main.py
    
与 AI 助手集成

此 MCP 服务专为支持模型上下文协议的 AI 助手而设计。配置 AI 助手,通过 stdio 连接到此服务。

Claude Desktop 配置示例:

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uvx",
      "args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"]
    }
  }
}

如果使用本地安装:

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uv",
      "args": ["run", "python", "/path/to/mcp-se-wikipedia/main.py"]
    }
  }
}

仅使用完整英语 Wikipedia(跳过简明英语):

{
  "mcpServers": {
    "wikipedia-se": {
      "command": "uvx",
      "args": ["git+https://github.com/bhubbb/mcp-se-wikipedia"],
      "env": {
        "WIKIPEDIA_MODE": "full"
      }
    }
  }
}
配置

可使用环境变量配置服务行为:

WIKIPEDIA_MODE

控制使用哪个版本的 Wikipedia:

  • simple(默认):优先使用简明英语 Wikipedia,并在必要时自动回退到常规英语
  • full:仅使用常规英语 Wikipedia,完全跳过简明英语

用法示例:

# Default mode (Simple English first)
uv run python main.py

# Full Wikipedia mode only
WIKIPEDIA_MODE=full uv run python main.py

以下情况适合使用此选项:

  • 需要更详细的技术内容
  • 希望获得来自常规 Wikipedia 的一致结果
  • 处理完整英语 Wikipedia 涵盖更好的主题

可用工具

search

搜索 Wikipedia 文章并获取结构化结果。

参数:

  • query(必需):搜索词
  • limit(可选):要返回的结果数量上限(1-20,默认值:10)

返回:

  • 搜索元数据(Wikipedia 版本、查询内容、结果数量、语言代码)
  • 匹配的文章标题列表

示例:

{
  "name": "search",
  "arguments": {
    "query": "solar system",
    "limit": 5
  }
}
summary

获取 Wikipedia 页面的摘要/摘录。

参数:

  • title(必需):要获取摘要的页面标题
  • auto_suggest(可选):找不到完全匹配项时,自动建议相似标题(默认值:true)

返回:

  • 摘要元数据(标题、Wikipedia 版本、语言代码、URL、内容长度)
  • 页面摘要文本

示例:

{
  "name": "summary",
  "arguments": {
    "title": "Earth",
    "auto_suggest": true
  }
}
content

获取 Wikipedia 页面的完整内容。

参数:

  • title(必需):要获取完整内容的页面标题
  • auto_suggest(可选):找不到完全匹配项时,自动建议相似标题(默认值:true)

返回:

  • 内容元数据(标题、Wikipedia 版本、语言代码、URL、内容长度)
  • 完整文章内容

示例:

{
  "name": "content",
  "arguments": {
    "title": "Earth",
    "auto_suggest": true
  }
}

工作原理

语言优先级系统
  1. 优先使用简单英语(默认模式):所有请求都会先查询简单英语维基百科
  2. 质量检查:对于内容或摘要请求,检查内容是否足够充实(>500 个字符)
  3. 自动回退:在以下情况下切换到英语维基百科:
    • 简单英语维基百科中不存在该页面
    • 内容过于简短(可能是短小页面)
    • 搜索没有返回结果
  4. 完整维基百科模式:设置 WIKIPEDIA_MODE=full 时,跳过简单英语维基百科,直接使用常规英语维基百科
结构化输出格式

所有工具都会返回由以下独立区块组成的结构化响应:

  • 元数据:维基百科版本、语言代码、URL、内容统计信息
  • 内容:搜索结果、摘要或完整文章内容
  • 选项:匹配多个页面时提供的消歧选项

这种结构让响应既便于人类阅读,也便于机器解析。

错误处理
  • 消歧:匹配多个页面时,返回选项列表
  • 未找到页面:提供清晰的错误消息和建议
  • 网络问题:妥善处理错误并提供有用的消息

使用场景

面向学生和学习者
  • 获取对复杂主题的简明解释
  • 以更清晰易懂的语言获取教育内容
  • 借助自动调整复杂度的功能获得研究帮助
面向内容创作
  • 为文章和解释提供素材
  • 使用可靠的维基百科来源核查事实
  • 借助可读性优化获得研究支持
面向无障碍访问
  • 为不同阅读水平的读者提供更易读的内容
  • 为非母语人士提供简化的语言
  • 清晰、简洁地传递信息

示例

基本搜索

向 AI 助手提问:“搜索维基百科,查找有关光合作用的信息”

服务将:

  1. 在简单英语维基百科中搜索“photosynthesis”
  2. 返回结构化元数据(版本、语言代码、结果数量)
  3. 提供相关条目列表
  4. 必要时回退到英语维基百科
获取摘要

向 AI 助手提问:“从维基百科获取一份关于月球的摘要”

服务将:

  1. 尝试从简单英语维基百科获取“Moon”的摘要
  2. 返回结构化元数据(标题、版本、URL、内容长度)
  3. 提供页面摘要
  4. 如果无法使用简单英语维基百科,则回退到英语维基百科
获取完整内容

向 AI 助手提问:“获取关于月球的完整维基百科条目”

服务将:

  1. 尝试从简单英语维基百科获取完整的“Moon”条目
  2. 检查内容是否足够充实
  3. 返回结构化元数据和完整条目内容
  4. 必要时回退到英语维基百科
消歧处理

向 AI 助手提问:“获取有关 Mercury 的信息”

如果匹配到多个页面(行星 Mercury、元素 Mercury 等),服务将返回:

  • 结构化的消歧元数据
  • 可供选择的选项列表

开发

项目结构
mcp-se-wikipedia/
├── main.py          # Main MCP server implementation
├── pyproject.toml   # Project dependencies and metadata
├── AGENT.md         # This documentation
└── .venv/           # Virtual environment (created by uv)
主要依赖项
  • mcp:Model Context Protocol 框架
  • wikipedia:Python 维基百科 API 封装库
  • asyncio:为 MCP 提供 Async/await 支持
自定义

修改 main.py 即可轻松自定义服务:

  • 质量阈值:更改内容质量检查的 500 字符阈值
  • 搜索限制:修改默认和最大搜索结果数量限制
  • 语言设置:添加对其他维基百科语言的支持
  • 内容筛选:添加自定义内容处理或筛选
测试服务

直接测试服务:

uvx git+https://github.com/bhubbb/mcp-se-wikipedia

或使用本地安装:

cd mcp-se-wikipedia
uv run python main.py

服务通过 stdin/stdout 使用 JSON-RPC 进行通信,因此需要使用 MCP 客户端或 AI 助手与其正常交互。

故障排除

常见问题
  1. 导入错误:确保已通过 uv sync 安装所有依赖项
  2. 连接问题:检查网络连接,确保可以访问维基百科 API
  3. 速率限制:维基百科设有速率限制;服务会妥善处理此问题
调试

通过修改 main.py 中的日志级别来启用调试日志:

logging.basicConfig(level=logging.DEBUG)

贡献

这是一个简单的单文件实现,旨在清晰易懂且便于修改。欢迎:

  • 添加对更多 Wikipedia 语言的支持
  • 实现更多内容筛选功能
  • 添加缓存以提升性能
  • 扩展更多 Wikipedia 功能

许可证

本项目采用与其依赖项相同的许可证。通过此服务访问的 Wikipedia 内容受 Wikipedia 许可条款约束。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。