Skip to main content
Glama

HacknPlan MCP Server

Connect Claude directly to your HacknPlan game dev projects.

Setup

1. Get your API key

  1. Log in to HacknPlan

  2. Go to Profile → Settings → API Beta → Create

  3. Name it (e.g. claude-mcp), select desired scopes, click Create

  4. Copy the key

2. Install dependencies

npm install

3. Configure Claude Desktop

Add this to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "hacknplan": {
      "command": "node",
      "args": ["/absolute/path/to/hacknplan-mcp/index.js"],
      "env": {
        "HACKNPLAN_API_KEY": "your_api_key_here"
      }
    }
  }
}

4. Restart Claude Desktop

Related MCP server: HAOps MCP Server

Available Tools

Projects

Tool

Description

list_projects

List all projects in your workspace

get_project

Get project details

create_project

Create a new project (costMetric required: "points" or "hours")

update_project

Partially update a project's name or description (PATCH)

replace_project

Full replacement of a project (PUT)

delete_project

Permanently delete a project

close_project

Archive (close) a project

reopen_project

Reopen a closed project

get_project_metrics

Get progress and burndown metrics for a project

change_project_owner

Transfer project ownership to another user

Boards

Tool

Description

list_boards

List boards in a project (optionally include closed)

get_board

Get board details

create_board

Create a new board (optionally attach to a milestone)

update_board

Partially update a board (PATCH)

replace_board

Full replacement of a board (PUT)

delete_board

Permanently delete a board (optionally remove work items)

close_board

Archive (close) a board

reopen_board

Reopen a closed board

get_board_metrics

Get progress and burndown metrics for a board

set_default_board

Set the default board for a project

clear_default_board

Remove the default board setting

Milestones

Tool

Description

list_milestones

List milestones in a project

get_milestone

Get milestone details (optionally embed boards)

create_milestone

Create a milestone with optional dates

update_milestone

Partially update a milestone (PATCH)

replace_milestone

Full replacement of a milestone (PUT)

delete_milestone

Permanently delete a milestone (optionally cascade to boards/work items)

close_milestone

Mark a milestone complete

reopen_milestone

Reopen a closed milestone

get_milestone_metrics

Get progress and burndown metrics for a milestone

Work Items

Tool

Description

list_work_items

List work items with filters (board, milestone, stage, category, user, completion, search, sort)

get_work_item

Get full work item details

create_work_item

Create a task with title, description, priority, assignee, estimate, due date, tags

update_work_item

Update any field on a work item (PATCH)

clone_work_item

Create a copy of an existing work item

delete_work_item

Delete a work item

list_work_item_attachments

List attachments on a work item

get_work_item_attachment

Get a specific work item attachment

delete_work_item_attachment

Delete a work item attachment

Categories

Tool

Description

list_categories

List work item categories in a project

get_category

Get category details

create_category

Create a new category

update_category

Partially update a category (PATCH)

delete_category

Delete a category

Stages

Tool

Description

list_stages

List workflow stages in a project

get_stage

Get stage details

create_stage

Create a new stage

update_stage

Partially update a stage (PATCH)

delete_stage

Delete a stage

Importance Levels

Tool

Description

list_importance_levels

List importance levels in a project

get_importance_level

Get importance level details

create_importance_level

Create a new importance level

update_importance_level

Partially update an importance level (PATCH)

delete_importance_level

Delete an importance level

Users & Roles

Tool

Description

get_current_user

Get your own user info

list_project_users

List users in a project

get_project_user

Get a specific user's project membership

add_project_user

Add a user to a project

update_project_user

Partially update a user's project membership (PATCH)

replace_project_user

Full replacement of a user's project membership (PUT)

add_team_to_project

Add an entire team to a project

list_project_roles

List roles in a project

get_project_role

Get a specific role

create_project_role

Create a new role

update_project_role

Partially update a role (PATCH)

replace_project_role

Full replacement of a role (PUT)

delete_project_role

Delete a role

Tags

Tool

Description

list_project_tags

List tags in a project

create_project_tag

Create a new tag (with optional hex color)

update_project_tag

Partially update a tag (PATCH)

replace_project_tag

Full replacement of a tag (PUT)

delete_project_tag

Delete a tag

Design Elements (GDD)

Tool

Description

list_design_elements

List design elements (GDD documents) in a project

get_design_element

Get design element details

create_design_element

Create a new design element

update_design_element

Partially update a design element (PATCH)

replace_design_element

Full replacement of a design element (PUT)

delete_design_element

Delete a design element

get_design_element_metrics

Get metrics for a design element

list_design_element_types

List design element types in a project

