MCP server
MCP serverBeta
Connect an AI assistant to a Fluffer user’s toy with the Fluffer MCP server: setup, tools and safety.
Fluffer has a Model Context Protocol server, so AI assistants and agents can use the same commands as the Remote API: vibrate, rotate, play patterns, stop, and send tips. It runs on the user’s own key, with the same consent and limits.
#Connect
- Server URL:
https://api.fluffer.app/mcp - Transport: Streamable HTTP (stateless)
- Authentication: the header
Authorization: Bearer flk_…with a key from the Fluffer app (how to get one)
Claude Code
claude mcp add --transport http fluffer https://api.fluffer.app/mcp \
--header "Authorization: Bearer $FLUFFER_KEY"
Clients configured with JSON (the exact file and keys depend on the client):
{
"mcpServers": {
"fluffer": {
"type": "http",
"url": "https://api.fluffer.app/mcp",
"headers": { "Authorization": "Bearer flk_your_key_here" }
}
}
}
The client must be able to send a custom header. Sign-in with a Fluffer account (OAuth), for clients that need it, is coming later.
#Tools
| Tool | What it does | Scope |
|---|---|---|
get_access | Shows what this key may do. | any |
get_status | Whether the user’s app is listening, their toy and battery, and each motor’s state. | device.status |
get_command_result | What the app did with a command (id from a command tool): played, partly or refused, with a reason such as motor_off. | any (its own commands); device.status (all) |
vibrate | Vibrates for a while (strength 0–1, duration_ms up to 15 minutes). | device.control |
rotate | Rotation for toys that have it (speed −1–1). | device.control |
play_pattern | Plays a named pattern (pulse, wave, heartbeat, …) with optional params. | device.control |
stop | Stops the toy now. | any |
send_tip | Sends a tip event (adds fuel; games may react). | tips.publish |
add_fuel | Adds Tip4Fuel fuel directly. | device.fuel |
Tool arguments and limits are the same as the matching API endpoints, and command tools return the command’s id. A tool that fails returns an error result (for example, a missing scope or a revoked key) instead of crashing the session.
#Try it
Once connected, ask your assistant things like:
- “Check what my Fluffer key can do.”
- “Is my toy connected? How’s its battery?”
- “Play a slow wave at half strength for two minutes.”
- “Do a heartbeat at 70 bpm until I say stop.” Then: “Stop.”
#Safety
Everything in Limits and safety applies: nothing runs unless the user turned Remote control on, every motion stops by itself within 15 minutes, the user’s power limits apply, and Stop in the app ends it and pauses remote control until they resume.