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