Skip to main content
Glama

hae-mcp

MCP server for hae — a GTD-based task management app. Gives Claude full access to your hae instance: projects, cards, columns, checklists, comments, labels, organisations, notifications, users, and AI features.

100% API coverage — 57 tools.

Requirements

  • Node.js 18+

  • A running hae-api instance

Related MCP server: Enhanced Todoist MCP Server Extended

Installation

{
  "mcpServers": {
    "hae": {
      "command": "npx",
      "args": ["-y", "@breizhzion/hae-mcp"],
      "env": {
        "HAE_URL": "http://your-server:3000",
        "HAE_TOKEN": "your-jwt-token"
      }
    }
  }
}

Via local clone

git clone https://github.com/bzhzion/hae-mcp
cd hae-mcp
npm install
npm run build
{
  "mcpServers": {
    "hae": {
      "command": "node",
      "args": ["/path/to/hae-mcp/dist/index.js"],
      "env": {
        "HAE_URL": "http://localhost:3000",
        "HAE_EMAIL": "user@example.com",
        "HAE_PASSWORD": "yourpassword"
      }
    }
  }
}

Where to put the config

Client

Config file

Claude Code (global)

~/.claude/settings.json

Claude Desktop (Mac)

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop (Windows)

%APPDATA%\Claude\claude_desktop_config.json

Authentication

HAE_TOKEN takes priority. If absent, auto-login with HAE_EMAIL + HAE_PASSWORD.

Variable

Description

HAE_URL

hae-api base URL. Default: http://localhost:3000

HAE_TOKEN

JWT token — recommended for production

HAE_EMAIL

Email for auto-login

HAE_PASSWORD

Password for auto-login

To get a token manually:

curl -X POST http://your-server:3000/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"yourpassword"}'
# → {"token":"eyJ..."}

Tools

Projects

Tool

Description

hae_list_projects

List all accessible projects with their columns

hae_get_project

Get a project by ID

hae_create_project

Create a new project

hae_update_project

Update project name or description

hae_delete_project

Delete a project permanently

hae_assign_project_org

Assign a project to an organisation

hae_add_project_member

Add a user to a project

hae_update_project_member

Change a project member's role

hae_remove_project_member

Remove a member from a project

hae_create_project

Parameter

Type

Required

Description

name

string

yes

Project name

description

string

no

Optional description

hae_update_project

Parameter

Type

Required

Description

id

string

yes

Project ID

name

string

no

New name

description

string

no

New description

hae_assign_project_org

Parameter

Type

Required

Description

id

string

yes

Project ID

org_id

string

yes

Organisation ID

hae_add_project_member / hae_update_project_member

Parameter

Type

Required

Description

id

string

yes

Project ID

user_id

string

yes

User ID (use hae_search_users to find it)

role

owner | member

no/yes

Role


Columns

Tool

Description

hae_create_column

Create a custom column in a project

hae_update_column

Rename a column

hae_delete_column

Delete a column (cards moved to Trash)

hae_create_column

Parameter

Type

Required

Description

project_id

string

yes

Project ID

name

string

yes

Column name


Cards

Tool

Description

hae_list_cards

List cards in a column (with checklist progress + comment count)

hae_get_card

Get full card details

hae_create_card

Create a card in a column

hae_update_card

Update or move a card

hae_duplicate_card

Duplicate a card

hae_delete_card

Trash or permanently delete a card

hae_get_card_activities

Get the activity log of a card

hae_stopwatch_start

Start the stopwatch on a card

hae_stopwatch_stop

Stop the stopwatch on a card

hae_add_card_member

Assign a user to a card

hae_remove_card_member

Unassign a user from a card

hae_add_card_label

Add a label to a card

hae_remove_card_label

Remove a label from a card

hae_subscribe_card

Subscribe to notifications for a card

hae_unsubscribe_card

Unsubscribe from notifications for a card

hae_create_card

Parameter

Type

Required

Description

column_id

string

yes

Target column ID

title

string

yes

Card title

description

string

no

Description — Markdown supported

due_date

number

no

Due date as Unix timestamp in ms

hae_update_card

Parameter

Type

Required

Description

id

string

yes

Card ID

title

string

no

New title

description

string

no

New description (Markdown)

due_date

number or null

no

New due date (Unix ms), or null to clear

column_id

string

no

Target column ID — moves the card

hae_delete_card

Parameter

Type

Required

Description

id

string

yes

Card ID

permanent

boolean

no

true = hard delete. Default: false (moves to Trash)


Comments

Tool

Description

