lifeup-mcp
Allows interaction with the LifeUp app on Android devices, enabling task management, achievement operations, user info retrieval, and shop management through the LifeUp Cloud API over the local network.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lifeup-mcpcreate a task to exercise for 30 minutes with 100 coin reward"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Install
npm install && npm run buildConfigure
cp .env.example .envUpdate
LIFEUP_HOSTto your Android device's IP (find it in LifeUp Settings → HTTP API)Run
npm run start
Related MCP server: ticktick-mcp
Available Tools
Task Management
create_task- Create a new task with rewardslist_all_tasks- List all taskssearch_tasks- Filter tasks by criteriaget_task_history- View completed tasksget_task_categories- List task categories
Achievements
list_achievements- List all achievementsmatch_task_to_achievements- Find matching achievements for a task
User Info
get_user_info- User profile and levellist_skills- Skills and progressionget_coin_balance- Current coins
Shop
list_shop_items- Browse itemsget_shop_categories- Item categoriessearch_shop_items- Search items
Safe Mutations
edit_task- Edit existing taskscreate_achievement- Create new achievementsupdate_achievement- Update achievementsdelete_achievement- Delete achievementsadd_shop_item- Create shop itemsedit_shop_item- Modify shop itemsapply_penalty- Apply resource penaltiesedit_skill- Manage skills
Environment Variables
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 mutationsTroubleshooting
Connection failed?
Ensure LifeUp is running with HTTP API enabled
Verify both devices are on the same network
Check and update
LIFEUP_HOSTin.env
Achievement data unavailable?
This is expected for some LifeUp versions - the server falls back to categories
Debug errors?
DEBUG=true npm run startSafe 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
CLAUDE.md - Developer guide
License
MIT
Available Tools
26 toolsadd_shop_itemB
Create a new shop item with price, stock, effects, and purchase limits. Items can have custom usage effects like coin rewards, exp bonuses, or special actions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Item name (required) | |
| desc | No | Item description | |
| icon | No | Icon URL | |
| title_color_string | No | Title color in hex format (e.g., "#66CCFF") | |
| price | No | Purchase price in coins (default: 0) | |
| stock_number | No | Initial stock quantity (-1 for unlimited, default: -1) | |
| action_text | No | Custom text for use button | |
| disable_purchase | No | Disable purchasing (default: false) | |
| disable_use | No | Disable using (default: false) | |
| category | No | Category ID (0 for default) | |
| effects | No | Item usage effects. Example: [{"type":2,"info":{"min":100,"max":200}}] for coin reward | |
| purchase_limit | No | Purchase frequency limits. Example: [{"type":"daily","value":5}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as being destructive, requiring authentication, or having rate limits. For a creation tool, the description lacks important safety and side-effect information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. Every sentence adds value: the first states the action and key attributes, the second provides a concrete example of custom effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters and no output schema, the description lacks details on return values, success indicators, required permissions, or side effects. It is not complete enough for an agent to use effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all parameters documented. The description adds examples of custom effects (coin rewards, exp bonuses), which adds value beyond the schema, but does not significantly enhance understanding of complex parameters like effects or purchase_limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Create a new shop item' with specific attributes (price, stock, effects, purchase limits) and examples of custom effects, distinguishing it from sibling tools like edit_shop_item or list_shop_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no context for when not to use it. Users must infer from the tool name and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_penaltyA
Apply a penalty to the player (coins, experience points, or items) with a custom reason. The reason will be displayed in history pages. Use this to subtract resources directly.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Penalty type: coin=coins, exp=experience points, item=shop items | |
| content | Yes | Reason for penalty (displayed in history) | |
| number | Yes | Amount to penalize (max: 999999 for coin, 99999 for exp, 999 for items) | |
| skills | No | Skill/attribute IDs (only for exp type) | |
| item_id | No | Item ID (only for item type, one of item_id or item_name required) | |
| item_name | No | Item name for fuzzy match (only for item type, one of item_id or item_name required) | |
| silent | No | Disable UI prompts (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must carry behavioral disclosure. It notes the reason appears in history and implies subtraction, but lacks details on reversibility, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core action and reason display. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotation richness, the description adequately explains the tool's function, parameters are fully documented in schema, and the tool's write nature doesn't require elaborate return value description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides 100% coverage of parameter descriptions. Description adds no additional meaning beyond the schema, only restating the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'apply' and resource 'penalty', lists what can be penalized (coins, exp, items), and distinguishes from sibling tools that add or edit items/achievements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use this to subtract resources directly', providing clear usage context. However, no explicit when-not to use or alternative tools mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_achievementA
Create a new custom achievement with unlock conditions and rewards. Requires achievement name and category ID. Optionally specify unlock conditions (JSON array), experience/coin rewards, skill rewards, item rewards, and appearance settings. Created achievements are locked by default.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Achievement name (required, max 100 characters) | |
| category_id | Yes | Achievement category/list ID (required) | |
| desc | No | Achievement description (optional, max 500 characters) | |
| conditions_json | No | Unlock conditions as JSON array (optional). Format: [{"type":7,"target":1000000}]. Common types: 0=task completion, 3=pomodoro, 6=daily streak, 7=coins, 13=skill level, 14=life level | |
| exp | No | Experience points reward (optional). IMPORTANT: Must specify skills array to apply XP to attributes. | |
| coin | No | Coin reward (optional, 0-999999) | |
| coin_var | No | Coin reward variation/randomness (optional) | |
| skills | No | Skill/attribute IDs to receive XP rewards. Required when setting exp parameter. Without skills, XP cannot be applied. | |
| items | No | Item rewards (optional). Format: [{"item_id":1,"amount":2}] | |
| item_id | No | Single item reward ID (optional, alternative to items array) | |
| item_amount | No | Single item reward amount (optional, 1-99) | |
| secret | No | Hidden achievement (optional, default: false) | |
| color | No | Title color in hex format (optional, e.g., "#66CCFF") | |
| unlocked | No | Create as already unlocked (optional, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that created achievements are locked by default and that XP requires the skills array. However, it does not explain whether the creation is idempotent, the response format, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of four sentences, efficiently front-loading the core action and then listing options. It avoids redundancy but could use brief bullet points for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters and no output schema, the description covers the essential creation logic and critical constraints (XP+skills). However, it omits return values, error handling, and prerequisites beyond required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context by emphasizing that XP requires skills and that achievements are locked by default. It also summarizes optional parameters, which helps the agent prioritize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and resource ('achievement') and specifies 'custom achievement with unlock conditions and rewards'. Sibling tools like 'update_achievement' and 'delete_achievement' make the distinction obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions required fields (name, category_id) and optional parameters, and notes that achievements are locked by default. However, it does not provide explicit guidance on when to use this tool versus alternatives like 'update_achievement' or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subtaskA
Create a new subtask for an existing task in LifeUp. Subtasks are smaller action items that belong to a parent task. You must specify the parent task using at least one identifier (main_id, main_gid, or main_name). Subtasks can have their own rewards, reminders, and item rewards.
| Name | Required | Description | Default |
|---|---|---|---|
| main_id | No | Parent task ID (one of main_id, main_gid, or main_name is required) | |
| main_gid | No | Parent task group ID (one of main_id, main_gid, or main_name is required) | |
| main_name | No | Parent task name (one of main_id, main_gid, or main_name is required) | |
| todo | Yes | Subtask content/description (required, max 200 characters) | |
| order | No | Position/order of subtask in the list (optional) | |
| coin | No | Coin reward for completing this subtask (optional, 0-999999) | |
| coin_var | No | Coin variance/randomness (optional) | |
| exp | No | Experience points reward (optional, 0-99999) | |
| auto_use_item | No | Automatically use/consume item rewards when subtask is completed (optional) | |
| item_id | No | Item ID for reward (optional, one of item_id or item_name) | |
| item_name | No | Item name for reward (optional, one of item_id or item_name) | |
| item_amount | No | Amount of item to reward (optional, 1-99) | |
| items | No | Array of item rewards (optional, alternative to item_id/item_name) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds value by mentioning reward capabilities and required parent identifiers. However, it does not disclose behavioral traits like error handling, authentication needs, or what happens if the parent task does not exist, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences, front-loading the main action. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 13 parameters and no output schema, the description covers the core purpose and identifies key parameters like parent identifiers and rewards. However, it omits return value details and error handling, which would be helpful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all parameters (100%), so the description adds limited meaning beyond grouping reward parameters. It reinforces the need for parent identifiers but does not provide new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a subtask for an existing task, distinguishing it from siblings like create_task and edit_subtask. It specifies the verb 'create', the resource 'subtask', and the context of a parent task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that at least one parent identifier is required and that subtasks can have rewards, providing clear context. However, it lacks explicit exclusions or when-not-to-use guidance, such as when to prefer create_task or edit_subtask.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskA
Create a new task in LifeUp. Specify task name and optional rewards (experience points and coins). When setting XP, you must provide skillIds to indicate which attributes receive the XP. The task will be created as an active task in your LifeUp app. This tool will prompt you to confirm the server is running if it cannot connect.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Task name (required, max 200 characters) | |
| exp | No | Experience points reward (optional, non-negative). If specified, must provide skillIds to indicate which attributes receive the XP. When omitted, defaults to 0. | |
| skillIds | No | Skill/attribute IDs to receive XP rewards. Required when setting exp parameter. Supports multiple values (e.g., [1, 2, 3]). | |
| coin | No | Coin reward (optional, non-negative) | |
| categoryId | No | Category/list ID to place the task in (optional) | |
| content | No | Task description/content (optional, max 1000 characters) | |
| auto_use_item | No | Automatically use/consume item rewards when task is completed (optional, defaults to false) | |
| task_type | No | Task type: 0=normal (default), 1=count task, 2=negative task, 3=API task. Count tasks can be completed multiple times. Requires LifeUp v1.99.1+ | |
| target_times | No | Target count for count tasks (required when task_type=1, must be > 0). Example: Set to 5 to create a task that needs to be completed 5 times. | |
| is_affect_shop_reward | No | Whether count affects shop item reward calculations (optional, only valid when task_type=1, defaults to false) | |
| importance | No | Task importance level: 1=Low, 2=Normal, 3=High, 4=Critical (optional, defaults to 1) | |
| difficulty | No | Task difficulty level: 1=Easy, 2=Normal, 3=Hard, 4=Very Hard (optional, defaults to 1) | |
| subtasks | No | Array of subtasks to create with the main task (optional, max 50 subtasks) | |
| frequency | No | Repeat frequency: 0=never, 1=daily, 2=weekly, etc. Special values: -1=Unlimited, -3=Ebbinghaus, -4=Monthly, -5=Yearly. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the task becomes active, the need for skillIds with XP, and a server connection prompt. However, with no annotations, it lacks details on auth requirements, rate limits, or side effects on other data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. It efficiently conveys key constraints in a single paragraph, though it could be slightly more structured (e.g., bullet points for conditions).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters, no output schema, and no annotations, the description adequately covers the main behavior, constraints, and a connection note. It misses return value information but is complete enough for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds minimal extra meaning beyond reiterating the XP-skillIds relationship and max character limits, resulting in marginal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create a new task' and the resource 'LifeUp', and distinguishes the tool from siblings like edit_task, delete_task, list_all_tasks by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use (creating a task) and mentions a key prerequisite (skillIds required when setting XP). However, it does not explicitly exclude alternatives or state when not to use this tool over siblings like create_subtask.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_achievementA
Delete an achievement by ID. This action is permanent and cannot be undone. Use with caution.
| Name | Required | Description | Default |
|---|---|---|---|
| edit_id | Yes | Achievement ID to delete (required) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses irreversibility and permanence. Without annotations, description carries full burden; lacks details on side effects, auth, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, no filler. Front-loaded with core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple delete tool with one param and no output schema. Could mention cascade effects or permissions, but current info is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes the parameter; description adds no extra meaning. Baseline 3 due to 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Delete an achievement by ID' — a specific verb+resource. Distinct from sibling CRUD tools (create, update, list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies cautious use ('Use with caution') but does not specify when to use vs. alternatives (e.g., disabling), nor when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskA
⚠️ Permanently delete a task from your LifeUp app. This action cannot be undone. Requires explicit task ID to prevent accidental deletions. This tool is blocked in SAFE_MODE.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | ID of the task to delete (required) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses irreversibility ('cannot be undone') and SAFE_MODE restriction. This is adequate for a deletion tool, though it could mention permissions or cascading effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a warning emoji, no fluff. Every sentence earns its place: purpose, irreversibility, safety, and restrictions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool (1 param, no output schema), the description covers purpose, behavior, safety, and restrictions. It doesn't explain what happens to associated data (e.g., subtasks), but given the tool's simplicity, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with taskId description already. The description adds safety rationale ('Requires explicit task ID to prevent accidental deletions'), which adds value beyond the schema by clarifying why the parameter is critical.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and resource 'task', and includes a warning emoji for emphasis. It distinguishes from sibling tools like delete_achievement by specifying 'task from your LifeUp app' and adding 'permanently'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly requires a task ID to prevent accidental deletions and notes the tool is blocked in SAFE_MODE, giving clear when-to-use context. It does not compare to alternatives like archiving, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_shop_itemA
Modify an existing shop item. Can adjust price, stock, owned quantity, effects, and other properties. Supports both absolute setting and relative adjustments for numeric values.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Item ID (one of id or name required) | |
| name | No | Item name for fuzzy search (one of id or name required) | |
| set_name | No | Set new item name | |
| set_desc | No | Set new description | |
| set_price | No | Adjust price (use set_price_type to specify how) | |
| set_price_type | No | Price adjustment: absolute=set directly, relative=add/subtract | |
| stock_number | No | Adjust stock (-1 for unlimited) | |
| stock_number_type | No | Stock adjustment: absolute=set directly, relative=add/subtract | |
| own_number | No | Adjust owned quantity | |
| own_number_type | No | Owned quantity adjustment: absolute=set directly, relative=add/subtract | |
| disable_purchase | No | Enable/disable purchasing | |
| disable_use | No | Enable/disable using | |
| effects | No | Set item usage effects (replaces existing) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully inform the agent. It mentions the capability for absolute and relative adjustments but does not disclose side effects, required permissions, reversibility, or return behavior. This leaves gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the high-level purpose, second adds the key nuance of numeric adjustment types. No superfluous words or information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters and no output schema, the description covers broad capabilities but omits details like whether 'effects' replaces existing effects (schema states this but description doesn't), confirmation of changes, or error conditions. For a complex edit tool, more completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds a general statement about relative adjustments, which reinforces schema enums but does not significantly augment understanding of param semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Modify an existing shop item' with a specific verb and resource. It lists key adjustable properties (price, stock, owned quantity, effects) which distinguishes it from 'add_shop_item' that creates items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like 'add_shop_item' or 'delete_achievement'. The description implies modification use via the word 'Modify', but lacks context-specific suggestions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_skillA
Create a new skill or edit an existing skill (name, icon, color, experience). Can also delete skills. Skills represent character attributes that can be leveled up.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Skill ID (required for editing/deleting existing skills) | |
| content | No | Skill name (required when creating new skill) | |
| desc | No | Skill description | |
| icon | No | Icon (can use emoji like 💻) | |
| color | No | Skill color in hex format (e.g., "#FF6B6B") | |
| exp | No | Experience points for this skill | |
| delete | No | Delete flag (only valid when id is provided, default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It discloses operations (create/edit/delete) and notes skills are level-able attributes, but lacks details on side effects, permissions, or irreversible actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. First sentence front-loads the primary actions, second adds context about skills. Efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all operations (CRUD) and explains what skills represent. Lacks return value info, but with complete schema and no output schema, the description is mostly sufficient for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal new meaning. It reiterates editable fields (name, icon, color, experience) and mentions delete flag, but does not enhance understanding beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates, edits, and deletes skills, with specific editable fields (name, icon, color, experience). This distinguishes it from sibling tools like list_skills (reading) and delete_achievement (different entity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use (for skill CRUD) but does not explicitly exclude alternatives or provide when-not guidance. However, context from sibling tools makes usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_subtaskB
Edit an existing subtask in LifeUp. You must specify both the parent task (using main_id, main_gid, or main_name) and the subtask to edit (using edit_id, edit_gid, or edit_name). Supports both absolute and relative value adjustments for coin and experience rewards.
| Name | Required | Description | Default |
|---|---|---|---|
| main_id | No | Parent task ID (one of main_id, main_gid, or main_name is required) | |
| main_gid | No | Parent task group ID (one of main_id, main_gid, or main_name is required) | |
| main_name | No | Parent task name (one of main_id, main_gid, or main_name is required) | |
| edit_id | No | Subtask ID to edit (one of edit_id, edit_gid, or edit_name is required) | |
| edit_gid | No | Subtask group ID to edit (one of edit_id, edit_gid, or edit_name is required) | |
| edit_name | No | Subtask name to edit (one of edit_id, edit_gid, or edit_name is required) | |
| todo | No | Updated subtask content/description (optional, max 200 characters) | |
| order | No | Position/order of subtask in the list (optional) | |
| coin | No | Coin reward (optional, 0-999999) | |
| coin_var | No | Coin variance/randomness (optional) | |
| exp | No | Experience points reward (optional, 0-99999) | |
| coin_set_type | No | How to apply coin value: absolute (replace) or relative (add/subtract) | |
| exp_set_type | No | How to apply exp value: absolute (replace) or relative (add/subtract) | |
| auto_use_item | No | Automatically use/consume item rewards when subtask is completed (optional) | |
| item_id | No | Item ID for reward (optional) | |
| item_name | No | Item name for reward (optional) | |
| item_amount | No | Amount of item to reward (optional, 1-99) | |
| items | No | Array of item rewards (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It describes identification and adjustment types but omits side effects, return values, authorization needs, or whether edits are reversible. Significant behavioral gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, and every sentence adds necessary information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 18 parameters, no output schema, and no annotations, the description is insufficient. It lacks explanation of return values, error handling, or examples, making it incomplete for effective tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter has a description in the schema. The tool description adds value by explaining absolute vs relative adjustments for coin and experience, but does not clarify other parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool edits an existing subtask in LifeUp, specifying the parent task and subtask identification. It distinguishes from siblings like create_subtask and delete_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains required parameters (parent and subtask) and supported value adjustments, but does not explicitly state when to use this tool versus alternatives like edit_task or create_subtask. Usage context is implied but without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_taskA
Edit an existing task in LifeUp. You can modify task name, rewards, category, and other properties. When using exp_set_type="rel" or coin_set_type="rel", the exp and coin values are added to existing values. When using "abs" (absolute), values replace existing ones. This tool is blocked in SAFE_MODE.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Task ID to edit (required) | |
| name | No | New task name (optional) | |
| content | No | New task description/content (optional) | |
| exp | No | New XP reward value. Use exp_set_type to control if this is absolute or relative to current value (optional) | |
| coin | No | New coin reward value. Use coin_set_type to control if this is absolute or relative to current value (optional) | |
| skills | No | Skill/attribute IDs to receive XP rewards (optional) | |
| categoryId | No | Category/list ID to move task to (optional) | |
| auto_use_item | No | Auto-use item rewards (optional) | |
| task_type | No | Task type: 0=normal, 1=count task, 2=negative, 3=API task (optional) | |
| target_times | No | Target count for count tasks (optional, must be > 0 when task_type=1) | |
| is_affect_shop_reward | No | Whether count affects shop rewards (optional) | |
| importance | No | Task importance: 1=Low, 2=Normal, 3=High, 4=Critical (optional) | |
| difficulty | No | Task difficulty: 1=Easy, 2=Normal, 3=Hard, 4=Very Hard (optional) | |
| frequency | No | Repeat frequency: 0=never, 1=daily, 2=weekly, etc. Special values: -1=Unlimited, -3=Ebbinghaus, -4=Monthly, -5=Yearly. | |
| exp_set_type | No | How to apply exp value: "absolute" replaces current, "relative" adds to current (optional, default: absolute) | |
| coin_set_type | No | How to apply coin value: "absolute" replaces current, "relative" adds to current (optional, default: absolute) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It explains the behavior of exp_set_type and coin_set_type (relative vs absolute) and mentions blocking in SAFE_MODE. No annotations are present, so the description covers essential behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences convey the main purpose and key behaviors efficiently, though a bit more structure (e.g., bullet points) could enhance readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 16 parameters and no output schema, the description covers the main action and important behaviors but lacks details on return values, error cases, and prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by clarifying the effect of exp_set_type and coin_set_type beyond the schema, and hints at parameter interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it edits an existing task and lists modifiable properties, clearly distinguishing from sibling tools like create_task and delete_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use (editing existing tasks) and notes a constraint (blocked in SAFE_MODE), but does not explicitly exclude alternatives or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coin_balanceA
Get your current coin balance and currency information. Coins are the in-game currency used to purchase items from the shop. Useful for planning purchases and understanding your economy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It describes a read-only operation implicitly ('Get'), but does not explicitly state it is non-destructive or mention any permissions needed. Adequate but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. Front-loaded with the action and resource. Every sentence adds value: purpose, context, and usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter getter, the description is complete. Explains what the tool does and why to use it. Could optionally specify what 'currency information' includes, but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so there is nothing to describe beyond what the schema already provides. Baseline 4 is appropriate; description adds no parameter info but is not required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get your current coin balance and currency information' with a specific verb and resource. Explains that coins are in-game currency used for shop purchases, differentiating it from sibling tools that deal with tasks, achievements, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context: 'Useful for planning purchases and understanding your economy.' This gives a clear when-to-use scenario. However, it does not explicitly mention when not to use it or suggest alternatives, though the tool is sufficiently unique among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shop_categoriesA
List all shop item categories. Categories help organize items in the shop and make browsing easier.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description implies read-only operation ('list all'), but doesn't disclose additional behavioral traits like pagination, auth requirements, or data freshness. Adequate for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. First sentence states action clearly, second provides optional context. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with no output schema. Description explains purpose but doesn't specify output format (e.g., category IDs, names, order). Minor gap for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema. Description correctly adds no parameter info since not needed. Baseline is 4 for 0-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all shop item categories' with specific verb and resource. Adds context about categories helping organize items, distinguishing from sibling tools like list_shop_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: use this tool to get categories. No explicit when-not or alternatives, but it's clear from context that this is for shop categories specifically.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_categoriesB
List all task categories/lists available in your LifeUp app.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden, but it only says 'List all task categories/lists available.' It does not disclose any behavioral traits such as whether inactive categories are included, pagination, permissions, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is somewhat terse and could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters, the description is minimally complete. It explains the output (categories) but lacks details about possible filters or edge cases (e.g., empty list behavior).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100%. The description adds no additional meaning beyond the schema, but for zero-parameter tools, a baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'task categories/lists', which distinguishes it from sibling tools like list_achievement_categories or get_shop_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites or context for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_detailsA
Get detailed information about a specific task, including rewards, subtasks, timestamps, and completion history. Requires task ID.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | Task ID (required) | |
| includeHistory | No | Include completion history (optional, default: true) | |
| historyLimit | No | Maximum history records to return (optional, default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the read-like behavior and mentions included data fields, but does not address potential side effects, permissions, or limitations such as data volume or pagination. The behavioral traits are adequately implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence is front-loaded with the action and key details, and the second sentence adds the necessary requirement. Every word is functional, with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no output schema, no annotations), the description covers the essential points: what it does, what it includes, and what is required. It lacks some depth about error handling or access scope, but is largely complete for a retrieval operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning to parameters beyond the schema; it merely restates the task ID requirement and lists output fields. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and identifies the resource as 'detailed information about a specific task'. It lists included fields (rewards, subtasks, timestamps, completion history) and states the requirement for a task ID, clearly distinguishing it from sibling tools like get_task_history or list_all_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates use by stating 'Requires task ID', but does not explicitly specify when to use this tool versus alternatives like get_task_history (for history only) or search_tasks. No when-not-to-use or alternative naming provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_historyB
Retrieve your task completion history. Shows recently completed tasks with timestamps and rewards earned. Helpful for understanding your productivity patterns and accomplishments.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | No | Task ID to get history for (optional - if omitted, returns global task history) | |
| offset | No | Number of records to skip for pagination (default: 0) | |
| limit | No | Maximum records to return (default: 100, max: 1000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. States it shows recently completed tasks with timestamps and rewards, but doesn't disclose whether history is per-user or global, any side effects, or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-loaded with action verb and resource. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not explain return format (e.g., structure of history records). For a retrieval tool with 3 optional params, it is adequate but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions (100% coverage). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifically states 'Retrieve your task completion history' with clear verb and resource. Distinguishes from siblings like get_task_details (single task) and list_all_tasks (all tasks) by focusing on completed history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only weakly suggests 'Helpful for understanding productivity patterns' but gives no explicit guidance on when to use this tool versus alternatives like list_all_tasks or get_task_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_infoA
Get user profile information including player name, character level, total experience, and app version. Useful for understanding the current state of your LifeUp account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool reads profile info and lists returned fields, but does not mention authentication requirements, error scenarios, or performance constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences with no redundant information. It front-loads the purpose and lists specific fields efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists expected return fields (player name, level, exp, app version). It is likely sufficient for simple profile retrieval, though it could mention if there are additional fields or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%. According to calibration, a baseline of 4 is appropriate since the description adds no additional parameter semantics beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves user profile information and lists specific fields like player name, character level, total experience, and app version. It distinguishes itself from sibling tools which focus on tasks, shop items, achievements, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it is 'useful for understanding the current state of your LifeUp account,' but does not explicitly specify when to use it over sibling tools like get_coin_balance or get_task_details. Guidance is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_achievement_categoriesA
List all achievement categories. Categories help organize achievements and are needed when creating new achievements. Shows category names, IDs, and descriptions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It describes a read-only operation implicitly but does not explicitly state it is safe or non-destructive. For a simple listing tool, this is adequate but could add 'This is a safe, read-only operation.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no fluff. The first sentence states the core action, the second provides context, and the third specifies output fields. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and sibling tools that include creation operations, the description is complete enough. It tells what the tool returns and why it matters. Could mention if categories are hierarchical or pagination behavior, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters in the input schema, so the description does not need to add parameter info. Baseline for zero parameters is 4. The description does not add any parameter-related meaning, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all achievement categories' with a specific verb and resource. It distinguishes from sibling tools like 'list_achievements' by focusing on categories, not achievements themselves. The additional context about organizing achievements and showing names/IDs/descriptions reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating categories are needed when creating achievements, but it does not explicitly say when to use this tool versus alternatives or when not to use it. It lacks explicit usage guidelines or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_achievementsA
List all available achievements in your LifeUp app. Shows both unlocked and locked achievements with their descriptions and progress. If full achievement data is unavailable in your LifeUp version, shows achievement categories instead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes return content (unlocked/locked achievements with descriptions and progress) and a version-dependent fallback. No annotations exist, so description carries burden well, but no mention of permissions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. Main purpose is front-loaded in the first sentence, and fallback behavior is efficiently added.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters or output schema, the description fully explains what the tool returns and a key behavioral nuance (version-dependent fallback). No gaps for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%. Description does not need to add parameter info, meeting the baseline of 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'list' and resource 'achievements', specifies scope 'all available', and distinguishes from sibling 'list_achievement_categories' by its content and fallback behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for viewing all achievements, and notes a fallback when full data is unavailable, but does not explicitly state when to use this over the sibling tool for categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_all_tasksA
List all tasks from your LifeUp app. Returns active and completed tasks, showing task names, descriptions, and rewards. Useful for reviewing your current workload or understanding task patterns.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns both active and completed tasks along with specific fields, indicating a read-only operation with no side effects. However, it does not mention potential limitations like pagination or performance constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences that convey all necessary information without redundancy. Every sentence adds value: the first states the function and output, the second gives a use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description provides sufficient context for a simple listing tool. It covers the core behavior and retrieval scope, though it could mention ordering or whether tasks are aggregated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (100% coverage), so baseline is 3. The description adds value by explaining what data is returned (task names, descriptions, rewards) without needing parameters, making it informative beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'list', resource 'all tasks', and scope 'from your LifeUp app', making the tool's purpose unambiguous. It also details the returned data (names, descriptions, rewards) and distinguishes from siblings like search_tasks by stating it returns all tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a use case ('useful for reviewing your current workload or understanding task patterns') but does not explicitly state when not to use this tool or mention alternatives like search_tasks for filtered queries. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_shop_itemsA
List all items available in the shop with prices, stock availability, and your owned quantity. Shows both in-stock and out-of-stock items. Useful for browsing available rewards and planning future purchases.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It discloses that the tool shows both in-stock and out-of-stock items and the returned fields, but does not mention potential side effects, rate limits, or other behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each providing essential information with no wasted words. Front-loaded with the primary action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return values (prices, stock, owned quantity) and scope (all items). It lacks details on ordering or pagination, but this is acceptable for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%, so the baseline is 4. The description adds semantic context about the output (prices, stock, owned quantity), but this is not parameter-related.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'items available in the shop' with specific fields (prices, stock, owned quantity). It implicitly differentiates from search_shop_items by indicating it returns all items, but does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage hint ('Useful for browsing available rewards and planning future purchases') but does not specify when not to use it or mention alternatives like search_shop_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsA
List all character skills with their current levels, experience points, and progress toward the next level. Useful for understanding your character progression and which skills to focus on.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only behavior of listing skills with details. No annotations provided, but 'list' implies non-destructive. Could explicitly state safe side-effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and output, followed by purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple listing tool: describes output and use case. No gaps given no parameters or output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description adds value by specifying what is returned (levels, XP, progress). Exceeds baseline of 4 for 0-param tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists all character skills with specific details (levels, XP, progress). Distinguishes from siblings like edit_skill and list_achievements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states usefulness for understanding progression and focusing on skills. Does not mention when not to use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_task_to_achievementsA
Match a task to potentially relevant achievements based on task name and keywords. Helps identify which achievements could be earned by completing specific tasks. Uses keyword matching and category cross-reference. Returns top 5 matches with confidence scores.
| Name | Required | Description | Default |
|---|---|---|---|
| taskName | Yes | Name of the task to match (required) | |
| categoryId | No | Optional category ID for more precise matching |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the algorithm type ('keyword matching and category cross-reference'), output limit ('top 5 matches'), and output type ('confidence scores'). No contradictions or hidden behaviors are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: purpose, utility, and method/output. It is front-loaded with key information and contains no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query-type tool with no output schema, the description adequately explains what the tool does, how it works, and what it returns. It provides enough context to differentiate from sibling tools like 'list_achievements' and 'search_tasks'. Minor gap: confidence score details are not explained, but still sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters already described. The description does not add significant new meaning beyond the schema. It mentions 'keywords' in the method but does clarify what constitutes a keyword. Baseline 3 is appropriate as the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to match a task to potentially relevant achievements. It specifies the verb 'Match', the resources 'task to achievements', and the method ('keyword matching and category cross-reference'). It also distinguishes from siblings like 'list_achievements' which lists all achievements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use: 'Helps identify which achievements could be earned by completing specific tasks.' It implies the context but does not explicitly state when not to use or provide alternatives. However, the purpose is clear enough for an AI agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_shop_itemsA
Search and filter shop items by criteria such as name, category, or price range. Useful for finding specific items or comparing prices across different categories.
| Name | Required | Description | Default |
|---|---|---|---|
| searchQuery | No | Search for items containing this text in name or description (optional) | |
| categoryId | No | Filter by category ID (optional) | |
| minPrice | No | Filter for items with price at least this value (optional) | |
| maxPrice | No | Filter for items with price at most this value (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral aspects like authentication, rate limits, result ordering, or pagination. Lacks details on read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no filler. Efficiently conveys core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description omits return format or result details. Adequate for a simple search but leaves gaps in understanding what the tool produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; descriptions are adequate. Tool description adds minimal extra meaning beyond schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb (search and filter) and resource (shop items). Differentiates from sibling list_shop_items by specifying filtering capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States usefulness for finding specific items or comparing prices, but does not explicitly exclude scenarios or mention sibling list_shop_items as alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tasksA
Search and filter tasks by criteria such as name, status (active/completed), category, or deadline. Useful for finding specific tasks or analyzing tasks by various dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| searchQuery | No | Search for tasks containing this text in name or content (optional) | |
| categoryId | No | Filter by category/list ID (optional) | |
| status | No | Filter by task status (optional, default: all) | |
| deadlineBefore | No | Filter for tasks with deadline before this timestamp (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions filtering criteria but does not disclose search scope (e.g., user-specific), pagination behavior, or what happens if no results match. This is adequate but lacks rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and criteria, followed by a use case. Every sentence adds value without redundancy—highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 optional parameters and no output schema, the description covers the core functionality and usage context. It could mention return format (e.g., list of matching tasks) but is sufficiently complete for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description lists criteria (name, status, category, deadline) but does not add meaning beyond the schema's detailed property descriptions. It provides a summary but no extra semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search and filter tasks by criteria', specifying the action (search/filter) and resource (tasks). It distinguishes from siblings like list_all_tasks (which lists all without filters) and search_shop_items (different resource), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Useful for finding specific tasks or analyzing tasks by various dimensions', which indicates when to use it. However, it does not explicitly mention when not to use it or compare with alternatives like list_all_tasks for unfiltered listings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_achievementA
Update an existing achievement by ID. Modify name, description, rewards, and unlock status. ⚠️ IMPORTANT: Updating conditions_json is NOT supported by the LifeUp API. If you need to change conditions, delete this achievement and create a new one with desired conditions. Set numeric rewards using absolute (replace) or relative (add to current) set types. Always verify changes in the LifeUp app after updating.
| Name | Required | Description | Default |
|---|---|---|---|
| edit_id | Yes | Achievement ID to update (required) | |
| name | No | New achievement name (optional) | |
| category_id | No | New category ID (optional) | |
| desc | No | New description (optional) | |
| conditions_json | No | New unlock conditions (optional). Replaces existing conditions. | |
| exp | No | Experience reward (optional). IMPORTANT: Must specify skills array to apply XP to attributes. | |
| coin | No | Coin reward (optional) | |
| coin_set_type | No | How to set coin value: absolute (replace) or relative (add/subtract) | |
| exp_set_type | No | How to set exp value: absolute (replace) or relative (add/subtract) | |
| skills | No | Skill/attribute IDs to receive XP rewards. Required when setting exp parameter (replaces existing). Without skills, XP cannot be applied. | |
| items | No | New item rewards (optional, replaces existing) | |
| secret | No | Update hidden status (optional) | |
| color | No | New title color (optional, hex format) | |
| unlocked | No | Update unlock status (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses key behavioral traits: the unsupported conditions_json update, the requirement of skills when setting exp, and the availability of absolute/relative set types. It also advises to verify changes in the app. Minor omission: no mention of error handling or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with a warning emoji, and front-loaded with the core action. Every sentence provides necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, 1 required, no output schema), the description covers all essential behavioral aspects and constraints. It is sufficiently complete for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 14 parameters are described in the schema (100% coverage). The description adds value beyond the schema by emphasizing important constraints (conditions_json unsupported, skills required with exp, set_type meanings). This supplementary context aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'achievement by ID', and specifies the modifiable fields (name, description, rewards, unlock status). It distinguishes itself from siblings like create_achievement and delete_achievement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when not to use the tool (for updating conditions_json) and suggests an alternative (delete and recreate). It also clarifies how to handle numeric rewards with set types. However, it does not explicitly contrast with other update tools or state when to use this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Related MCP Servers
- AlicenseBqualityDmaintenanceIntegrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.192123MIT
- AlicenseAqualityCmaintenanceMCP server for TickTick using the official OAuth 2.0 API. Create, list, update, complete, and delete tasks just by talking to Claude.73MIT
- AlicenseAqualityFmaintenanceEnables Claude to interact with Super Productivity's local REST API for task, project, and tag management, including CRUD operations, status checks, and daily planning prompts.17536MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with Things 3 task management, allowing creation, analysis, and management of tasks, projects, and tags via natural language.22MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/derekprovance/lifeup-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server