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