完整的 API 参考和使用指南,帮助您充分利用 MCDR MCP Service 的所有功能
MCP 服务为 AI 和自动化工具提供标准化接口,支持命令执行、状态查询、日志管理等多种能力。以下为主要服务说明:
获取MCDR可用命令列表和指令树
plugin_id (可选): 指定插件ID以获取特定插件的命令{
"name": "get_command_tree",
"arguments": {}
}{
"name": "get_command_tree",
"arguments": {
"plugin_id": "mcdr_mcp_service"
}
}{
"success": true,
"total_commands": 15,
"commands": [
{
"plugin_id": "mcdr",
"plugin_name": "MCDReforged Core",
"command": "!!MCDR status",
"description": "查看MCDR状态",
"type": "builtin_command"
},
// 更多命令...
],
"timestamp": 1753261523
}执行MCDR命令或Minecraft服务器命令,并捕获真实的命令响应
command (必需): 要执行的命令,支持以下格式:!!开头,如!!MCDR status/前缀,如/list或listsource_type (可选): 命令来源类型,可选值:"console" (默认): 以控制台身份执行"player": 以玩家身份执行{
"name": "execute_command",
"arguments": {
"command": "!!MCDR status",
"source_type": "console"
}
}{
"name": "execute_command",
"arguments": {
"command": "/list"
}
}{
"success": true,
"command": "!!MCDR status",
"command_id": "cmd_1753261523_1234",
"output": "MCDR 服务器状态信息的完整响应内容...",
"responses": ["第一行响应", "第二行响应", "..."],
"timestamp": 1753261523
}{
"success": true,
"command": "!!MCDR unknown",
"command_id": "cmd_1753261523_5678",
"output": "未知命令: !!MCDR unknown\n当前命令没有返回值,以下是它的子命令:\n!!MCDR status - 查看MCDR状态\n!!MCDR help - 显示帮助信息\n...\n工具 mcdr_unknown 可能需要更多参数,请尝试使用 !!MCDR help 获取帮助",
"timestamp": 1753261523
}获取MCDR服务器状态信息
include_players (可选): 是否包含在线玩家信息,默认为true{
"name": "get_server_status",
"arguments": {
"include_players": true
}
}{
"success": true,
"timestamp": 1753261523,
"mcdr_status": "running",
"mcdr_status_detail": "MCDR 版本: 2.x.x\n...",
"server_running": true,
"server_startup": true,
"plugin_list_detail": "已加载的插件: xxx, xxx, ...",
"players": {
"list_command_result": "当前有 3 名玩家在线: player1, player2, player3"
}
}获取最近的服务器日志(支持MCDR和Minecraft日志)
lines_count (可选): 要获取的日志行数,范围1-50,默认为20{
"name": "get_recent_logs",
"arguments": {
"lines_count": 30
}
}{
"success": true,
"total_lines": 1250,
"requested_lines": 30,
"returned_lines": 30,
"logs": [
{
"line_number": 1220,
"content": "[2025-01-20 15:30:25] [MCDR/INFO] 玩家加入游戏",
"timestamp": "2025-01-20 15:30:25",
"source": "all",
"is_command": false
},
// 更多日志...
],
"timestamp": 1753261523
}获取指定范围的服务器日志(支持MCDR和Minecraft日志)
start_line (可选): 起始行号(从0开始),默认为0end_line (必需): 结束行号(不包含),最多获取50行{
"name": "get_logs_range",
"arguments": {
"start_line": 100,
"end_line": 150
}
}{
"success": true,
"total_lines": 1250,
"start_line": 100,
"end_line": 150,
"requested_lines": 50,
"returned_lines": 50,
"logs": [
{
"line_number": 100,
"content": "[2025-01-20 15:25:10] [SERVER/INFO] 服务器启动完成",
"timestamp": "2025-01-20 15:25:10",
"source": "all",
"is_command": false
},
// 更多日志...
],
"timestamp": 1753261523
}搜索日志内容,支持文本搜索和正则表达式搜索
query (必需): 搜索查询字符串use_regex (可选): 是否使用正则表达式搜索,默认为falsecontext_lines (可选): 包含搜索结果的上下文行数,范围0-10,默认为0max_results (可选): 最大返回结果数,范围1-5,默认为5{
"name": "search_logs",
"arguments": {
"query": "玩家登录",
"context_lines": 2
}
}{
"name": "search_logs",
"arguments": {
"query": "\\[ERROR\\].*exception",
"use_regex": true,
"context_lines": 3,
"max_results": 3
}
}{
"success": true,
"query": "玩家登录",
"use_regex": false,
"context_lines": 2,
"total_matches": 15,
"returned_results": 5,
"remaining_results": 10,
"results": [
{
"search_id": 1245,
"line_number": 1220,
"content": "[2025-01-20 15:30:25] [SERVER/INFO] 玩家 Steve 登录游戏",
"timestamp": "2025-01-20 15:30:25",
"is_command": false,
"context_before": [
{
"line_number": 1218,
"content": "[2025-01-20 15:30:23] [SERVER/INFO] 服务器正在运行"
},
{
"line_number": 1219,
"content": "[2025-01-20 15:30:24] [SERVER/INFO] 准备接受连接"
}
],
"context_after": [
{
"line_number": 1221,
"content": "[2025-01-20 15:30:26] [SERVER/INFO] Steve 获得了成就"
},
{
"line_number": 1222,
"content": "[2025-01-20 15:30:27] [SERVER/INFO] 世界保存完成"
}
],
"match_index": 1
},
// 更多搜索结果...
],
"timestamp": 1753261523
}根据搜索ID范围查询日志
start_id (必需): 起始搜索IDend_id (必需): 结束搜索IDcontext_lines (可选): 包含搜索结果的上下文行数,范围0-10,默认为0{
"name": "search_logs_by_ids",
"arguments": {
"start_id": 1200,
"end_id": 1250,
"context_lines": 1
}
}{
"success": true,
"start_id": 1200,
"end_id": 1250,
"context_lines": 1,
"total_matches": 51,
"returned_results": 5,
"remaining_results": 46,
"results": [
{
"search_id": 1250,
"line_number": 1230,
"content": "[2025-01-20 15:35:00] [MCDR/INFO] 插件重载完成",
"timestamp": "2025-01-20 15:35:00",
"is_command": true,
"context_before": [
{
"line_number": 1229,
"content": "[2025-01-20 15:34:59] [MCDR/INFO] 正在重载插件"
}
],
"context_after": [
{
"line_number": 1231,
"content": "[2025-01-20 15:35:01] [MCDR/INFO] 重载完成"
}
],
"match_index": 1
},
// 更多搜索结果...
],
"timestamp": 1753261523
}插件会自动将MCDR自带的命令(以!!MCDR开头)转换为独立的MCP工具,使AI可以直接调用这些命令,而无需使用execute_command工具。
mcdr_命令名称,其中命令名称是将!!MCDR后面的部分转换而来mcdr_status: 对应!!MCDR status命令mcdr_plugin_list: 对应!!MCDR plugin list命令mcdr_reload_plugin: 对应!!MCDR reload plugin命令{
"name": "mcdr_status",
"arguments": {}
}{
"success": true,
"command": "!!MCDR status",
"output": "MCDR 版本: 2.x.x\n服务器状态: 运行中\n...",
"timestamp": 1753261523
}{
"success": true,
"command": "!!MCDR unknown",
"output": "未知命令: !!MCDR unknown\n当前命令没有返回值,以下是它的子命令:\n!!MCDR status - 查看MCDR状态\n!!MCDR help - 显示帮助信息\n...\n工具 mcdr_unknown 可能需要更多参数,请尝试使用 !!MCDR help 获取帮助",
"timestamp": 1753261523
}{
"mcp_server": {
"host": "localhost", // MCP 服务器监听地址
"port": 8080, // MCP 服务器端口
"enabled": true, // 是否启用 MCP 服务
"max_connections": 10, // 最大连接数
"timeout": 30 // 超时时间(秒)
},
"security": {
"api_key": "your-secret-key", // API 访问密钥
"allowed_commands": [ // 允许执行的命令列表
"list",
"help",
"status"
],
"blocked_commands": [ // 禁止执行的命令列表
"stop",
"restart"
],
"rate_limit": 100 // 每分钟请求限制
},
"logging": {
"level": "INFO", // 日志级别
"file": "logs/mcp_service.log", // 日志文件路径
"max_size": "10MB", // 单个日志文件最大大小
"backup_count": 5 // 保留的日志文件数量
},
"monitoring": {
"update_interval": 5, // 状态更新间隔(秒)
"metrics_enabled": true, // 是否启用性能监控
"alerts_enabled": true // 是否启用告警
}
}
错误信息:Connection refused
错误信息:401 Unauthorized
错误信息:Command timeout