返回市场
媒体维基-MCP-服务器

媒体维基-MCP-服务器

作者:ProfessionalWiki40 星标更新:2025-11-24

项目介绍

MediaWiki MCP Server

NPM 版本 smithery 徽章 MIT 许可证

一个 MCP(模型上下文协议)服务器,使大型语言模型(LLM)客户端能够与任何 MediaWiki 维基互动。

功能

工具

名称描述权限
add-wiki从 URL 添加一个新的维基作为 MCP 资源。-
create-page 🔐创建一个新的维基页面。创建、编辑和移动页面
delete-page 🔐删除一个维基页面。删除页面、修订和日志条目
get-category-members获取类别中的所有成员。-
get-file返回文件页面的标准文件对象。-
get-page返回维基页面的标准页面对象。-
get-page-history返回关于维基页面最新修订的信息。-
get-revision返回页面的标准修订对象。-
remove-wiki移除一个维基资源。-
search-page搜索维基页面标题和内容以提供的搜索词。-
search-page-by-prefix对页面标题执行前缀搜索。-
set-wiki设置当前会话使用的维基资源。-
undelete-page 🔐还原一个维基页面。删除页面、修订和日志条目
update-page 🔐更新现有的维基页面。编辑现有页面
upload-file 🔐从本地磁盘上传文件到维基。上传新文件
upload-file-from-url 🔐从网络 URL 上传文件到维基。上传、替换和移动文件

资源

mcp://wikis/{wikiKey}

  • 凭据(例如,tokenusernamepassword)永远不会暴露在资源内容中。
  • add-wiki/remove-wiki 后,服务器发送 notifications/resources/list_changed 以便客户端刷新。
<details><summary>示例列表结果</summary>
{
  "resources": [
    {
      "uri": "mcp://wikis/en.wikipedia.org",
      "name": "wikis/en.wikipedia.org",
      "title": "Wikipedia",
      "description": "托管于 https://en.wikipedia. org 的维基 \"Wikipedia\""
    }
  ]
}
</details> <details><summary>示例读取结果</summary>
{
  "contents": [
    {
      "uri": "mcp://wikis/en.wikipedia.org",
      "mimeType": "application/json",
      "text": "{ \"sitename\":\"Wikipedia\",\"server\":\"https://en.wikipedia.org\",\"articlepath\":\"/wiki\",\"scriptpath\":\"/w\",\"private\":false }"
    }
  ]
}
</details>

环境变量

名称描述默认值
CONFIG配置文件路径config.json
MCP_TRANSPORTMCP 服务器传输类型(stdiohttpstdio
PORTStreamableHTTP 传输使用的端口3000

配置

注意: 配置仅在与私有维基交互或使用认证工具时需要。

创建一个 config.json 文件来配置维基连接。可以使用 config.example.json 作为起点。

基本结构

{
  "defaultWiki": "en.wikipedia.org",
  "wikis": {
    "en.wikipedia.org": {
      "sitename": "Wikipedia",
      "server": "https://en.wikipedia.org",
      "articlepath": "/wiki",
      "scriptpath": "/w",
      "token": null,
      "username": null,
      "password": null,
      "private": false
    }
  }
}

配置字段

字段描述
defaultWiki使用的默认维基标识符(匹配 wikis 中的键)
wikis由域名/标识符键控的维基配置对象

维基配置字段

字段必填描述
sitename维基的显示名称
server维基的基本 URL(例如,https://en.wikipedia.org
articlepath文章路径模式(通常为 /wiki
scriptpathMediaWiki 脚本的路径(通常为 /w
token认证操作的 OAuth2 访问令牌(首选)
username机器人用户名(当 OAuth2 不可用时的备选方案)
password机器人密码(当 OAuth2 不可用时的备选方案)
private维基是否需要认证才能阅读(默认:false

认证设置

对于标记为 🔐 的工具,需要进行认证。

首选方法:OAuth2 Token

  1. 导航至您的维基上的 Special:OAuthConsumerRegistration/propose/oauth2
  2. 选择“此消费者仅供 [您的用户名] 使用”
  3. 授予必要的权限
  4. 批准后,您将收到:
    • 客户端 ID
    • 客户端密钥
    • 访问令牌
  5. token 添加到 config.json 中的维基配置中

注意: OAuth2 需要安装在维基上的 OAuth 扩展

备选方法:用户名和密码

如果您的维基上没有 OAuth2,您可以使用机器人凭据(来自 Special:BotPasswords)代替 OAuth2 令牌。

安装

<details><summary><b>通过 Smithery 安装</b></summary>

要通过 Smithery 自动安装 MediaWiki MCP Server 到 Claude Desktop:

npx -y @smithery/cli install @ProfessionalWiki/mediawiki-mcp-server --client claude
</details> <details> <summary><b>在 Claude Desktop 安装</b></summary>

遵循 指南,使用以下配置:

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "@professional-wiki/mediawiki-mcp-server@latest"
      ],
      "env": {
        "CONFIG": "path/to/config.json"
      }
    }
  }
}
</details> <details><summary><b>在 VS Code 安装</b></summary>

在 VS Code 安装 在 VS Code Insiders 安装

code --add-mcp '{"name":"mediawiki-mcp-server","command":"npx","args":["@professional-wiki/mediawiki-mcp-server@latest"]}'
</details> <details> <summary><b>在 Cursor 安装</b></summary>

在 Cursor 安装

前往 Cursor 设置 -> MCP -> 添加新的 MCP 服务器。按喜好命名,使用命令类型并输入命令 npx @professional-wiki/mediawiki-mcp-server。您也可以通过点击 编辑 来验证配置或添加命令参数。

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "@professional-wiki/mediawiki-mcp-server@latest"
      ],
      "env": {
        "CONFIG": "path/to/config.json"
      }
    }
  }
}
</details> <details> <summary><b>在 Windsurf 安装</b></summary>

