sharkclean-mcp
MCP server for SharkClean / SharkNinja robot vacuums — start cleanings, clean rooms, dock, and check status from any MCP client
Install / Use
claude mcp add a-funk -- npx -y github:a-funk/sharkclean-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of sharkclean-mcp
sharkclean-mcp scores 72/100 on our quality scale, 2635th of 2,872 Automation skills we index.
Its MCP Server is 5.6 KB long, well organised into 9 sections with 5 code examples: a solid amount of guidance for an agent.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 95/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
sharkclean-mcp compared with similar skills
All 4 of these similar skills score higher than sharkclean-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| sharkclean-mcp (this skill)by a-funk | 72 | 10 | 5mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 98.8k | 1d ago | MCP Server |
Frequently asked questions
- How do I install sharkclean-mcp?
- Run
claude mcp add a-funk -- npx -y github:a-funk/sharkclean-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does sharkclean-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is sharkclean-mcp safe to use?
- It is MIT-licensed and scores 95/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is sharkclean-mcp still maintained?
- The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubsharkclean-mcp
An MCP server for SharkClean / SharkNinja robot vacuums. Lets any MCP client (Claude Code, Claude Desktop, etc.) start cleanings, clean specific rooms, send the robot home, and check status — agentically, in plain language.
Unofficial — not affiliated with or endorsed by SharkNinja.
All commands go through SharkNinja's current cloud ("skegox") — the same backend the SharkClean app uses — so the robot behaves exactly as if driven from the app, with no hardware modification.
Why not the Ayla cloud? The widely-used
sharkiqSDK (and the Home Assistant Shark IQ integration built on it) talk to SharkNinja's legacy Ayla IoT cloud. Newer robots (Matrix, AI Ultra, Mach 2, the RV2500+ generation) have been migrated off Ayla onto the skegox backend. On Ayla those robots show up permanently "Offline" with a frozen, stale room map, even though the app controls them fine. This server talks to skegox directly, which is why it works with the newer robots thatsharkiqcan't reach. The reverse engineering of the skegox API is owed to the shark2mqtt project.
Tools
| Tool | What it does |
|---|---|
| list_robots | List robots on the account (name, device id) |
| get_status | Live state: cleaning/paused/docked, battery %, charging, power mode, online, errors |
| start_cleaning | Whole-home clean, optional power mode (eco/normal/max) |
| list_rooms | Rooms the robot knows from its current map (with floor id + last-updated) |
| clean_rooms | Clean only specific rooms (validated against the live map) |
| pause_cleaning / resume_cleaning / stop_cleaning | Run control |
| return_to_dock | Send the robot home to recharge / self-empty |
| set_power_mode | Suction: eco, normal, max |
| locate_robot | Make the robot beep |
start_cleaning and clean_rooms first check the robot is online and refuse if it isn't,
so commands don't silently vanish. Multi-robot accounts are supported — every tool takes an
optional robot argument (name or device id). With one robot, omit it.
Setup
Requires uv and Python ≥ 3.10.
git clone https://github.com/a-funk/sharkclean-mcp
cd sharkclean-mcp
uv sync
cp .env.example .env # add your SharkClean app email + password
uv run shark-mcp-auth # one-time browser login (see below)
uv run shark-mcp-doctor # confirm: prints your robot + current room map
One-time login (shark-mcp-auth)
SharkNinja's Auth0 tenant blocks headless password logins, so the first login happens in your browser using the SharkClean app's own PKCE flow:
shark-mcp-authopens the real SharkClean login page.- Log in. The browser then tries to redirect to
com.sharkninja.shark://...and usually shows an error, blank page, or an "Open SharkClean?" dialog — that's expected. - Copy that full
com.sharkninja.shark://...URL (from the address bar, browser history, or the DevTools Network tab with "Preserve log" on) and paste it at the prompt.
That's it. Tokens are cached at ~/.config/shark-mcp/tokens.json (mode 600) and refreshed
automatically; you won't need the browser again. See SECURITY.md for how
credentials are handled.
Register with your MCP client
Claude Code (user-wide):
claude mcp add --scope user sharkclean -- uv run --directory /ABSOLUTE/PATH/TO/sharkclean-mcp shark-mcp
Or copy .mcp.json.example to .mcp.json, set the absolute path, and Claude Code will pick
it up automatically when opened in this directory.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"sharkclean": {
"command": "uv",
"args": ["run", "--directory", "/ABSOLUTE/PATH/TO/sharkclean-mcp", "shark-mcp"]
}
}
}
Credentials come from environment variables or the .env file: SHARKCLEAN_EMAIL,
SHARKCLEAN_PASSWORD, and optionally SHARKCLEAN_REGION=eu.
Example prompts
- "Start a max-power clean."
- "Vacuum the kitchen and the living room."
- "Is the shark done? What's its battery at?"
- "Send the robot back to its dock."
Command-line control
Beyond the MCP server, shark-mcp-rc drives the robot from a shell (handy for scripts/cron):
uv run shark-mcp-rc status
uv run shark-mcp-rc rooms
uv run shark-mcp-rc clean Kitchen "Living Room"
uv run shark-mcp-rc start max
uv run shark-mcp-rc dock
Development
uv run pytest # unit tests (fake robot, no cloud calls)
uv run shark-mcp # run the server on stdio
uv run shark-mcp-doctor # live end-to-end check against the cloud
See CONTRIBUTING.md. If your robot works, add it to CONFIRMED_MODELS.md.
Notes & limitations
- Auth: the one-time browser login (
shark-mcp-auth) yields an Auth0 refresh token, cached at~/.config/shark-mcp/tokens.json. The server mints short-lived skegox id_tokens from it. SharkNinja's Auth0 tenant rotates refresh tokens, so the server persists the rotated token on every refresh — if you seeinvalid_grant, re-runshark-mcp-auth. - Headless/scripted password login is blocked by Auth0 bot detection ("Suspicious request requires verification"); the browser flow is the reliable path.
- Room targeting (
clean_rooms) requires a robot with a completed map; older models without room support report no rooms. - This is unofficial, built on community reverse engineering. SharkNinja can change the backend at any time.
Related Skills
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
98.8k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
