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'). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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