遵循 指南,使用以下配置:

{
  "mcpServers": {
    "mediawiki-mcp-server": {
      "command": "npx",
      "args": [
        "@professional-wiki/mediawiki-mcp-server@latest"
      ],
      "env": {
        "CONFIG": "path/to/config.json"
      }
    }
  }
}
</details> <details> <summary><b>在 Claude Code 安装</b></summary>

遵循 Claude Code MCP 文档

运行以下命令,可选地使用 -e 标志指定环境变量。

claude mcp add mediawiki-mcp-server npx @professional-wiki/mediawiki-mcp-server@latest

您应该在 .claude.json 配置中得到类似以下的内容:

"mcpServers": {
  "mediawiki-mcp-server": {
    "type": "stdio",
    "command": "npx",
    "args": [
      "@professional-wiki/mediawiki-mcp-server@latest"
    ],
    "env": {
      "CONFIG": "path/to/config.json"
    }
  }
},
</details>

开发

🐋 使用 Docker 开发: 替换命令中的 npm run 部分为 make(例如 make inspector)。

MCP Inspector

无需 MCP 客户端和 LLM 即可测试和调试 MCP 服务器。

要同时启动开发服务器和 MCP Inspector:

npm run inspector

该命令将在本地 6277 启动 MCP 代理服务器,并在 http://localhost:6274 启动 MCP Inspector 客户端 UI。

MCPJam Inspector

测试和调试 MCP 服务器,内置 MCP 客户端并支持不同的 LLM。

要同时启动开发服务器和 MCP Inspector:

npm run mcpjam

使用 MCP 客户端测试

要启用您的 MCP 客户端使用此 MediaWiki MCP Server 进行本地开发:

  1. 安装 MCP 服务器到您的 MCP 客户端。

  2. 更改 commandargs 的值,如 mcp.json 文件所示(如果您希望在 Docker 中运行 MCP 服务器,则使用 mcp.docker.json)。

  3. 运行 dev 命令,这样每当有更改时都会编译源代码:

    npm run dev
    

发布过程

要发布新版本:

<details> <summary><b>1. 使用 npm version 创建发布</b></summary>
# 对于补丁发布(0.1.1 → 0.1.2)
npm version patch

# 对于次要发布(0.1.1 → 0.2.0)
npm version minor

# 对于主要发布(0.1.1 → 1.0.0)
npm version major

# 或指定确切版本
npm version 0.2.0

此命令会自动:

  • 更新 package.jsonpackage-lock.json
  • 同步 server.jsonDockerfile 中的版本(通过版本脚本)
  • 创建 git 提交
  • 创建 git 标签(例如,v0.2.0
</details> <details> <summary><b>2. 推送到 GitHub</b></summary>
git push origin master --follow-tags
</details> <details> <summary><b>3. 创建 GitHub 发布</b></summary>
  1. 转到 发布页面
  2. 点击“创建新发布”
  3. 选择您刚刚推送的标签(例如,v0.2.0
  4. 添加标题和发布说明
  5. 点击“发布”

GitHub Actions 工作流将自动:

</details>

贡献

欢迎贡献!请随时提交拉取请求或针对错误、功能请求或建议打开问题。

许可证

本项目采用 MIT 许可证。详情见 LICENSE 文件。