Skip to main content
Glama

create_issue

Create tasks, projects, or work items with hierarchical organization and dependencies in Task Trellis. Supports project-epic-feature-task structures, prerequisites for ordering, and customizable status and priority levels.

Instructions

Creates a new issue in the task trellis system

Use this tool to create new issues such as tasks, projects, or other work items within the task management hierarchy. Issues can have parent-child relationships and dependencies through prerequisites.

Available issue types and hierarchy requirements:

  • 'project': Top-level containers, cannot have a parent

  • 'epic': Can have no parent or a project as a parent

  • 'feature': Can have no parent or an epic as a parent

  • 'task': Can have no parent or a feature as a parent

Supported hierarchy structures:

  • Full hierarchy: project → epic → feature → task

  • Simplified: epic → feature → task

  • Simplified: feature → task

  • Standalone: epic

  • Standalone: task

Available status values:

  • 'draft': Initial state for new issues

  • 'open': Ready to begin work (default)

  • 'open': Ready to begin work

  • 'in-progress': Currently being worked on

  • 'done': Completed successfully

  • 'wont-do': Cancelled or decided against

Available priority values:

  • 'high': Critical or urgent work

  • 'medium': Standard priority (default)

  • 'low': Nice-to-have or future work

Key aspects:

  • Issues support hierarchical organization via parent relationships

  • Prerequisites define execution order dependencies between issues

  • Parent-child relationships must follow the hierarchy rules above

  • The system validates parent types during creation

Best practices:

  • Use descriptive titles that clearly indicate the work to be done

  • Follow the hierarchy constraints for proper organization

  • Set appropriate status based on current work state

  • Define prerequisites to ensure proper task ordering

  • Include detailed descriptions to provide context for the work

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesType of issue to create
titleYesTitle of the issue
parentNoParent issue ID (optional)
priorityNoPriority level (defaults to 'medium')medium
statusNoStatus of the issue (defaults to 'open')open
prerequisitesNoArray of prerequisite issue IDs (defaults to empty array)
descriptionNoDescription of the issue

Implementation Reference

  • The handler function that executes the core logic of the 'create_issue' tool. It destructures the input arguments, applies defaults, type casts, and calls the TaskTrellisService.createObject method to create the new issue/object.
    export async function handleCreateObject( service: TaskTrellisService, repository: Repository, args: unknown, ) { const { type, title, parent, priority = "medium", status = "open", prerequisites = [], description = "", } = args as { type: string; title: string; parent?: string; priority?: string; status?: string; prerequisites?: string[]; description?: string; }; // Delegate to service layer return service.createObject( repository, type as TrellisObjectType, title, parent, priority as TrellisObjectPriority, status as TrellisObjectStatus, prerequisites, description, ); }
  • The input schema definition for the 'create_issue' tool, defining the expected parameters, types, descriptions, defaults, and required fields.
    inputSchema: { type: "object", properties: { type: { type: "string", description: "Type of issue to create", }, title: { type: "string", description: "Title of the issue", }, parent: { type: "string", description: "Parent issue ID (optional)", }, priority: { type: "string", description: "Priority level (defaults to 'medium')", default: "medium", }, status: { type: "string", description: "Status of the issue (defaults to 'open')", default: "open", }, prerequisites: { type: "array", items: { type: "string", }, description: "Array of prerequisite issue IDs (defaults to empty array)", default: [], }, description: { type: "string", description: "Description of the issue", }, }, required: ["type", "title"], },
  • src/server.ts:177-188 (registration)
    Registration of the 'create_issue' tool (as createObjectTool) in the MCP server's listTools handler, where the tool descriptor is included in the array returned to clients.
    const tools: unknown[] = [ createObjectTool, updateObjectTool, getObjectTool, deleteObjectTool, listObjectsTool, appendObjectLogTool, appendModifiedFilesTool, claimTaskTool, getNextAvailableIssueTool, completeTaskTool, ];
  • src/server.ts:256-257 (registration)
    Dispatch registration in the MCP server's CallToolRequestSchema handler switch statement, routing 'create_issue' calls to the handleCreateObject function.
    case "create_issue": return handleCreateObject(_getService(), repository, args);
  • src/server.ts:23-23 (registration)
    Import of the createObjectTool descriptor and its handler from src/tools/createObjectTool.ts for use in server registration.
    createObjectTool,
  • src/server.ts:32-32 (registration)
    Import of the handleCreateObject handler function.
    handleDeleteObject,

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/langadventurellc/task-trellis-mcp'

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