LunaTask MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Port for future HTTP transport (currently unused as server only supports stdio transport). | 8080 |
| token | No | LunaTask API bearer token. Required to authenticate with the LunaTask API if not provided in the configuration file. | |
| base_url | No | LunaTask API base URL. | https://api.lunatask.app/v1/ |
| log_level | No | Logging level. Valid values: DEBUG, INFO, WARNING, ERROR, CRITICAL. | INFO |
| config_file | No | Path to the custom TOML configuration file (defaults to ./config.toml). | |
| rate_limit_rpm | No | Rate limit in requests per minute. | 60 |
| rate_limit_burst | No | Rate limit burst size. | 10 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Ping health-check tool that returns a static 'pong' response. This tool serves as a basic health-check endpoint to verify that the MCP server is functioning correctly. Args: ctx: The execution context providing access to logging and other MCP capabilities. Returns: str: The 'pong' response text. Raises: asyncio.CancelledError: If the operation is cancelled during execution. |
| create_taskD | Create a new task in LunaTask. |
| update_taskC | Update an existing task in LunaTask. |
| delete_taskB | Delete an existing task in LunaTask. |
| track_habitC | Track an activity for a specific habit on a given date |
| create_noteA | Create a note in LunaTask. Accepts notebook_id, optional name/content, an ISO date_on, and optional source/source_id metadata for duplicate detection. Returns note_id or duplicate status. |
| update_noteA | Update an existing note in LunaTask. Requires note_id (UUID). Optional fields: name, content (replaces entire content due to E2E encryption), notebook_id (to move note), date_on (YYYY-MM-DD). At least one field must be provided. Returns updated note data. |
| delete_noteA | Delete a note in LunaTask by note_id. Requires note_id (UUID). Returns success status with note_id and deleted_at timestamp. Note: deletion is not idempotent - second delete will return not found error. |
| create_journal_entryC | Create a journal entry for a specific date. Provide the date in YYYY-MM-DD format along with optional name and content fields. |
| create_personA | Create a person/contact in LunaTask. Requires first_name and last_name. Optional relationship_strength (family, intimate-friends, close-friends, casual-friends, acquaintances, business-contacts, almost-strangers), source/source_id for duplicate detection, email, birthday (YYYY-MM-DD), and phone. Returns person_id or duplicate status. |
| create_person_timeline_noteB | Create a timeline note for a person in LunaTask. Requires person_id and content. Optional date_on (YYYY-MM-DD) to associate the note with a specific day. |
| delete_personA | Delete a person/contact in LunaTask by person_id. Requires person_id. Returns success status with person_id and deleted_at timestamp. Note: deletion is not idempotent - second delete will return not found error. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _tasks_discovery | |
| _tasks_discovery | |
| _global_now | |
| _global_today | |
| _global_overdue | |
| _global_next7 | |
| _global_high | |
| _global_recent |
Latest Blog Posts
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/tensorfreitas/lunatask-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server