get_design_element_type

Get a specific design element type

create_design_element_type

Create a new design element type

update_design_element_type

Partially update a design element type (PATCH)

replace_design_element_type

Full replacement of a design element type (PUT)

delete_design_element_type

Delete a design element type

list_design_element_attachments

List attachments on a design element

get_design_element_attachment

Get a specific design element attachment

delete_design_element_attachment

Delete a design element attachment

list_design_element_comments

List comments on a design element

create_design_element_comment

Add a comment to a design element

update_design_element_comment

Update a design element comment (PUT)

delete_design_element_comment

Delete a design element comment

Events, Files & Webhooks

Tool

Description

list_project_events

List activity events for a project

list_project_files

List files stored in a project

delete_project_file

Delete a file from a project

get_project_storage

Get file storage quota and usage

list_webhook_event_types

List all available webhook event types

list_webhooks

List webhooks configured for a project

create_webhook

Create a webhook for a project

get_webhook

Get webhook details

update_webhook

Partially update a webhook (PATCH)

replace_webhook

Full replacement of a webhook (PUT)

delete_webhook

Delete a webhook

Example prompts

  • "Show me all work items in my Maze Racer project"

  • "Create a task called 'Implement leaderboard' in the Programming board, high priority"

  • "Close the current milestone and list what's still open"

  • "What tasks are assigned to me and not completed?"

  • "Create a GDD document for the combat system"

  • "Set up a webhook to notify my server when work items change"

Notes

  • The HacknPlan API is still in public beta — rate limit is 5 calls/second

  • API key needs appropriate scopes for the operations you want to perform

  • Categories, stages, and importance levels return 403 on write operations for most accounts (list/get still work)

  • create_work_item requires boardId; importanceLevelId defaults to 3 (Normal)

  • When creating a work item with a stageId, the handler issues a follow-up PATCH since the API ignores stageId on POST

Available Tools

103 tools
add_project_userC

Add a user to a project

Inputs: userId (required), projectId (required), roleId, isAdmin.

add_team_to_projectC

Add an entire team to a project

Inputs: teamId (required), projectId (required), roleId.

change_project_ownerC

Transfer ownership of a project to another user

Inputs: userId (required), projectId (required).

clear_default_boardC

Remove the default board setting for a project

Inputs: projectId (required).

clone_work_itemC

Create a copy of an existing work item

Inputs: projectId (required), workItemId (required), boardId.

close_boardA

Archive (close) a board without deleting it. Use reopen_board to restore it.

Inputs: boardId (required), projectId (required).

close_milestoneA

Archive (close) a milestone without deleting it. Use reopen_milestone to restore it.

Inputs: projectId (required), milestoneId (required).

close_projectA

Archive (close) a project without deleting it. Use reopen_project to restore it.

Inputs: projectId (required).

create_boardC

Create a new board in a project

Inputs: name (required), projectId (required), milestoneId.

create_categoryC

Create a new work item category in a project

Inputs: name (required), projectId (required), description.

create_design_elementB

Create a new design element (GDD document) in a project

Inputs: name (required), typeId (required), projectId (required), endDate, +2 more.

create_design_element_commentC

Add a comment to a design element

Inputs: text (required), projectId (required), designElementId (required).

create_design_element_typeC

Create a new design element type in a project

Inputs: name (required), projectId (required), description.

create_importance_levelC

Create a new importance level in a project

Inputs: name (required), projectId (required), description.

create_milestoneC

Create a new milestone in a project

Inputs: name (required), projectId (required), endDate, startDate, +1 more.

create_projectC

Create a new project

Inputs: name (required), costMetric (required), description.

create_project_roleC

Create a new role in a project

Inputs: name (required), projectId (required), description.

create_project_tagB

Create a new tag in a project

Inputs: name (required), projectId (required), color.

create_stageC

Create a new workflow stage in a project

Inputs: name (required), projectId (required), description.

create_webhookC

Create a new webhook for a project

Inputs: url (required), events (required), projectId (required), secret.

create_work_itemC

Create a new work item (task) in a project

Inputs: title (required), boardId (required), projectId (required), tags, +9 more.

delete_boardB

Permanently delete a board

Inputs: boardId (required), projectId (required), removeWorkItems.

delete_categoryC

Permanently delete a category

Inputs: projectId (required), categoryId (required).

delete_design_elementC

Delete a design element

Inputs: projectId (required), designElementId (required).

delete_design_element_attachmentC

Delete an attachment from a design element

Inputs: projectId (required), attachmentId (required), designElementId (required).

delete_design_element_commentC

Delete a comment from a design element

