# Lunatask MCP

> Lunatask connects your AI agent directly to a private task and journaling system. This server lets your client create, update tasks across different life areas, log daily habits, or write secure journal entries—all without compromising your data's encryption. You manage structured notes and personal goals using only technical metadata (IDs and statuses), keeping the actual content locked down.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** task-management, habit-tracking, privacy-focused, journaling, encrypted-data, personal-productivity

## Description

Lunatask connects your agent straight into your private task and journaling system. This server lets your client handle all your structured productivity data—creating tasks, tracking habits, or writing journal entries—without ever compromising how encrypted your info is. You manage personal goals using only technical metadata (IDs and statuses), keeping the actual content locked down tight.

**Task Management: Creating and Moving Goals**

You can build new objectives by calling `create_new_task`, which adds a task to a specified 'Area of Life' with an initial status, like setting it for 'next week' or 'later.' If you need to change what's going on with an item you already started, use `update_existing_task`; this changes the status or priority of that specific task. To keep things clean and clear, your agent can also execute `delete_task` to remove old items completely. You never lose visibility into your goals, though; calling `list_tasks_metadata` spits out the technical metadata—the IDs and statuses—for every single task you own, letting you see exactly what's active or needs attention without exposing names or notes. If you only need details on one specific item, use `get_task_metadata` to pull that particular technical status data for an identified task.

**Habit Tracking: Logging Consistency**

Keeping up with habits is simple. When you log a successful routine check-in, your agent calls `track_habit_completion`. This instantly logs that specific habit as complete, updating your personal consistency record without needing to touch any other data structure.

**Journaling & Notes: Secure Logging**

Writing down thoughts is secure. Your client uses `create_journal_entry` to add a brand new journal entry; this action sends the content through an end-to-end encrypted API call, keeping it private. You can also review all your stored notes by listing their metadata with `list_notes_metadata`. 

**The Deal: Metadata Only**

The most important thing you gotta know is that while the server writes and updates content, it never reads back sensitive details to your agent. The AI client only sees technical metadata—the IDs, dates, and statuses—but it doesn't see the actual text of your tasks or journal entries. It keeps everything locked down.

## Tools

### create_journal_entry
Adds a new, end-to-end encrypted journal entry via an API call.

### create_new_task
Creates a brand new task and assigns it to a specified area of life.

### delete_task
Removes an existing task from your Lunatask account.

### get_task_metadata
Retrieves specific technical status data for one single, identified task.

### list_notes_metadata
Lists the metadata for every note stored in your account.

### list_tasks_metadata
Lists the technical metadata (IDs, statuses) for all tasks, but not their names or notes due to encryption.

### track_habit_completion
Logs that you successfully completed a specified habit goal.

### update_existing_task
Changes the status or details of an already existing task.

## Prompt Examples

**Prompt:** 
```
List metadata for all my tasks in Lunatask.
```

**Response:** 
```
I've retrieved the metadata for your tasks. You have 12 tasks across various areas. Note that I can see statuses like 'next' and 'later', but the actual task names are encrypted.
```

**Prompt:** 
```
Track a completion for habit ID 'habit-123'.
```

**Response:** 
```
Successfully logged a completion for habit 'habit-123'. Your consistency has been updated in Lunatask.
```

**Prompt:** 
```
Create a new task named 'Review quarterly report' in area 'area-abc'.
```

**Response:** 
```
I've sent the request to create the task. While I cannot read it back due to encryption, the new entry has been successfully added to your area 'area-abc'.
```

## Capabilities

### Create new structured tasks
The server adds a task to a specific 'Area of Life' with an initial status (like 'next' or 'later').

### Log habit completions
It marks a daily habit as completed, updating your personal consistency record.

### Update task details and priority
The server changes the status or priority of an existing task that you've already created.

### Write a secure journal entry
It creates a new, encrypted journal log directly from your conversation prompt.

### Review all task statuses
The server lists the technical metadata for every single task you own, letting you see what's active and what needs attention.

## Use Cases

### The Weekly Review Cleanup
A PM finishes a sprint and needs to update 15 tasks. Instead of opening the task app and manually changing statuses, they prompt their agent: 'Move all completed tasks from the Q3 area to archived status.' The agent calls `update_existing_task` for each item, instantly clearing out the pipeline.

