Skip to main content
Glama
TAgents

Planning System MCP Server

by TAgents

create_node

Add phases, tasks, or milestones to hierarchical project plans. Specify parent relationships, status, due dates, and completion criteria to structure project planning.

Instructions

Create a new node in a plan

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idYesPlan ID
parent_idNoParent node ID (optional, defaults to root)
node_typeYesNode type
titleYesNode title
descriptionNoNode description
statusNoNode statusnot_started
contextNoAdditional context for the node
agent_instructionsNoInstructions for AI agents working on this node
acceptance_criteriaNoCriteria for node completion
due_dateNoDue date (ISO format)
metadataNoAdditional metadata

Implementation Reference

  • Handler for the create_node MCP tool. Destructures plan_id from arguments, passes remaining nodeData to apiClient.nodes.createNode, and formats the response using formatResponse.
    if (name === "create_node") { const { plan_id, ...nodeData } = args; const result = await apiClient.nodes.createNode(plan_id, nodeData); return formatResponse(result); }
  • Input schema definition for create_node tool, specifying properties, types, enums, descriptions, and required fields.
    inputSchema: { type: "object", properties: { plan_id: { type: "string", description: "Plan ID" }, parent_id: { type: "string", description: "Parent node ID (optional, defaults to root)" }, node_type: { type: "string", description: "Node type", enum: ["phase", "task", "milestone"] }, title: { type: "string", description: "Node title" }, description: { type: "string", description: "Node description" }, status: { type: "string", description: "Node status", enum: ["not_started", "in_progress", "completed", "blocked"], default: "not_started" }, context: { type: "string", description: "Additional context for the node" }, agent_instructions: { type: "string", description: "Instructions for AI agents working on this node" }, acceptance_criteria: { type: "string", description: "Criteria for node completion" }, due_date: { type: "string", description: "Due date (ISO format)" }, metadata: { type: "object", description: "Additional metadata" } }, required: ["plan_id", "node_type", "title"]
  • src/tools.js:170-199 (registration)
    Tool registration in the MCP tools list returned by ListToolsRequestSchema handler, including name, description, and inputSchema.
    { name: "create_node", description: "Create a new node in a plan", inputSchema: { type: "object", properties: { plan_id: { type: "string", description: "Plan ID" }, parent_id: { type: "string", description: "Parent node ID (optional, defaults to root)" }, node_type: { type: "string", description: "Node type", enum: ["phase", "task", "milestone"] }, title: { type: "string", description: "Node title" }, description: { type: "string", description: "Node description" }, status: { type: "string", description: "Node status", enum: ["not_started", "in_progress", "completed", "blocked"], default: "not_started" }, context: { type: "string", description: "Additional context for the node" }, agent_instructions: { type: "string", description: "Instructions for AI agents working on this node" }, acceptance_criteria: { type: "string", description: "Criteria for node completion" }, due_date: { type: "string", description: "Due date (ISO format)" }, metadata: { type: "object", description: "Additional metadata" } }, required: ["plan_id", "node_type", "title"] } },
  • Helper function in apiClient.nodes that makes the HTTP POST request to create the node via the backend API.
    createNode: async (planId, nodeData) => { const response = await apiClient.post(`/plans/${planId}/nodes`, nodeData); return response.data; },

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/TAgents/agent-planner-mcp'

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