Skip to main content
Glama
README.md
# LifeUp MCP Server

An MCP server that enables Claude to interact with LifeUp Cloud API on your local network. Supports task creation, querying, and achievement matching.

## Quick Start

1. **Install**

    ```bash
    npm install && npm run build
    ```

2. **Configure**

    ```bash
    cp .env.example .env
    ```

    Update `LIFEUP_HOST` to your Android device's IP (find it in LifeUp Settings → HTTP API)

3. **Run**
    ```bash
    npm run start
    ```

## Available Tools

**Task Management**

-   `create_task` - Create a new task with rewards
-   `list_all_tasks` - List all tasks
-   `search_tasks` - Filter tasks by criteria
-   `get_task_history` - View completed tasks
-   `get_task_categories` - List task categories

**Achievements**

-   `list_achievements` - List all achievements
-   `match_task_to_achievements` - Find matching achievements for a task

**User Info**

-   `get_user_info` - User profile and level
-   `list_skills` - Skills and progression
-   `get_coin_balance` - Current coins

**Shop**

-   `list_shop_items` - Browse items
-   `get_shop_categories` - Item categories
-   `search_shop_items` - Search items

**Safe Mutations**

-   `edit_task` - Edit existing tasks
-   `create_achievement` - Create new achievements
-   `update_achievement` - Update achievements
-   `delete_achievement` - Delete achievements
-   `add_shop_item` - Create shop items
-   `edit_shop_item` - Modify shop items
-   `apply_penalty` - Apply resource penalties
-   `edit_skill` - Manage skills

## Environment Variables

```bash
LIFEUP_HOST=10.103.2.235      # Device IP
LIFEUP_PORT=13276              # API port
LIFEUP_API_TOKEN=              # Optional auth token
DEBUG=false                     # Set to 'true' for logging
SAFE_MODE=false                 # Set to 'true' to disable edit/delete mutations
```

## Troubleshooting

**Connection failed?**

-   Ensure LifeUp is running with HTTP API enabled
-   Verify both devices are on the same network
-   Check and update `LIFEUP_HOST` in `.env`

**Achievement data unavailable?**

-   This is expected for some LifeUp versions - the server falls back to categories

**Debug errors?**

```bash
DEBUG=true npm run start
```

## Safe Mode

SAFE_MODE provides protection against accidental data modification:

-   **Enabled** (SAFE_MODE=true): Allows read operations and creating new entities (tasks, achievements, shop items). Blocks editing and deleting existing data.
-   **Disabled** (SAFE_MODE=false): Full access to all 20 tools including edits and deletions.

Useful for testing or when you want Claude to help plan/create but not modify existing data.

## Links

-   [LifeUp Docs](https://docs.lifeupapp.fun/en/#/guide/api)
-   [LifeUp SDK](https://github.com/Ayagikei/LifeUp-SDK)
-   [CLAUDE.md](./CLAUDE.md) - Developer guide

## License

MIT

TDQS

A4/5.0

Scored across 26 tools

Disambiguation5/5

Each tool targets a distinct resource or action (tasks, achievements, shop items, skills, user info, penalties). Even where edit_skill handles creation/deletion, it's clearly described. No overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., create_task, list_achievements, get_coin_balance). No mixing of conventions or unclear naming.

Tool Count5/5

26 tools are well-scoped for a full-featured gamification server, covering all major domains (tasks, achievements, shop, skills, user info) without redundancy. Each tool justifies its presence.

Completeness5/5

The tool set covers CRUD operations for tasks, subtasks, achievements, and shop items, plus reading user info and coin balance. No obvious gaps in lifecycle coverage for the stated domains.

Maintenance

ActivityInactive
ResponsivenessUnresponsive