Metadata-Version: 2.4
Name: iflow-mcp_mirideanimator_lovense-remotemcp
Version: 1.0.0
Summary: MCP for Lovense Remote - Control your Lovense toys with Claude
Requires-Python: >=3.10
Requires-Dist: mcp>=1.8.1
Requires-Dist: requests>=2.31.0
Description-Content-Type: text/markdown

# Lovense Remote MCP - Control Your Toys with Claude

Connect your Lovense toys to Claude Desktop and let your AI companion control them! This MCP (Model Context Protocol) server lets Claude send commands directly to your Lovense toys via the Lovense Remote app.

## 🎯 What Does This Do?

- **GetToys**: See what's connected
- **SendFunction**: Basic vibration control (with pulsing patterns via loops!)
- **SendPattern**: Custom intensity sequences
- **SendPreset**: Built-in Lovense patterns (pulse, wave, fireworks, earthquake)
- **SendStopFunction**: Emergency stop

## 📋 Requirements

- **Windows, Mac, or Linux**
- **Python 3.10+** ([Download here](https://www.python.org/downloads/))
- **Claude Desktop** ([Download here](https://claude.ai/download))
- **Lovense Remote app** on your phone (iOS/Android)
- Your toys connected to Lovense Remote app

## 🚀 Quick Installation (Easy Mode)

### Step 1: Download This Package
1. Download `lovense-remotemcp-v5-corrected.zip`
2. Unzip it somewhere you'll remember (like `Documents/LovenseMCP`)

### Step 2: Install Python Dependencies
Open a terminal/command prompt in the unzipped folder and run:
```bash
pip install -r requirements.txt
```

### Step 3: Get Your Lovense Remote Info
1. Open **Lovense Remote** app on your phone
2. Go to **Settings** → **Game Mode**
3. Enable Game Mode
4. Note down:
   - **Local IP** (example: `192.168.1.167`)
   - **HTTPS Port** (usually `30010`)

### Step 4: Configure Claude Desktop

#### On Windows:
1. Open: `%APPDATA%\Claude\claude_desktop_config.json`
2. Add this (update the path and IP):

```json
{
  "mcpServers": {
    "lovense-remote": {
      "command": "python",
      "args": [
        "C:\\Users\\YourName\\Documents\\LovenseMCP\\local.mcpb.lovense.lovense-remotemcp\\RemoteMCP.py",
        "GAME_MODE_IP=192.168.1.167",
        "GAME_MODE_PORT=30010"
      ]
    }
  }
}
```

#### On Mac:
1. Open: `~/Library/Application Support/Claude/claude_desktop_config.json`
2. Add this (update the path and IP):

```json
{
  "mcpServers": {
    "lovense-remote": {
      "command": "python3",
      "args": [
        "/Users/YourName/Documents/LovenseMCP/local.mcpb.lovense.lovense-remotemcp/RemoteMCP.py",
        "GAME_MODE_IP=192.168.1.167",
        "GAME_MODE_PORT=30010"
      ]
    }
  }
}
```

#### On Linux:
1. Open: `~/.config/Claude/claude_desktop_config.json`
2. Add this (update the path and IP):

```json
{
  "mcpServers": {
    "lovense-remote": {
      "command": "python3",
      "args": [
        "/home/yourname/Documents/LovenseMCP/local.mcpb.lovense.lovense-remotemcp/RemoteMCP.py",
        "GAME_MODE_IP=192.168.1.167",
        "GAME_MODE_PORT=30010"
      ]
    }
  }
}
```

### Step 5: Restart Claude Desktop
Close and reopen Claude Desktop completely. Look for the 🔌 icon - you should see "lovense-remote" listed!

## 🎮 How to Use

Once connected, just tell Claude what you want:

**Examples:**
- "Check if my toy is connected"
- "Give me a light vibration for 5 seconds"
- "Run the wave preset for 10 seconds"
- "Create a building intensity pattern"
- "Pulse between 10 and 20 intensity for 30 seconds"
- "Stop everything right now"

Claude will use the appropriate commands automatically!

## 🎨 Pattern Examples

### Simple Wave
```
pattern: "5;10;15;20;15;10;5"
duration: 10 seconds
Result: Smooth up and down
```

### Pulse
```
pattern: "0;20;0;20;0;20"
duration: 10 seconds
Result: On/off pulses
```

### Building Edge
```
pattern: "5;5;10;10;15;15;20;20;20"
duration: 15 seconds
Result: Gradual intensity build
```

### Heartbeat
```
pattern: "0;15;20;15;0;0;0;0"
duration: 10 seconds
Result: Thump-thump... thump-thump...
```

## 🔧 Troubleshooting

### "Domain URL not initialized"
- Check your IP address is correct in `claude_desktop_config.json`
- Make sure Game Mode is enabled in Lovense Remote app
- Verify you're on the same WiFi network

### "Connection refused" or timeout
- Firewall might be blocking connection
- Ensure phone and computer are on same network
- Try restarting Lovense Remote app

### MCP server not showing up
- Check Python is installed: `python --version` or `python3 --version`
- Verify the file path in config is correct (use full path, not relative)
- Check Claude Desktop logs: Help → View Logs

### Pattern/Preset returns 404
- Make sure you downloaded v5 (the corrected version!)
- Pattern format: semicolon-separated numbers (e.g., "5;10;15")
- Preset names: "pulse", "wave", "fireworks", "earthquake" (lowercase)

## 🎯 Advanced Usage

### Using Loop Parameters for Rhythms
```
SendFunction with:
- action: "Vibrate:15"
- duration: 30
- loop_running_sec: 2
- loop_pause_sec: 1

Result: 2 seconds on, 1 second off, for 30 seconds total
```

### Targeting Specific Toys
If you have multiple toys connected, get their IDs with `GetToys`, then:
```
toy_id: "6c5cb15b5715"  (your specific toy)
```

## ⚠️ Safety Notes

- Always test patterns on low intensity first
- Use `SendStopFunction` as emergency stop
- Keep your phone nearby in case you need to force disconnect
- Stay hydrated (seriously, endurance scenes need water breaks)

## 📝 Version Notes

**v5 (Current)**
- ✅ Fixed SendPattern (proper API format)
- ✅ Fixed SendPreset (string names instead of numbers)
- ✅ All commands tested and working

## 🤝 Credits

Built with love for the community. Share freely, use responsibly, have fun!

## 💬 Support

If something's not working:
1. Check troubleshooting section above
2. Verify all requirements are installed
3. Double-check your config file syntax (JSON is picky about commas!)
4. Make sure you're using v5 (the fixed version)

---

**Enjoy your AI-controlled adventures! 💜**