Inputs: commentId (required), projectId (required), designElementId (required).

delete_design_element_typeC

Delete a design element type

Inputs: projectId (required), designElementTypeId (required).

delete_importance_levelC

Permanently delete an importance level

Inputs: projectId (required), importanceLevelId (required).

delete_milestoneC

Permanently delete a milestone

Inputs: projectId (required), milestoneId (required), deleteBoards, deleteWorkItems.

delete_projectB

Permanently delete a project

Inputs: projectId (required).

delete_project_fileC

Delete a file from a project

Inputs: fileId (required), projectId (required).

delete_project_roleC

Delete a project role

Inputs: roleId (required), projectId (required).

delete_project_tagB

Delete a project tag

Inputs: tagId (required), projectId (required).

delete_stageC

Permanently delete a stage

Inputs: stageId (required), projectId (required).

delete_webhookC

Delete a webhook

Inputs: projectId (required), webhookId (required).

delete_work_itemC

Permanently delete a work item

Inputs: projectId (required), workItemId (required).

delete_work_item_attachmentC

Delete an attachment from a work item

Inputs: projectId (required), workItemId (required), attachmentId (required).

get_boardC

Get details of a specific board

Inputs: boardId (required), projectId (required).

get_board_metricsC

Get progress and burndown metrics for a board

Inputs: boardId (required), projectId (required).

get_categoryC

Get details of a specific category

Inputs: projectId (required), categoryId (required).

get_current_userA

Get information about the currently authenticated user

Inputs: no named parameters.

get_design_elementB

Get details of a specific design element

Inputs: projectId (required), designElementId (required).

get_design_element_attachmentC

Get a specific attachment on a design element

Inputs: projectId (required), attachmentId (required), designElementId (required).

get_design_element_metricsC

Get metrics for a design element

Inputs: projectId (required), designElementId (required).

get_design_element_typeC

Get details of a specific design element type

Inputs: projectId (required), designElementTypeId (required).

get_importance_levelC

Get details of a specific importance level

Inputs: projectId (required), importanceLevelId (required).

get_milestoneC

Get details of a specific milestone

Inputs: projectId (required), milestoneId (required), includeBoards.

get_milestone_metricsC

Get progress and burndown metrics for a milestone

Inputs: projectId (required), milestoneId (required).

get_projectB

Get details of a specific project

Inputs: projectId (required).

get_project_metricsC

Get progress and burndown metrics for a project

Inputs: projectId (required).

get_project_roleC

Get details of a specific project role

Inputs: roleId (required), projectId (required).

get_project_storageA

Get file storage quota and usage for a project

Inputs: projectId (required).

get_project_userC

Get details of a specific user within a project

Inputs: userId (required), projectId (required).

get_stageC

Get details of a specific stage

Inputs: stageId (required), projectId (required).

get_webhookC

Get details of a specific webhook

Inputs: projectId (required), webhookId (required).

get_work_itemC

Get details of a specific work item

Inputs: projectId (required), workItemId (required).

get_work_item_attachmentC

Get details of a specific work item attachment

Inputs: projectId (required), workItemId (required), attachmentId (required).

list_boardsC

List all boards in a project

Inputs: projectId (required), includeClosed.

list_categoriesC

List work item categories in a project

Inputs: projectId (required).

list_design_element_attachmentsC

List attachments on a design element

Inputs: projectId (required), designElementId (required).

list_design_element_commentsB

List comments on a design element

Inputs: projectId (required), designElementId (required).

list_design_elementsC

List design elements (GDD documents) in a project

Inputs: projectId (required), limit, offset, typeId.

list_design_element_typesA

List design element types in a project (used as typeId when creating design elements)

Inputs: projectId (required).

list_importance_levelsA

List importance levels in a project (used as importanceLevelId when creating work items)

Inputs: projectId (required).

list_milestonesC

List all milestones in a project

Inputs: projectId (required).

list_project_eventsC

List activity events for a project

Inputs: projectId (required), limit, offset.

list_project_filesC

List files stored in a project

Inputs: projectId (required).

list_project_rolesC

List all roles in a project

Inputs: projectId (required).

list_projectsB

List all projects in your workspace

Inputs: limit, offset.

list_project_tagsC

List all tags in a project

Inputs: projectId (required).

list_project_usersC

List users in a project

Inputs: projectId (required).

list_stagesB

List workflow stages in a project

Inputs: projectId (required).

list_webhook_event_typesA

List all available webhook event types

Inputs: no named parameters.

list_webhooksC

List all webhooks configured for a project

Inputs: projectId (required).

list_work_item_attachmentsB

List all attachments on a work item