hae_list_comments

List all comments on a card

hae_add_comment

Add a comment to a card

hae_update_comment

Edit a comment

hae_delete_comment

Delete a comment

hae_add_comment / hae_update_comment

Parameter

Type

Required

Description

card_id / id

string

yes

Card ID or Comment ID

content

string

yes

Comment text


Checklists

Tool

Description

hae_add_checklist

Add a checklist to a card

hae_update_checklist

Rename a checklist

hae_delete_checklist

Delete a checklist and all its items

hae_add_checklist_item

Add an item to a checklist

hae_toggle_checklist_item

Mark an item done or undone

hae_delete_checklist_item

Delete a checklist item

hae_add_checklist_item

Parameter

Type

Required

Description

checklist_id

string

yes

Checklist ID

content

string

yes

Item text

hae_toggle_checklist_item

Parameter

Type

Required

Description

item_id

string

yes

Checklist item ID

is_done

boolean

yes

true = done, false = undone


Labels

Tool

Description

hae_list_labels

List all labels in a project

hae_create_label

Create a label

hae_update_label

Update a label name or color

hae_delete_label

Delete a label

hae_create_label

Parameter

Type

Required

Description

project_id

string

yes

Project ID

name

string

yes

Label name

color

string

yes

Hex color, e.g. #FF5733


Organisations

Tool

Description

hae_list_orgs

List all organisations the current user belongs to

hae_get_org

Get organisation details: members and projects

hae_create_org

Create an organisation

hae_update_org

Update organisation name or description

hae_delete_org

Delete an organisation

hae_add_org_member

Add a user to an organisation

hae_update_org_member

Change a member's role

hae_remove_org_member

Remove a member from the organisation

hae_add_org_member / hae_update_org_member

Parameter

Type

Required

Description

id

string

yes

Organisation ID

user_id

string

yes

User ID

role

owner | admin | member

no/yes

Role


Notifications

Tool

Description

hae_list_notifications

List notifications for the current user

hae_mark_notification_read

Mark a notification as read

hae_mark_all_notifications_read

Mark all notifications as read


Users

Tool

Description

hae_get_me

Get the current user's profile

hae_update_me

Update display name or avatar

hae_change_password

Change the current user's password

hae_search_users

Search users by name or email — useful to find IDs

hae_search_users

Parameter

Type

Required

Description

q

string

yes

Search query (name or email fragment)

hae_change_password

Parameter

Type

Required

Description

current_password

string

yes

Current password

new_password

string

yes

New password (min 8 characters)


AI

Tool

Description

hae_ai_parse_tasks

Parse free-form text into structured cards using AI

hae_ai_generate_checklist

Generate a checklist for a card using AI

hae_ai_summarize_card

Summarize a card (description + comments + activities)

hae_ai_parse_tasks

Parameter

Type

Required

Description

project_id

string

yes

Project ID where cards will be created

text

string

yes

Free-form text to parse into tasks


Admin (requires admin role)

Tool

Description

hae_admin_list_users

List all users on the server

hae_admin_update_user

Change a user's role or enable/disable their account

hae_admin_delete_user

Permanently delete a user account

hae_admin_update_user

Parameter

Type

Required

Description

id

string

yes

User ID

role

admin | user

no

New role

is_active

boolean

no

true = active, false = disabled


User preferences

Tool

Description

hae_get_prefs

Get the current user's preferences (key/value store)

hae_set_prefs

Set one or more preferences

hae_set_prefs

Parameter

Type

Required

Description

prefs

object

yes

Key/value pairs, e.g. { "theme": "dark", "lang": "fr" }


Example prompts

List my projects and show me what's in the URGENT column.
Create a card "Fix login bug" in the NEXT column of project X with description:
"## Steps\n- Check JWT expiry\n- Test on mobile" and due date in 2 days.
Move card abc123 to the SOMEDAY column.
Add a "Definition of Done" checklist to card abc123 with 3 items:
unit tests passing, code reviewed, deployed to staging.
Search for user "alice" and add her to project X as member.
Generate a checklist for card abc123 using AI.
Mark all my notifications as read.
Parse this text into tasks in project X:
"Call client Monday, prepare slides for Thursday demo, review PR from Bob"

Development

git clone https://github.com/bzhzion/hae-mcp
cd hae-mcp
npm install
npm run dev    # tsx watch — hot reload
npm run build  # compile to dist/

Test with the official MCP inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Publishing

npm run build
npm publish --access public

License

MIT — Breizhzion

F
license - not found
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/bzhzion/hae-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server