Skip to main content
Glama
jakedx6
by jakedx6

create_initiative

Create a new strategic initiative by defining its name, objective, priority, and associated projects to organize and track organizational goals within the Helios-9 project management system.

Instructions

Create a new initiative

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the initiative
objectiveYesThe strategic objective of the initiative
descriptionNoOptional detailed description
statusNoInitial status of the initiativeplanning
priorityNoPriority levelmedium
owner_idYesID of the initiative owner
project_idsYesIDs of projects this initiative belongs to (at least one required)
start_dateNoOptional start date
target_dateNoOptional target completion date
metadataNoOptional metadata
tagsNoOptional tags

Implementation Reference

  • The core handler function for the 'create_initiative' MCP tool. Validates input with Zod, logs activity, creates the initiative via supabaseService, and returns the result with success message.
    export const createInitiative = requireAuth(async (args: any) => { const initiativeData = CreateInitiativeSchema.parse(args) logger.info('Creating new initiative', { name: initiativeData.name, project_ids: initiativeData.project_ids }) // Create the initiative with project_ids included const initiative = await supabaseService.createInitiative({ name: initiativeData.name, objective: initiativeData.objective, description: initiativeData.description || null, status: initiativeData.status, priority: initiativeData.priority, owner_id: initiativeData.owner_id, start_date: initiativeData.start_date || null, target_date: initiativeData.target_date || null, metadata: initiativeData.metadata || {}, tags: initiativeData.tags || [], project_ids: initiativeData.project_ids // Pass project_ids to API } as any) logger.info('Initiative created successfully', { initiative_id: initiative.id, name: initiative.name }) return { initiative, message: `Initiative "${initiative.name}" created successfully` } })
  • Zod validation schema used by the createInitiative handler to parse and validate tool input arguments.
    const CreateInitiativeSchema = z.object({ name: z.string().min(1).max(255), objective: z.string().min(1), description: z.string().optional(), status: z.enum(['planning', 'active', 'on_hold', 'completed', 'cancelled']).default('planning'), priority: z.enum(['critical', 'high', 'medium', 'low']).default('medium'), owner_id: z.string().uuid(), project_ids: z.array(z.string().uuid()).min(1), // Required: at least one project start_date: z.string().datetime().optional(), target_date: z.string().datetime().optional(), metadata: z.object({}).optional(), tags: z.array(z.string()).optional() })
  • MCPTool object registration defining the 'create_initiative' tool with its name, description, and detailed inputSchema for the protocol.
    export const createInitiativeTool: MCPTool = { name: 'create_initiative', description: 'Create a new initiative', inputSchema: { type: 'object', properties: { name: { type: 'string', minLength: 1, maxLength: 255, description: 'The name of the initiative' }, objective: { type: 'string', minLength: 1, description: 'The strategic objective of the initiative' }, description: { type: 'string', description: 'Optional detailed description' }, status: { type: 'string', enum: ['planning', 'active', 'on_hold', 'completed', 'cancelled'], default: 'planning', description: 'Initial status of the initiative' }, priority: { type: 'string', enum: ['critical', 'high', 'medium', 'low'], default: 'medium', description: 'Priority level' }, owner_id: { type: 'string', format: 'uuid', description: 'ID of the initiative owner' }, project_ids: { type: 'array', items: { type: 'string', format: 'uuid' }, minItems: 1, description: 'IDs of projects this initiative belongs to (at least one required)' }, start_date: { type: 'string', format: 'date-time', description: 'Optional start date' }, target_date: { type: 'string', format: 'date-time', description: 'Optional target completion date' }, metadata: { type: 'object', description: 'Optional metadata' }, tags: { type: 'array', items: { type: 'string' }, description: 'Optional tags' } }, required: ['name', 'objective', 'owner_id', 'project_ids'] } }
  • Exported object mapping tool names (snake_case) to their handler functions, including 'create_initiative' to createInitiative. Used by other modules like prompt-to-project.ts.
    export const initiativeHandlers = { list_initiatives: listInitiatives, get_initiative: getInitiative, create_initiative: createInitiative, update_initiative: updateInitiative, get_initiative_context: getInitiativeContext, get_initiative_insights: getInitiativeInsights, search_workspace: searchWorkspace, get_enhanced_project_context: getEnhancedProjectContext, get_workspace_context: getWorkspaceContext, associate_document_with_initiative: associateDocumentWithInitiative, disassociate_document_from_initiative: disassociateDocumentFromInitiative }
  • Exported object collecting all initiative-related MCPTool objects, including createInitiativeTool for registration in the broader toolset.
    export const initiativeTools = { listInitiativesTool, getInitiativeTool, createInitiativeTool, updateInitiativeTool, getInitiativeContextTool, getInitiativeInsightsTool, searchWorkspaceTool, getEnhancedProjectContextTool, getWorkspaceContextTool, associateDocumentWithInitiativeTool, disassociateDocumentFromInitiativeTool }

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/jakedx6/helios9-MCP-Server'

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