HacknPlan MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HACKNPLAN_API_KEY | Yes | Required: API authentication key for HacknPlan. | |
| HACKNPLAN_SLIM_MODE | No | Optional: Enable 26-tool slim mode (e.g., 'true'). | |
| HACKNPLAN_DEFAULT_PROJECT | No | Optional: Default project ID. | |
| HACKNPLAN_OUTPUT_VERBOSITY | No | Optional: Minimal response fields (e.g., 'slim'). | |
| HACKNPLAN_DELETION_CACHE_SIZE | No | Optional: Recovery cache capacity (e.g., '1000'). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List all HacknPlan projects accessible with your API key. Returns { items, total, offset, limit, hasMore, index? }. In slim mode, includes index array of [id, name] pairs for all projects (not just current page). |
| get_projectB | Get details of a specific project |
| create_projectsA | Create one or more projects (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_projectsA | Update one or more projects (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| delete_projectsA | Delete one or more projects (array-based, DESTRUCTIVE). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| close_projectsA | Close one or more projects (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| reopen_projectsA | Reopen one or more closed projects (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| get_project_metricsC | Get project metrics (completion stats, etc.) |
| list_boardsA | List all boards (sprints) for a project. Returns { items, total, offset, limit, hasMore, index? }. In slim mode, includes index array of [id, name] pairs for all boards (not just current page). |
| get_boardB | Get details of a specific board |
| create_boardsA | Create one or more boards/sprints (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_boardsA | Update one or more boards (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| delete_boardsA | Delete one or more boards (array-based, DESTRUCTIVE). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| close_boardsA | Close one or more boards/sprints (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| reopen_boardsA | Reopen one or more closed boards (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| get_board_metricsC | Get board metrics (burndown data, etc.) |
| list_milestonesB | List milestones for a project. Returns { items, total, offset, limit, hasMore }. |
| get_milestoneC | Get details of a specific milestone |
| create_milestonesB | Create one or more milestones (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_milestonesA | Update one or more milestones (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| delete_milestonesA | Delete one or more milestones (array-based, DESTRUCTIVE). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| close_milestonesA | Close one or more milestones (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| reopen_milestonesA | Reopen one or more closed milestones (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_work_itemsB | List work items with optional filters and pagination. Returns { items, total, offset, limit, index? }. In slim mode, includes index array of [id, name] pairs for all work items (not just current page). |
| get_work_itemC | Get detailed information about a specific work item |
| create_work_itemsA | Create one or more work items (array-based). Supports name resolution for categoryId, importanceLevelId, and tagIds. Single-item and batch calls use the same interface. Returns unified response with items array, counts, per-item errors, and warnings. |
| update_work_itemsA | Update one or more work items (array-based). Supports auto-create for tags: when string names are provided and the tag does not exist, it will be created automatically. Consolidates all setter operations (assignedUserIds, tagIds, parentStoryId, designElementId) into a single call. Returns unified response with items array, counts, per-item errors, and warnings for auto-created tags. |
| add_work_item_dependenciesA | Add one or more dependencies between work items (array-based). Each item creates a dependency where the successor depends on the predecessor. |
| remove_work_item_dependenciesB | Remove one or more dependencies between work items (array-based). Each item removes a dependency relationship. |
| assign_work_item_to_meB | Assign a work item to the current user |
| list_commentsA | List comments on a work item. Returns { items, total, offset, limit, hasMore }. |
| add_commentsA | Add one or more comments to work items (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_commentsB | Update one or more comments (array-based). Each item updates a comment with new text. |
| delete_commentsB | Delete one or more comments (array-based). Each item removes a comment from a work item. |
| list_design_element_typesA | List design element types (e.g., Character, Item, Level). Returns { items, total, offset, limit, hasMore }. |
| create_design_element_typesA | Create one or more design element types (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_design_elementsA | List design elements (game design documents). Returns { items, total, offset, limit, hasMore }. |
| get_design_elementB | Get details of a design element |
| create_design_elementsA | Create one or more design elements (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_design_elementsA | Update one or more design elements (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| delete_design_elementsB | Delete one or more design elements (array-based, DESTRUCTIVE). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_stagesA | List available stages (workflow states) for a project. Returns { items, total, offset, limit, hasMore }. |
| create_stagesA | Create one or more workflow stages (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| update_stagesA | Update one or more workflow stages (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| delete_stagesB | Delete one or more workflow stages (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_categoriesA | List available work item categories (Task, Bug, Feature, etc.). Returns { items, total, offset, limit, hasMore }. |
| create_categoriesA | Create one or more work item categories (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_tagsB | List project tags. Returns { items, total, offset, limit, hasMore }. |
| create_tagsA | Create one or more project tags (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, and per-item errors. |
| list_importance_levelsA | List importance/priority levels for a project. Returns { items, total, offset, limit, hasMore }. |
| list_usersA | List users in a project. Returns { items, total, offset, limit, hasMore }. |
| get_current_userA | Get the current authenticated user information |
| set_default_project_idA | Set the default project ID for this MCP server session. This overrides environment variables and .mcp.json config. Useful for switching between projects without restarting the server. |
| set_output_verbosityA | Set global output verbosity for all list operations. Controls whether list_projects, list_boards, and list_work_items return full or slim output by default. |
| search_work_itemsA | Advanced search for work items with multiple filter criteria. Combines API filters with client-side filtering for comprehensive queries. |
| batch_delete_work_itemsA | Stages work items for deletion and returns a confirmation request. No items are deleted until confirm_deletion is called with the confirmation token. Generates preview with warnings if deletion count exceeds cache capacity. |
| delete_work_itemsA | Delete one or more work items (array-based, requires confirmation). Stages items for deletion and returns a confirmation token. Call confirm_deletion with the token to execute the deletion. Items are stored in recovery cache before deletion for potential recovery. |
| get_sprint_summaryA | Get a compressed summary of current sprint status with task counts by stage (highly optimized for token usage) |
| get_work_item_childrenA | Get all child work items (subtasks) of a parent user story |
| create_work_item_atomicB | Create a work item atomically with all related operations in a single transaction. v4.5+ supports name resolution. |
| log_work_sessionsA | Log work time for one or more work items (array-based). Single-item and batch calls use the same interface. Returns unified response with items array, counts, total hours, and per-item errors. Note: Does not include automatic time tracking - use log_work_session for that. |
| get_my_tasksA | Get work items assigned to the current user. Returns { items, total }. |
| get_incomplete_tasksB | Get all incomplete work items for a project or board. Returns { items, total }. |
| get_backlogA | Get TRUE backlog items - work items with NO board/sprint assignment. Returns { items, total }. NOTE: Items in closed sprints are NOT backlog - they are archived work. |
| get_active_sprint_overviewA | Get overview of currently active (open) sprints with task counts. Returns { boards: [...], totalActiveSprints }. |
| get_dependency_treeB | Get full dependency tree for a work item (all predecessors and successors) |
| get_blocking_itemsB | Get work items that are blocking this work item (predecessors that must complete first) |
| clear_cacheB | Clear cached data (metadata, work items, etc.). Use pattern to clear specific cache entries. |
| list_templatesB | List available work item templates |
| create_from_templateB | Create work items from a template with variable substitution |
| start_taskA | Move a task to "In Progress" stage with optional comment. Supports name resolution for workItemId (e.g., "Implement shader" or 123). Auto-detects "In Progress" stage or uses stageId override. |
| create_subtaskA | Create a subtask linked to a parent user story in a single call. Wraps create_work_item + set_work_item_parent. Inherits board from parent if not specified. Supports name resolution for category, importance, and tags. |
| complete_taskA | Complete a task in one call with optional time logging and comment. Atomically: marks task completed, optionally moves to completion stage, adds comment, and logs time. Supports name resolution for workItemId. |
| pause_taskA | Pause work on a task. Accumulates time from current session and allows working on other tasks without corrupting time tracking. |
| resume_taskA | Resume work on a paused task. Starts a new session without losing accumulated time from previous sessions. |
| get_my_current_tasksA | Get current user's assigned tasks with aggregated statistics (by stage, by priority, total estimate). Returns slim work items for token efficiency. Supports both auto-fetch (all items) and manual pagination (offset/limit). |
| get_blockersA | Analyze dependency graphs to identify blocking work items. Supports premium API + free-tier fallback (parses description markers). Returns items that are blocked by incomplete dependencies, optionally including transitive blockers. Can calculate critical path for a specific work item. |
| get_sprint_progressB | Get comprehensive sprint progress metrics including burndown chart, dependency graph, and hour tracking. Provides rich data for sprint visualization and analysis. |
| delete_attachmentC | Delete a file attachment |
| download_attachmentB | Download a file attachment to local disk |
| get_attachmentA | Get attachment metadata and download URL |
| list_attachmentsB | List file attachments for a work item with pagination |
| set_attachment_as_card_pictureC | Set an image attachment as the work item card thumbnail (requires image file) |
| upload_attachmentB | Upload a file attachment to a work item |
| confirm_deletionA | Execute a staged deletion after user confirmation. Requires the confirmation token from batch_delete_work_items and acknowledged must be "DELETE" or "CONFIRM". |
| cancel_deletionA | Cancel a staged deletion and release items from the confirmation queue. The items will not be deleted and the confirmation token will be invalidated. |
| recover_deleted_itemsA | Restore deleted work items from recovery cache. Creates new items (cannot restore original IDs). Handles double-recovery prevention, cross-project validation, and locked items. |
| get_deletion_cache_statsA | View recovery cache statistics including capacity, entries by project/status, and age ranges. Useful for monitoring cache health. |
| clear_deletion_cacheA | Clear recovery cache entries. Requires acknowledged="CLEAR" for safety. Optionally filter by project. WARNING: This removes recovery capability for deleted items. |
| export_deletion_cacheB | Export recovery cache to JSON file. Supports project-specific export. Useful for backup or migration. |
| import_deletion_cacheA | Import recovery cache from JSON file. Supports merge (add to existing) or replace (clear then import) modes. Validates file format. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/Lint111/hacknplan-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server