Skip to main content
Glama

start_working_session

Initiate a focused task session by specifying the project and next step ID to ensure continuous progress and organized workflow management.

Instructions

Start working on a next step

Input Schema

NameRequiredDescriptionDefault
nextStepIdYesID of the next step to work on
projectIdYesProject identifier

Input Schema (JSON Schema)

{ "properties": { "nextStepId": { "description": "ID of the next step to work on", "type": "string" }, "projectId": { "description": "Project identifier", "type": "string" } }, "required": [ "projectId", "nextStepId" ], "type": "object" }

Implementation Reference

  • Core handler function in ProjectManager class that validates the next step, updates its status, creates and saves a new WorkingSession, and returns it.
    async startWorkingSession(projectId: string, nextStepId: string): Promise<WorkingSession> { const data = await this.loadProjectData(projectId); const step = data.nextSteps.find(s => s.id === nextStepId); if (!step) { throw new ProjectError(`Next step not found: ${nextStepId}`, projectId); } if (step.status !== 'open') { throw new ProjectError(`Next step is not open: ${nextStepId}`, projectId); } step.status = 'in-progress'; step.lastModified = new Date().toISOString(); const session: WorkingSession = { id: `session_${Date.now()}`, nextStepId, startTime: new Date().toISOString(), progressNotes: [], blockers: [], decisions: [] }; data.workingSessions.push(session); await this.saveProjectData(projectId, data); return session; }
  • Input schema definition for the start_working_session tool, specifying required projectId and nextStepId parameters.
    name: "start_working_session", description: "Start working on a next step", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project identifier" }, nextStepId: { type: "string", description: "ID of the next step to work on" } }, required: ["projectId", "nextStepId"] }
  • src/index.ts:468-478 (registration)
    Registration and dispatching logic in the CallToolRequestHandler switch statement that invokes the handler.
    case "start_working_session": const session = await projectManager.startWorkingSession( args.projectId as string, args.nextStepId as string ); return { content: [{ type: "text", text: JSON.stringify(session, null, 2) }] };
  • src/index.ts:346-357 (registration)
    Tool registration in the ListToolsRequestHandler response.
    { name: "start_working_session", description: "Start working on a next step", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project identifier" }, nextStepId: { type: "string", description: "ID of the next step to work on" } }, required: ["projectId", "nextStepId"] } },

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/davidorex/project-handoffs'

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