Skip to main content

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)
  • Claude Desktop (Download here)
  • 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:

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):
{
  "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):
{
  "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):
{
  "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! 💜

Metadata

Release files for iflow-mcp_mirideanimator_lovense-remotemcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_mirideanimator_lovense-remotemcp 1.0.0
File Size Uploaded
iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_mirideanimator_lovense-remotemcp 1.0.0
File Interpreter ABI Platform
iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.6 kB

Release files / iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0.tar.gz

Download URL iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3294e47ae6e88f354f0d6c14da518baf4c1e37c8ed6e556d72984c10b3d8dd71
BLAKE2b-256 checksum
How to use checksums
e95b5ef049754f8f92ddd6e751365a38e84275078bb1021f501aef6d2fd4ef01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0-py3-none-any.whl

Download URL iflow_mcp_mirideanimator_lovense_remotemcp-1.0.0-py3-none-any.whl
Size 20.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e3e43cc2dee16ccce4cb9a7c578d839ae7ac20fae51cd9d6b11a12044dd81a2
BLAKE2b-256 checksum
How to use checksums
358882745b5214b29cafee8b0181c052333a5f157de8b9284790bdc6db53faf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page