Skip to main content
Glama

activate

Initialize and configure the Task Trellis system for task management. Choose local mode for single-user workflows or remote mode for team collaboration. Validates parameters, sets up storage, and prepares the system for task operations.

Instructions

Activates the task trellis system in local or remote mode

Use this tool to initialize and configure the task trellis system for operation. Must be called before any other task management operations can be performed.

Activation modes:

  • 'local': Uses local file system for task storage and management

  • 'remote': Connects to remote task trellis service via API

Local mode requirements:

  • 'projectRoot': Absolute path to project directory where tasks will be stored

  • Creates local .task-trellis directory for data persistence

  • Suitable for single-user development workflows

  • No network dependencies once activated

Remote mode requirements:

  • 'apiToken': Authentication token for remote service access

  • 'remoteProjectId': Unique identifier for remote project instance

  • 'url': Service endpoint (optional, uses default if not specified)

  • Enables collaborative task management across distributed teams

  • Requires network connectivity for all operations

Activation process:

  1. Validates mode-specific parameters and connectivity

  2. Initializes data storage (local directory or remote connection)

  3. Verifies authentication and permissions

  4. Sets up task trellis schema and configuration

  5. Prepares system for task creation and management

Error conditions:

  • Invalid projectRoot path (local mode)

  • Authentication failure (remote mode)

  • Network connectivity issues (remote mode)

  • Insufficient file system permissions (local mode)

Must be successfully completed before using any other task trellis tools. Re-activation with different parameters switches modes and resets system state.

Input Schema

NameRequiredDescriptionDefault
apiTokenNoAPI token (required for remote mode)
modeYesMode to activate (local or remote)
projectRootNoProject root path (required for local mode)
remoteProjectIdNoRemote project ID (required for remote mode)
urlNoURL for remote mode (optional, for non-standard URLs)

Input Schema (JSON Schema)

{ "properties": { "apiToken": { "description": "API token (required for remote mode)", "type": "string" }, "mode": { "description": "Mode to activate (local or remote)", "enum": [ "local", "remote" ], "type": "string" }, "projectRoot": { "description": "Project root path (required for local mode)", "type": "string" }, "remoteProjectId": { "description": "Remote project ID (required for remote mode)", "type": "string" }, "url": { "description": "URL for remote mode (optional, for non-standard URLs)", "type": "string" } }, "required": [ "mode" ], "type": "object" }

Implementation Reference

  • Handles execution of the 'activate' tool by parsing arguments, updating the server configuration (mode, planningRootFolder, remote settings), and returning activation confirmation message.
    if (toolName === "activate") { const { mode, projectRoot, apiToken, url, remoteProjectId } = args as { mode: "local" | "remote"; projectRoot?: string; apiToken?: string; url?: string; remoteProjectId?: string; }; // Update server config based on activate parameters serverConfig.mode = mode; if (mode === "local" && projectRoot) { serverConfig.planningRootFolder = path.join(projectRoot, ".trellis"); } else if (mode === "remote") { if (url) serverConfig.remoteRepositoryUrl = url; if (apiToken) serverConfig.remoteRepositoryApiToken = apiToken; if (remoteProjectId) serverConfig.remoteProjectId = remoteProjectId; } return { content: [ { type: "text", text: `Activated in ${mode} mode. Server config updated: ${JSON.stringify( serverConfig, null, 2, )}`, }, ], }; }
  • Defines the input schema for the 'activate' tool, specifying parameters like mode (local/remote), projectRoot, apiToken, url, and remoteProjectId with descriptions and requirements.
    inputSchema: { type: "object", properties: { mode: { type: "string", enum: ["local", "remote"], description: "Mode to activate (local or remote)", }, projectRoot: { type: "string", description: "Project root path (required for local mode)", }, apiToken: { type: "string", description: "API token (required for remote mode)", }, url: { type: "string", description: "URL for remote mode (optional, for non-standard URLs)", }, remoteProjectId: { type: "string", description: "Remote project ID (required for remote mode)", }, }, required: ["mode"], }, } as const;
  • src/server.ts:190-194 (registration)
    Conditionally registers the 'activate' tool in the ListTools response only if the server is in local mode without a pre-configured planning root folder.
    // Only include activate tool if server is not properly configured from command line // (i.e., local mode without projectRootFolder specified) if (serverConfig.mode === "local" && !serverConfig.planningRootFolder) { tools.push(activateTool); }
  • Pre-validation check in CallTool handler that blocks non-activate tools if local mode lacks planning root folder, directing users to call 'activate' first.
    // Validate that local mode requires planning root folder for all tools except activate if ( serverConfig.mode === "local" && !serverConfig.planningRootFolder && toolName !== "activate" ) { return { content: [ { type: "text", text: "Planning root folder is not configured. Please call the 'activate' tool with the project's root folder first.", }, ], }; }
  • Complete tool definition object for 'activate', including name, detailed description of usage/modes/requirements, and input schema.
    export const activateTool = { name: "activate", description: `Activates the task trellis system in local or remote mode Use this tool to initialize and configure the task trellis system for operation. Must be called before any other task management operations can be performed. Activation modes: - 'local': Uses local file system for task storage and management - 'remote': Connects to remote task trellis service via API Local mode requirements: - 'projectRoot': Absolute path to project directory where tasks will be stored - Creates local .task-trellis directory for data persistence - Suitable for single-user development workflows - No network dependencies once activated Remote mode requirements: - 'apiToken': Authentication token for remote service access - 'remoteProjectId': Unique identifier for remote project instance - 'url': Service endpoint (optional, uses default if not specified) - Enables collaborative task management across distributed teams - Requires network connectivity for all operations Activation process: 1. Validates mode-specific parameters and connectivity 2. Initializes data storage (local directory or remote connection) 3. Verifies authentication and permissions 4. Sets up task trellis schema and configuration 5. Prepares system for task creation and management Error conditions: - Invalid projectRoot path (local mode) - Authentication failure (remote mode) - Network connectivity issues (remote mode) - Insufficient file system permissions (local mode) Must be successfully completed before using any other task trellis tools. Re-activation with different parameters switches modes and resets system state.`, inputSchema: { type: "object", properties: { mode: { type: "string", enum: ["local", "remote"], description: "Mode to activate (local or remote)", }, projectRoot: { type: "string", description: "Project root path (required for local mode)", }, apiToken: { type: "string", description: "API token (required for remote mode)", }, url: { type: "string", description: "URL for remote mode (optional, for non-standard URLs)", }, remoteProjectId: { type: "string", description: "Remote project ID (required for remote mode)", }, }, required: ["mode"], }, } as const;

Other Tools

Related Tools

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