Raid Shadow Legends MCP Server
by MadnessEngineering
Control your Raid Shadow Legends Tasker automation via a Mission Control Protocol server. This project integrates with Tasker to allow control of Raid Shadow Legends automation through MCP tools, a REST API, and MQTT.
Last updated: N/A
Raid Shadow Legends MCP Server
Control your Raid Shadow Legends Tasker automation via a Mission Control Protocol server.
Overview
This project provides an MCP server that integrates with Tasker automation for Raid Shadow Legends. It allows you to:
- Control Raid Shadow Legends automation via MCP tools
- Set automation goals through a REST API
- Monitor game status via MQTT
- Interact with Tasker projects
Prerequisites
- Node.js 18+
- MQTT broker running on port 9900
- Tasker installed on an Android device with the Raid automation project
- The Tasker project should be configured to listen to MQTT topics
Installation
# Clone the repository
git clone https://github.com/yourusername/RaidShadowLegendsButItsMCP.git
# Navigate to the project directory
cd RaidShadowLegendsButItsMCP
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
Configuration
The MCP server connects to an MQTT broker to communicate with Tasker. By default, it connects to:
http://localhost:9900/mqtt
To change this, modify the MQTT_SERVER_URL
in both src/index.ts
and src/RaidShadowLegendsButItsMCP.ts
.
API Usage
REST API
Get Status
GET /api/status
Response:
{
"lastUpdate": "2023-11-01T12:34:56.789Z",
"raidStatus": "running",
"raidProgress": 75,
"battleCount": 3,
"energyRemaining": 84,
"timestamp": "2023-11-01T12:35:00.123Z"
}
Send Command
POST /api/command
Request body:
{
"command": "raid_start",
"parameters": {
"mode": "campaign",
"stage": 12
}
}
Response:
{
"success": true,
"message": "Command raid_start sent successfully"
}
Set Goal
POST /api/goal
Request body:
{
"battleCount": 20,
"battleType": "campaign",
"autoSell": true,
"energyRefill": false
}
Response:
{
"success": true,
"message": "Goal set: 20 campaign battles"
}
MCP Tools
The server provides the following MCP tools:
RaidShadowLegendsControl
: Send automation commandsRaidShadowLegendsStatus
: Get current game statusRaidShadowLegendsSetGoal
: Set automation goals
MQTT Topics
The server publishes and subscribes to the following MQTT topics:
commands/raid
: General commands for the gamecommands/raid/goals
: Goal settingsstatus/raid
: Status updates from the game
Tasker Integration
The Tasker project should be configured to:
- Subscribe to the MQTT topics
- Parse and execute commands
- Publish status updates back to the MQTT broker
Available Commands
raid_start
: Start the Raid Shadow Legends appclan_boss
: Navigate to and battle the Clan Bossraid_auto_toggle
: Toggle auto-battle moderaid_end
: End the current battleraid_lock_toggle
: Toggle screen lock
Troubleshooting
- MQTT Connection Issues: Ensure your MQTT broker is running and accessible
- Tasker Not Responding: Check that your Tasker project is correctly configured
- Command Not Working: Verify the command format and parameters
TODO
- Add authentication for API access
- Implement more detailed status reporting
- Create a web dashboard for monitoring
- Add support for more complex automation workflows
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.