### The Morning Habit Check-in
A user wakes up and needs to log their routine tasks. They tell their agent: 'I finished my meditation habit today.' The agent runs `track_habit_completion`, immediately updating the consistency score in Lunatask, all within a single chat session.

### The Brain Dump Session
A consultant has an idea late at night. Instead of opening a dedicated journaling app and worrying about sync issues, they just tell their agent: 'Write down my notes on the new client pitch.' The agent uses `create_journal_entry` to securely log the thought without ever exposing its content.

### The Project Status Check
A manager needs a quick status report before a meeting. They ask their agent to run `list_tasks_metadata`. The server returns a list of all task IDs and current statuses ('next', 'later'), giving them the overview they need without revealing confidential project names.

## Benefits

- It keeps your data private. Because the server only handles metadata (IDs/statuses), your actual notes remain fully encrypted—you never expose the content of your life to an external tool.
- Manage goals without context switching. You can update a task's priority or change its status directly through natural language commands, eliminating manual clicks in separate apps.
- Stay consistent with routine tasks. Use `track_habit_completion` to log daily habits (like 'walk the dog') instantly from your chat client; it updates your record without any friction.
- Keep everything in one place. Instead of opening a task manager, then opening a journal app, you use your AI agent to handle both tasks and secure entries via `create_journal_entry`.
- See your whole picture at a glance. Running `list_tasks_metadata` gives you a clean status report on every project area without ever compromising the sensitive details of what those projects are.

## How It Works

The bottom line is, you tell your AI client what needs doing; it handles the secure connection and executes the function against Lunatask.

1. First, subscribe to this MCP server on Vinkius and provide your unique Lunatask Access Token.
2. Next, prompt your AI client (e.g., Claude or Cursor) with a command like: 'Create a task for reviewing the budget in my Finance area.'
3. Your agent translates that into an API call to `create_new_task` and confirms the action was taken successfully.

## Frequently Asked Questions

**Can I use Lunatask to read back the notes from a journal entry?**
No. Because of end-to-end encryption, the server cannot read back the names or content of your entries. It only provides technical metadata when you call `list_notes_metadata`.

**How do I create a new task using Lunatask?**
You use the `create_new_task` tool. You must provide both a name for the task and an 'area_id' to place it in, otherwise the function will fail.

**Does Lunatask handle complex project dependencies?**
It handles status updates and prioritization well using `update_existing_task`. However, if you need logic that checks Task A *before* updating Task B, you'll need multi-step automation outside of this single tool call.

**Is it safe to use Lunatask with my most sensitive data?**
Yes. The server is designed with end-to-end encryption for content. Your AI agent only handles technical metadata, keeping the actual notes and names locked down.

**When using `create_new_task`, what authentication method does Lunatask require?**
You must provide a valid Lunatask Access Token. Your AI client uses this token to authenticate every request, ensuring only authorized agents can modify your data. This setup secures all interactions with tools like `update_existing_task`.

**Does running `list_tasks_metadata` reveal the actual task names and descriptions in Lunatask?**
No, it only reveals technical metadata (IDs, statuses). Because of end-to-end encryption, the API cannot read back your private content. You see structural data—like 'next' or 'later' status—but never the note itself.

**If I need to remove an item, how do I use the `delete_task` tool in Lunatask?**
You send a direct command with the unique ID of the task. The agent sends this request, and Lunatask handles the deletion immediately. You just need that specific identifier to make sure you delete the right item.

**After using `track_habit_completion`, can I also list my general notes metadata via Lunatask?**
Yes, you can use separate tools for different data types. To see your journal entries, you simply call the `list_notes_metadata` tool. The system manages these distinct record types independently.

**Why can't the agent read my task names?**
Lunatask uses end-to-end encryption. Task names and note bodies are encrypted on your device before being sent to the server. The API only has access to metadata like IDs and statuses.

**Where do I find my Area ID?**
In the Lunatask desktop app, go to an Area's settings. The unique Area ID (UUID) is displayed there for use in the API.

**Can I track habits using this agent?**
Yes, use the `track_habit_completion` tool with the unique habit ID to log a successful completion event.