# PetKit [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/dirkjanfaber/mcp-server-petkit  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/petkit

## Description
Unofficial MCP server for PetKit smart feeders: status, feeding history and schedule control.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "petkit": {
    "command": "npx",
    "args": ["-y","mcp-server-petkit"],
    "env": {
      "PETKIT_EMAIL": "",
      "PETKIT_PASSWORD": "",
      "PETKIT_REGION": "",
      "PETKIT_TIMEZONE": "",
      "MCP_PUBLIC_URL": "",
      "MCP_OWNER_PASSWORD": "",
      "MCP_HOST": "",
      "MCP_PORT": ""
    }
  }
}
```

**Requires environment variables:** `PETKIT_EMAIL`, `PETKIT_PASSWORD`, `PETKIT_REGION`, `PETKIT_TIMEZONE`, `MCP_PUBLIC_URL`, `MCP_OWNER_PASSWORD`, `MCP_HOST`, `MCP_PORT` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What the PetKit MCP server does

The PetKit MCP server exposes PetKit cloud operations for the Fresh Element Solo feeder, identified by device type D4. It is designed for MCP clients that need to inspect feeder state or perform feeding actions through an agent interface.

The server can list supported feeders and report live food, battery, and desiccant information, along with lock, light, and sound settings. It also returns feeding totals and the current day's scheduled meals, including readable times, portions, and meal names.

Available actions include dispensing one of the D4's accepted portions, changing numeric feeder settings, skipping a scheduled meal for the current day, and restoring a meal that was skipped. Skipping affects today's occurrence and does not alter the recurring weekly plan.

## How it works

The PetKit MCP server authenticates against the PetKit cloud service using the account email, password, and region supplied through environment variables. The optional timezone setting controls timezone handling and otherwise defaults to the host's timezone.

Portion amounts are limited to 10, 20, 30, 40, or 50. Scheduled-feed operations use the meal's feed time, represented as seconds since midnight. Common numeric settings include the child lock, indicator light, dispense tone, and shortage alarm, but other reported keys are not confirmed.

Feeding totals describe what a physical feeder dispensed. PetKit does not identify which cat consumed each portion, so the returned totals cannot distinguish between cats sharing a feeder or taking each other's food.

## Setup and configuration

Install or run the package with the documented `npx mcp-server-petkit` command and provide `PETKIT_EMAIL`, `PETKIT_PASSWORD`, and `PETKIT_REGION`. The region must exactly match the region name shown in the PetKit app. `PETKIT_TIMEZONE` is optional.

Claude Desktop can start the server as a stdio MCP process through its `claude_desktop_config.json` file. The README also documents an HTTP mode for claude.ai and Claude mobile apps. HTTP mode requires a public HTTPS URL, an owner passphrase of at least 12 characters, and the relevant `MCP_*` settings. Docker images are published for amd64, arm64, and arm/v7 systems.

HTTP mode stores OAuth client and refresh-token state in a configurable file. The server is intended for one PetKit account session; another PetKit app or server using that account can sign the account out.

## Tools and capabilities

- `list_feeders`: Lists Fresh Element Solo feeders with live state and today's feeding data.
- `feed_now`: Dispenses food immediately using a supported portion amount.
- `update_feeder_setting`: Changes a numeric feeder setting.
- `skip_scheduled_feed`: Skips one scheduled meal for the current day.
- `restore_scheduled_feed`: Restores a meal skipped for the current day.

## Limitations and notes

The PetKit MCP server is an independent community integration and is not affiliated with PetKit. Its underlying API is unofficial and reverse-engineered, so endpoints may change or stop working without notice. PetKit passwords are limited to 6–14 characters; a longer password can produce the same generic login error as incorrect credentials.

HTTP deployments must protect the owner passphrase and avoid exposing the server directly alongside a proxy. Anyone with authorization can use tools that dispense food or modify the feeding plan. The server trusts one proxy hop for rate limiting, and its public URL must match the configured `MCP_PUBLIC_URL`.

_Full upstream README: https://allmcps.com/mcp/petkit/readme_

