McPet
MCP server of a desktop pet: session status, token usage, McDonald's and Luckin Coffee coupons and orders with confirmation
- 313 ★ on the repository
- Last commit
Broad access
Why this level
- The server places real orders, claims coupons and cancels orders in food service accounts.
- Personal McDonald's and Luckin tokens are stored in `.env` on the machine.
Install
- Works in
Manual install
python -m pip install -r requirements-agent.txtThe command for the agent package from the Agent section of the README; then `python -m src.agent_install` prints the server settings.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The server places real orders, claims coupons and cancels orders in food service accounts.
- Personal McDonald's and Luckin tokens are stored in `.env` on the machine.
This is third-party code. Review the repository files before installing.
What it does
McPet is a desktop pet that ships an MCP server for agents (stdio). Through the `mcpet_*` tools an agent shows session progress and local token usage, the DeepSeek balance, and switches the pet character and its outfits. The server also finds McDonald's coupons and prices, picks coffee at Luckin, calculates nutrition and keeps a food diary. Claiming a coupon, ordering and cancelling are first shown in a summary and run only after explicit confirmation. Default limits are 100 yuan per order and three orders a day. The user pays for the order in the brand app. The repository includes a skill, `.agents/skills/mcpet/SKILL.md`, describing the call order.
Who it is for. Claude Code and other MCP client users who order food and coffee right from a session and track token usage.
Good fit when
- Between tasks you want to know whether a McDonald's lunch coupon exists without opening the app.
- A Luckin coffee is chosen with its recipe price and the order is placed after confirmation.
- You want to watch token usage and the remaining DeepSeek balance.
- Meals go into a diary: the agent finds the dish and records the portions eaten.
Not a fit when
- Connecting to other people's accounts is not an option: the shared trial credentials suit testing only.
- Orders are not trusted to an agent even with confirmation, since they create real items in the account.
- The pet needs stable macOS or Linux, where tray and desktop compatibility is not fully verified.
Example request
Which McDonald's coupons are there today? Only show them first and order nothing.MCP
- Transport
- stdio
- Authentication
- API key
Limitations
The current release is v0.1.0 in Python and Qt: real orders, payment and a full host session still await manual acceptance. Trial mode uses a shared public account; for steady use set your own McDonald's and Luckin tokens. Usage data comes only from readable logs and unknown values stay unknown. Documentation is mostly in Chinese. The pet and the MCP server share one data folder, so run them under the same user.
How to disable. Remove the `mcpet` server from the agent MCP settings and reload the session. Quit the pet from the tray and delete the data folder and personal tokens in `.env` separately.
FAQ
How do I connect McPet to an agent?
Download the agent package from the release or clone the repository, run `python -m pip install -r requirements-agent.txt`, then `python -m src.agent_install`. Put the printed `server.command` and `server.args` into the MCP settings as `mcpet` with stdio transport.
Are McDonald's and Luckin tokens required?
Not to try it: the latest source includes shared trial credentials. For steady use enter your own tokens in settings, which take priority.
What does order confirmation do?
The agent shows a summary with every order detail and only after explicit agreement calls `mcpet_confirm_order`. Limits of 100 yuan per order and three orders a day also apply.
What does `delivery_unknown` mean?
It is unknown whether the request reached the service. Do not resubmit it: check the order in the official app first.
What does the pet do without an agent?
It wanders the desktop, changes outfits, shows session progress and usage, and by default reminds about lunch at 11:30 and coffee at 15:00. Settings are changed in the pet menu.
Discussion
No questions or reviews yet.
Related
MCP serversDesktop pet with a CLI and a skill: an agent keeps sticky notes on the desktop while the console calls the McDonald's MCP service
CLI and skill for McDonald's China orders: pick a meal by calories, price it with coupons and hold the order until confirmed.
McButler (mcd-self-butler)
mcd-self-butler
McButler works out calories and the full cost of an order, including travel and queue time, from the McDonald's China MCP
A skill for ordering from McDonald's China via its official MCP: coupon-aware prices, nutrition, order status and a quiet summary.
McMates: a McDonald's China ordering skill with memory
mcd-1024-skill
A skill over the McDonald's China MCP: one order pick, memory of your past orders and a Big Mac price index across cities
An agent skill that goes through McDonald's China menus and coupons and picks the lowest-priced order
README in short
The project pairs a PySide6 desktop pet with an MCP server exposing the same features. The skill describes request routing, and tool schemas sit in `docs/mcp-schemas.json`.