OpenKore MCP桥
基本上,这是使用MCP通过OpenKore机器人控制Ragnarok Online玩家的LLM方式。
MCP(模型上下文协议)SSE服务器直接内置于OpenKore插件中——没有外部依赖关系

特性
- MCP SSE运输 (协议版本2024-11-05)通过HTTP
- 253工具 来自典型的OpenKore安装:
- 207个命令工具(所有控制台命令) - 2个聊天模板(自动回复单词) - 44个响应模板(预设消息)
- 纯Perl——仅使用核心OpenKore模块+
JSON+IO::Socket::INET - 非阻塞I/O集成到
mainLoop_pre钩子 - 支持多个并发SSE客户端
- CORS已启用
建筑
MCP Client (Qwen, Claude, etc.)
↕ HTTP/SSE (localhost:5556)
MCPBridge.pl (OpenKore plugin)
→ Commands::run()
→ OpenKore internals没有中间件。插件就是服务器。
端点
| 方法 | 路径 | 描述 |
|---|---|---|
| 得到 | /sse | SSE事件流(MCP传输) |
| 职位 | /message?sessionId=N | 来自客户端的JSON-RPC请求 |
| 选项 | * | CORS飞行前 |
MCP方法
| 方法 | 说明 |
|---|---|
initialize | 握手--返回协议版本、功能、服务器信息 |
tools/list | 列出所有可用工具(支持光标分页) |
tools/call | 按名称执行工具 |
ping | 健康检查 |
安装
_(我在debian上做了所有事情,请报告有关win和其他人的问题)_
- (可选)确保
JSONPerl模块已安装:
perl -MJSON -e 1如果失败,请安装: cpan JSON 或 apt install libjson-perl
- 复制插件目录:
cp -r plugins/MCPBridge /path/to/your/openkore/plugins/- 添加
control/config.txt:
loadPlugins_list MCPBridge- 启动OpenKore。服务器自动启动
http://127.0.0.1:5556,您将在ok控制台中看到-[MCPBridge] MCP SSE on http://127.0.0.1:5556/sse
配置
在 .qwen/mcp.json (或任何MCP客户端配置):
{
"mcpServers": {
"openkore": {
"url": "http://127.0.0.1:5556/sse"
}
}
}或
{
"mcp": {
"openkore": {
"type": "remote",
"url": "http://localhost:5556/sse",
"enabled": true
}
}
}用法
工作模式简单,LLM工作循环 wait_pm 工具,它有可选的超时参数(秒)。 下午收到LLM后,将其视为提示,并做一些事情,然后重复。
- 如上所示配置MCP客户端
- 启动你的AI代理。
- 提示他 拉格纳罗克玩家 角色定义和请求启动循环
- 代理将等待PM命令并执行OpenKore工具进行响应
卷曲测试
# Connect SSE (blocks, streams events)
curl -N http://127.0.0.1:5556/sse
# In another terminal, send initialize request
curl -X POST 'http://127.0.0.1:5556/message?sessionId=1' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'工具类型
命令工具
每个OpenKore控制台命令都可以作为工具使用(例如。, move, stats, a, s). 除此之外,只有自定义工具 wait_pm,请在“用法”部分阅读。
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "move",
"arguments": { "x": "100", "y": "200" }
}
}聊天模板(chat_*)
自动回复来自的单词 chat_resp.txt.
响应模板(resp_*)
罐装回复来自 responses.txt (例如。, resp_authS).
故障排除
- 检查OpenKore日志
[MCPBridge]消息 - 端口5556必须空闲:
ss -tlnp | grep 5556 - 确保
JSONPerl模块已安装:perl -MJSON -e 1
文件
MCPBridge.pl--主插件(MCP SSE服务器)README.md--本文件
