Content
# Tool List
A casual text-based cat hotel game for AI. The AI acts as a temporary manager, receiving cat customers, observing preferences, arranging rooms, feeding, playing with, petting, and writing logs, gradually completing the cat encyclopedia.
This repository provides two entry points:
- Lightweight Python Entry: Run `cat_hotel.py` or `play.py` directly for a simple script game experience.
- MCP Entry: Call `cat_hotel_mcp.py` for AI clients that support MCP.
The core game is in `cat_hotel.py`. Cat preferences and rare trigger conditions are hidden in the blind play version; AI should not decode or read hidden data, as discovery is part of the gameplay.
## Lightweight Python Entry
This entry does not require MCP dependencies, suitable for quick trial play or AI shell script execution.
```bash
git clone https://github.com/Echoes0302/cat-hotel-mcp.git
cd cat-hotel-mcp
python3 cat_hotel.py help
python3 cat_hotel.py "new 20260629"
python3 cat_hotel.py status
python3 cat_hotel.py journal
```
Continuous input mode is also available:
```bash
python3 play.py
```
The save file for the lightweight Python entry is in the repository directory:
```text
hotel_save.json
```
## MCP Entry
The MCP entry is more suitable for long-term access to AI clients that support tool calls, and can isolate different AI saves using `save_name`.
```bash
git clone https://github.com/Echoes0302/cat-hotel-mcp.git
cd cat-hotel-mcp
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
```
After installation, two commands are available locally:
```bash
cat-hotel-play
cat-hotel-mcp
```
MCP client configuration example:
```json
{
"mcpServers": {
"cat-hotel": {
"command": "/absolute/path/to/cat-hotel-mcp/.venv/bin/cat-hotel-mcp",
"env": {
"CAT_HOTEL_SAVE_DIR": "/absolute/path/to/cat-hotel-saves"
}
}
}
}
```
If `CAT_HOTEL_SAVE_DIR` is not set, MCP saves default to:
```text
~/.cat-hotel-mcp/saves/
```
## MCP Tools
- `cat_hotel_guide()`: Gameplay boundaries and starting instructions for AI.
- `cat_hotel_cmd(command, save_name="default")`: Execute any game command.
- `cat_hotel_new(save_name="default", seed=20260629)`: Create a new save.
- `cat_hotel_status(save_name="default")`: View today's status.
- `cat_hotel_help(save_name="default")`: View game commands.
- `cat_hotel_export(save_name="default")`: Export save.
- `cat_hotel_import(save_data, save_name="default")`: Import save.
- `cat_hotel_list_saves()`: List MCP-managed saves.
`save_name` is used to isolate different AI progress, for example:
```text
vesper
clavis
mimo
```
## AI Gameplay Suggestions
For AI's first play:
```text
cat_hotel_new(save_name="vesper")
cat_hotel_status(save_name="vesper")
cat_hotel_help(save_name="vesper")
```
Subsequent use:
```text
cat_hotel_cmd(command="look 大厅", save_name="vesper")
cat_hotel_cmd(command="arrange", save_name="vesper")
cat_hotel_cmd(command="journal", save_name="vesper")
```
Suggest AI play like a real temporary manager: observe, then arrange, mistakes are okay, and cats will give clues through reactions.
## Common Game Commands
```text
status
look 大厅 / look 101 / look 橘子
shop
weather
buy 三文鱼 2
check 房间
assign 奶霜 102
arrange
decorate 102 纸箱
serve 奶霜 温牛奶
play 奶霜 纸箱
pet 奶霜 耳后
talk 奶霜
midnight
clean 102
journal
encyclopedia
achievements
upgrade stamina / budget / room / memory_book / night_watch
end_day
export / import_save
```
Supports batching with semicolons:
```text
buy 温牛奶 1; assign 奶霜 102; serve 奶霜 温牛奶; pet 奶霜 耳后
```
## Current Content
- 24 cats: common, rare, and legendary tiers.
- Each cat has a text portrait hint and exclusive rare gift.
- 5 weather conditions: sunny, cloudy, light rain, strong wind, and cold night.
- Rare cat trigger conditions: hotel level, weather, cat climbing frame/high-rise room, midnight cat gathering, etc.
- Midnight patrol: `midnight`, may trigger midnight cat gathering and subsequent rare cats.
- Stamina, daily budget, small fish, hotel upgrades: stamina/budget can be multi-level improved, rooms and night patrol can be unlocked, and memory book will enhance `journal`.
- Cat encyclopedia and 19 achievements.