Skip to main content
Glama

timeline_remove_track

Delete a track and all its associated events from the Timeline MCP Server to manage social media content automation.

Instructions

Remove a track and all its associated events. WARNING: This will delete all events in the track.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
trackIdYes

Implementation Reference

  • Handler function that verifies the track exists, counts associated events, deletes the track (cascading to events), and returns success with details.
    execute: async (params) => { const db = await getDb(); // Get track details before deletion const [track] = await db.select() .from(tracks) .where(eq(tracks.id, params.trackId)) .limit(1); if (!track) { return JSON.stringify({ success: false, message: `Track ${params.trackId} not found` }, null, 2); } // Get count of events that will be deleted const eventsInTrack = await db.select() .from(events) .where(eq(events.trackId, params.trackId)); // Delete the track (cascade will handle events) await db.delete(tracks).where(eq(tracks.id, params.trackId)); return JSON.stringify({ success: true, message: `Track "${track.name}" removed successfully`, deletedEvents: eventsInTrack.length, trackType: track.type }, null, 2); }
  • Input schema using Zod: requires a trackId as a UUID string.
    parameters: z.object({ trackId: z.string().uuid() }),
  • Tool registration via FastMCP's mcp.addTool method, specifying name, description, input schema, and execute handler.
    mcp.addTool({ name: 'timeline_remove_track', description: 'Remove a track and all its associated events. WARNING: This will delete all events in the track.', parameters: z.object({ trackId: z.string().uuid() }), execute: async (params) => { const db = await getDb(); // Get track details before deletion const [track] = await db.select() .from(tracks) .where(eq(tracks.id, params.trackId)) .limit(1); if (!track) { return JSON.stringify({ success: false, message: `Track ${params.trackId} not found` }, null, 2); } // Get count of events that will be deleted const eventsInTrack = await db.select() .from(events) .where(eq(events.trackId, params.trackId)); // Delete the track (cascade will handle events) await db.delete(tracks).where(eq(tracks.id, params.trackId)); return JSON.stringify({ success: true, message: `Track "${track.name}" removed successfully`, deletedEvents: eventsInTrack.length, trackType: track.type }, null, 2); } });

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/derekalia/timeline-mcp'

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