一个 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}
token、username、password)永远不会暴露在资源内容中。add-wiki/remove-wiki 后,服务器发送 notifications/resources/list_changed 以便客户端刷新。{
"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_TRANSPORT | MCP 服务器传输类型(stdio 或 http) | stdio |
PORT | StreamableHTTP 传输使用的端口 | 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) |
scriptpath | 是 | MediaWiki 脚本的路径(通常为 /w) |
token | 否 | 认证操作的 OAuth2 访问令牌(首选) |
username | 否 | 机器人用户名(当 OAuth2 不可用时的备选方案) |
password | 否 | 机器人密码(当 OAuth2 不可用时的备选方案) |
private | 否 | 维基是否需要认证才能阅读(默认:false) |
对于标记为 🔐 的工具,需要进行认证。
首选方法:OAuth2 Token
Special:OAuthConsumerRegistration/propose/oauth2token 添加到 config.json 中的维基配置中注意: OAuth2 需要安装在维基上的 OAuth 扩展。
备选方法:用户名和密码
如果您的维基上没有 OAuth2,您可以使用机器人凭据(来自 Special:BotPasswords)代替 OAuth2 令牌。
要通过 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>
code --add-mcp '{"name":"mediawiki-mcp-server","command":"npx","args":["@professional-wiki/mediawiki-mcp-server@latest"]}'
</details>
<details>
<summary><b>在 Cursor 安装</b></summary>
前往 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>
运行以下命令,可选地使用 -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 客户端和 LLM 即可测试和调试 MCP 服务器。
要同时启动开发服务器和 MCP Inspector:
npm run inspector
该命令将在本地 6277 启动 MCP 代理服务器,并在 http://localhost:6274 启动 MCP Inspector 客户端 UI。
测试和调试 MCP 服务器,内置 MCP 客户端并支持不同的 LLM。
要同时启动开发服务器和 MCP Inspector:
npm run mcpjam
要启用您的 MCP 客户端使用此 MediaWiki MCP Server 进行本地开发:
安装 MCP 服务器到您的 MCP 客户端。
更改 command 和 args 的值,如 mcp.json 文件所示(如果您希望在 Docker 中运行 MCP 服务器,则使用 mcp.docker.json)。
运行 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.json 和 package-lock.jsonserver.json 和 Dockerfile 中的版本(通过版本脚本)v0.2.0)git push origin master --follow-tags
</details>
<details>
<summary><b>3. 创建 GitHub 发布</b></summary>
v0.2.0)GitHub Actions 工作流将自动:
</details>欢迎贡献!请随时提交拉取请求或针对错误、功能请求或建议打开问题。
本项目采用 MIT 许可证。详情见 LICENSE 文件。