Skip to main content
Glama

toggle_complete

Mark a node as complete or incomplete in mcp-workflowy by specifying its ID and desired completion status.

Instructions

Toggle completion status of a node

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeIdYesID of the node to toggle completion status
completedYesWhether the node should be marked as complete (true) or incomplete (false)

Implementation Reference

  • Registration of the toggle_complete tool, including input schema (nodeId: string, completed: boolean) and handler that wraps the client call with error handling and response formatting.
    toggle_complete: { description: "Toggle completion status of a node", inputSchema: { nodeId: z.string().describe("ID of the node to toggle completion status"), completed: z.boolean().describe("Whether the node should be marked as complete (true) or incomplete (false)") }, handler: async ({ nodeId, completed, username, password }: { nodeId: string, completed: boolean, username?: string, password?: string }, client: typeof workflowyClient) => { try { await workflowyClient.toggleComplete(nodeId, completed, username, password); return { content: [{ type: "text", text: `Successfully ${completed ? "completed" : "uncompleted"} node ${nodeId}` }] }; } catch (error: any) { return { content: [{ type: "text", text: `Error toggling completion status: ${error.message}` }] }; } } }
  • Core implementation of toggleComplete in WorkflowyClient class: authenticates, finds the node by ID, sets completed status using Workflowy API, and saves changes if dirty.
    async toggleComplete(nodeId: string, completed: boolean, username?: string, password?: string) { const { wf } = await this.createAuthenticatedClient(username, password); const doc = await wf.getDocument(); const node = doc.root.items.find(item => item.id === nodeId); if (!node) { throw new Error(`Node with ID ${nodeId} not found.`); } if (completed) { await node.setCompleted(); } else { await node.setCompleted(false); } if (doc.isDirty()) { // Saves the changes if there are any await doc.save(); } }

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/danield137/mcp-workflowy'

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