项目简介

MediaWiki MCP 服务器是一个基于Model Context Protocol (MCP) 的应用后端,旨在使大型语言模型 (LLM) 客户端能够通过标准化的JSON-RPC协议与任何MediaWiki维基进行交互。它封装了MediaWiki的API操作,以工具的形式提供给LLM,从而实现自动化内容创建、编辑、查询和文件管理等任务。

主要功能点

  • 页面管理: LLM客户端可以调用工具来创建、更新、获取维基页面内容及其历史记录。
  • 文件操作: 支持获取文件信息,以及从本地磁盘或URL上传文件到维基。
  • 维基搜索: 允许LLM客户端搜索维基页面的标题和内容,并返回匹配结果。
  • 会话管理: 提供工具支持在当前LLM会话中动态切换或配置不同的MediaWiki维基实例。
  • 多传输协议支持: 支持通过标准输入/输出 (stdio) 或HTTP流式传输协议与MCP客户端进行通信。

安装步骤

该服务器通常由支持MCP协议的LLM客户端(如Claude Desktop, VS Code, Cursor等)进行自动安装和启动。您可以参考以下通用命令或您所使用的LLM客户端的具体文档进行安装配置:

  1. 使用Smithery CLI安装: 如果您使用Smithery平台,可以运行以下命令自动安装MediaWiki MCP Server并配置到您的LLM客户端(例如Claude):
    npx -y @smithery/cli install @ProfessionalWiki/mediawiki-mcp-server --client claude
  2. 手动配置到LLM客户端: 对于其他LLM客户端,您可能需要在其设置中手动添加MCP服务器配置。请参照下文的“服务器配置”部分,将相应的JSON配置添加到您的客户端设置中。

服务器配置

MCP客户端需要配置MCP服务器的启动命令和参数,以便与服务器建立连接。以下是标准的JSON配置示例,您需要将其添加到您的MCP客户端的配置文件中(例如'.claude.json' 或客户端设置界面):

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      // 启动MCP服务器的命令,通常是npx
      "command": "npx",
      // 传递给命令的参数,这里指定运行MediaWiki MCP Server的最新版本
      "args": [
        "@professional-wiki/mediawiki-mcp-server@latest"
      ],
      // 环境变量,用于自定义服务器行为
      "env": {
        // CONFIG: 指定服务器配置文件的路径,例如 'path/to/config.json'。如果未指定,默认为 'config.json'。
        "CONFIG": "path/to/config.json",
        // MCP_TRANSPORT: 指定MCP服务器的传输协议,可以是 'stdio' (默认) 或 'http'。
        "MCP_TRANSPORT": "stdio",
        // PORT: 如果使用 'http' 传输协议,指定服务器监听的端口号。默认为 '3000'。
        "PORT": "3000"
      }
    }
  }
}

'config.json' 文件说明: MCP服务器的实际维基连接信息(如多个MediaWiki实例的URL、OAuth token等)存储在一个名为 'config.json' 的文件中(或通过 'CONFIG' 环境变量指定的路径)。您需要根据您的MediaWiki维基环境编辑此文件来定义或修改维基配置。例如,您可以配置'en.wikipedia.org'或本地'localhost:8080'等维基。

基本使用方法

一旦MediaWiki MCP 服务器被您的LLM客户端成功配置和连接,LLM就可以通过调用服务器暴露的工具来与MediaWiki维基进行交互。LLM将根据您的指令和上下文,选择并执行合适的工具,例如:

  • 查询页面: 您可以对LLM说:“在Wikipedia上搜索关于'人工智能'的页面内容,并告诉我它的摘要。”
  • 创建页面: 您可以指示LLM:“在我的维基上创建一个名为'新的概念'的页面,内容是'这是一个关于新概念的介绍。'”
  • 更新页面: “更新'人工智能'页面的内容,将旧版本修订ID为123456的文本替换为'最新的关于AI发展的信息...'”
  • 设置维基: “将当前会话的维基切换到 'https://mywiki.example.com/wiki/Main_Page'。”
  • 上传文件: “将本地文件 '/path/to/image.jpg' 上传到维基,命名为 '我的图片.jpg',并在文件页面添加描述 '这是LLM生成的图片。'”
  • 获取文件信息: “获取文件'Example.jpg'的信息,包括它的各种URL。”

信息

分类

AI与计算