游戏服务器管理工具

AzerothCore-WotLK-MCP是一个通过SOAP接口管理AzerothCore魔兽世界服务器的工具,提供28种游戏管理功能,支持通过LLM调用。

  • by Lingelo
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 Lingelo/azerothcore-wotlk-mcp

使用说明

艾泽拉斯wotlk mcp

MCP服务器,用于管理 阿塞拜疆核心 WoTLK服务器通过其SOAP接口。公开28个Game Master工具,任何兼容MCP的客户端(Claude Code、Claude Desktop等)都可以通过LLM直接调用这些工具。

先决条件

  • Node.js >= 20.6.0
  • 一 阿塞拜疆核心 启用SOAP的worldserver(SOAP.Enabled = 1 在 worldserver.conf)

设置

git clone <repo-url> && cd azerothcore-wotlk-mcp
npm install
cp .env.example .env   # edit with your SOAP credentials
npm run build

配置

变量 默认值 描述
TRANSPORT stdio 运输方式: stdio 或 sse
HTTP_PORT 3000 SSE模式的HTTP端口(在stdio中忽略)
SOAP_HOST 127.0.0.1 AzerthCore SOAP主机
SOAP_PORT 7878 AzerthCore SOAP端口
SOAP_USERNAME 必需的 SOAP帐户用户名
SOAP_PASSWORD 必需的 SOAP帐户密码

SOAP帐户在AzerthCore服务器上必须具有安全级别3(SEC_ADMINISTRATOR)。

用法

stdio(默认)

添加到您的MCP客户端配置(Claude Code、Claude Desktop等):

{
  "mcpServers": {
    "azerothcore": {
      "command": "node",
      "args": ["--env-file=.env", "dist/index.js"],
      "cwd": "/path/to/azerothcore-wotlk-mcp"
    }
  }
}

SSE(HTTP)

集 TRANSPORT=sse 在 .env那么:

npm start
# MCP SSE server listening on http://localhost:3000/mcp

客户端配置:

{
  "mcpServers": {
    "azerothcore": {
      "type": "streamable-http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

工具

服务器

工具 说明
server_info 服务器版本、正常运行时间、连接的播放器
server_set_motd 设置当天的消息
server_reload_config 无需重新启动即可重新加载worldserver.conf

账户

工具 说明
account_create 创建游戏帐户
account_delete 删除游戏帐户
account_set_gmlevel 设置GM安全级别(0-3)

角色

工具 说明
character_level 设置字符级别(1-80)
character_rename 下次登录时强制重命名
character_changerace 下次登录时强制更改种族
character_changefaction 下次登录时强制更改派系

禁止和静音

工具 说明
ban_account 禁止帐户(持续时间+原因)
ban_ip 禁止IP地址
ban_character 禁止一个角色
unban_account 删除帐户禁令
unban_character 删除角色禁令
unban_ip 删除IP禁令
mute_player 将玩家静音N分钟

传送

工具 说明
teleport_player 远程传输到指定位置
summon_player 召唤玩家

邮件

工具 说明
send_mail 发送游戏内邮件
send_items 通过邮件发送项目
send_money 通过邮件发送铜币

行会

工具 说明
guild_create 创建公会
guild_delete 删除公会
guild_invite 邀请玩家加入公会

宣布

工具 说明
announce 服务器范围内的聊天公告
notify 服务器宽屏通知

查找

工具 说明
player_info 玩家详细信息
lookup_player_ip 按IP查找字符
lookup_player_account 按帐户查找字符

逃生舱口

工具 说明
raw_command 直接执行任何GM命令

AzerthCore SOAP设置

在 worldserver.conf:

SOAP.Enabled = 1
SOAP.IP = "127.0.0.1"
SOAP.Port = 7878

用于SOAP的帐户必须被授予管理员级别:

-- In the auth database
INSERT INTO account (username, sha_pass_hash) VALUES ('admin', SHA1(CONCAT(UPPER('admin'), ':', UPPER('admin'))));
-- Then set GM level 3
INSERT INTO account_access (id, gmlevel, RealmID) VALUES ((SELECT id FROM account WHERE username = 'admin'), 3, -1);

或者通过worldserver控制台:

.account create admin admin
.account set gmlevel admin 3 -1

许可证

麻省理工学院