Skip to main content
Glama
jakedx6

Helios-9 MCP Server

by jakedx6

update_project

Modify project details like name, description, and status in the Helios-9 project management system to keep information current and accurate.

Instructions

Update an existing project with new information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesThe unique identifier of the project to update
nameNoNew name for the project
descriptionNoNew description for the project
statusNoNew status for the project

Implementation Reference

  • Core handler function that validates input using UpdateProjectSchema, logs the update attempt, calls supabaseService.updateProject to perform the database update, logs success, and returns the updated project object with a confirmation message.
    export const updateProject = requireAuth(async (args: any) => {
      const { project_id, ...updates } = UpdateProjectSchema.parse(args)
      
      logger.info('Updating project', { project_id, updates })
      
      const project = await supabaseService.updateProject(project_id, updates)
      
      logger.info('Project updated successfully', { project_id: project.id })
      
      return {
        project,
        message: `Project "${project.name}" updated successfully`
      }
    })
  • Zod schema defining the input structure for the update_project tool, validating project_id as UUID and optional fields for name, description, and status.
    const UpdateProjectSchema = z.object({
      project_id: z.string().uuid(),
      name: z.string().min(1).max(255).optional(),
      description: z.string().optional(),
      status: z.enum(['active', 'completed', 'archived']).optional(),
      // Removed priority, metadata as they don't exist in the database schema
    })
  • MCPTool object registration defining the 'update_project' tool with its name, description, and JSON input schema compatible with the MCP protocol.
    export const updateProjectTool: MCPTool = {
      name: 'update_project',
      description: 'Update an existing project with new information',
      inputSchema: {
        type: 'object',
        properties: {
          project_id: {
            type: 'string',
            format: 'uuid',
            description: 'The unique identifier of the project to update'
          },
          name: {
            type: 'string',
            minLength: 1,
            maxLength: 255,
            description: 'New name for the project'
          },
          description: {
            type: 'string',
            description: 'New description for the project'
          },
          status: {
            type: 'string',
            enum: ['active', 'completed', 'archived'],
            description: 'New status for the project'
          },
          // Removed priority, metadata as they don't exist in the database schema
        },
        required: ['project_id']
      }
    }
  • Export of projectHandlers object that maps tool names to their handler functions, including 'update_project: updateProject', used for MCP tool registration.
    export const projectHandlers = {
      list_projects: listProjects,
      get_project: getProject,
      create_project: createProject,
      update_project: updateProject,
      get_project_context: getProjectContext,
      archive_project: archiveProject,
      duplicate_project: duplicateProject,
      get_project_timeline: getProjectTimeline,
      bulk_update_projects: bulkUpdateProjects
    }
  • supabaseService.updateProject helper method that makes an authenticated PATCH request to the backend API endpoint /api/mcp/projects/{projectId} to update the project data.
    async updateProject(projectId: string, updates: Partial<Project>): Promise<Project> {
      const response = await this.request<{ project: Project }>(`/api/mcp/projects/${projectId}`, {
        method: 'PATCH',
        body: JSON.stringify(updates),
      })
      
      return response.project
    }

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