Inputs: projectId (required), workItemId (required).

list_work_itemsC

List work items in a project with optional filters and sorting

Inputs: projectId (required), limit, offset, boardId, +11 more.

reopen_boardC

Reopen a previously closed (archived) board

Inputs: boardId (required), projectId (required).

reopen_milestoneB

Reopen a previously closed (archived) milestone

Inputs: projectId (required), milestoneId (required).

reopen_projectB

Reopen a previously closed (archived) project

Inputs: projectId (required).

replace_boardC

Full replacement of a board (PUT — all fields required)

Inputs: name (required), boardId (required), projectId (required), milestoneId.

replace_design_elementC

Full replacement of a design element (PUT)

Inputs: name (required), typeId (required), projectId (required), designElementId (required), +3 more.

replace_design_element_typeC

Full replacement of a design element type (PUT)

Inputs: name (required), projectId (required), designElementTypeId (required), description.

replace_milestoneB

Full replacement of a milestone (PUT — all fields required)

Inputs: name (required), projectId (required), milestoneId (required), endDate, +2 more.

replace_projectC

Full replacement of a project (PUT — all fields required)

Inputs: name (required), projectId (required), costMetric (required), description.

replace_project_roleC

Full replacement of a project role (PUT)

Inputs: name (required), roleId (required), projectId (required), description.

replace_project_tagC

Full replacement of a project tag (PUT)

Inputs: name (required), tagId (required), projectId (required), color.

replace_project_userC

Full replacement of a user's project membership (PUT)

Inputs: userId (required), projectId (required), roleId, isAdmin, +1 more.

replace_webhookC

Full replacement of a webhook (PUT)

Inputs: url (required), events (required), projectId (required), webhookId (required), +1 more.

set_default_boardC

Set the default board for a project

Inputs: boardId (required), projectId (required).

update_boardB

Partially update a board (PATCH — only provided fields are changed)

Inputs: boardId (required), projectId (required), name, milestoneId.

update_categoryB

Partially update a category (PATCH — only provided fields are changed)

Inputs: projectId (required), categoryId (required), name, description.

update_design_elementC

Partially update a design element (PATCH)

Inputs: projectId (required), designElementId (required), name, typeId, +3 more.

update_design_element_commentC

Update a comment on a design element (PUT — replaces content)

Inputs: text (required), commentId (required), projectId (required), designElementId (required).

update_design_element_typeC

Partially update a design element type (PATCH)

Inputs: projectId (required), designElementTypeId (required), name, description.

update_importance_levelB

Partially update an importance level (PATCH — only provided fields are changed)

Inputs: projectId (required), importanceLevelId (required), name, description.

update_milestoneB

Partially update a milestone (PATCH — only provided fields are changed)

Inputs: projectId (required), milestoneId (required), name, endDate, +2 more.

update_projectA

Partially update a project's name or description (PATCH — only provided fields are changed)

Inputs: projectId (required), name, description.

update_project_roleC

Partially update a project role (PATCH)

Inputs: roleId (required), projectId (required), name, description.

update_project_tagC

Partially update a project tag (PATCH)

Inputs: tagId (required), projectId (required), name, color.

update_project_userC

Partially update a user's project membership (PATCH)

Inputs: userId (required), projectId (required), roleId, isAdmin, +1 more.

update_stageB

Partially update a stage (PATCH — only provided fields are changed)

Inputs: stageId (required), projectId (required), name, description.

update_webhookC

Partially update a webhook (PATCH)

Inputs: projectId (required), webhookId (required), url, events, +1 more.

update_work_itemC

Update an existing work item

Inputs: projectId (required), workItemId (required), tags, title, +8 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 103 tools

    Disambiguation4/5

    Tools are clearly separated by resource type (board, milestone, design element, etc.) with distinct actions (create, get, update, replace, delete). However, the high number of tools and the presence of both update and replace for some resources could cause minor confusion, though descriptions clarify they are PATCH vs PUT.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using lowercase and underscores. Verbs like create, get, list, update, delete, replace, close, reopen are used uniformly across resource types, with no mixing of conventions.

    Tool Count2/5

    With 103 tools, the set is very heavy. While each tool serves a specific purpose, many are redundant CRUD variants (e.g., separate replace_ and update_ for the same resource), and the overall count far exceeds typical MCP server scopes, making it unwieldy for agents.

    Completeness4/5

    The tool surface is remarkably comprehensive, covering all major entities (projects, boards, work items, milestones, design elements, roles, tags, stages, webhooks) with full CRUD, plus metrics, attachments, comments, and user management. Only minor gaps like bulk operations or advanced search are missing.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers