艾泽拉斯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
许可证
麻省理工学院