Loops MCP connector
OAuth 2.1/DCR Project ManagementProductivityAIConnect to Loops MCP. Create and manage loops and tasks, set priorities, track work queue stats, and ship completed loops from your AI workflows.
Loops MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'loopsmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Loops MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'loopsmcp_get_loop_queue',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "loopsmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Loops MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="loopsmcp_get_loop_queue",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update task, bulk — Update a task’s title, body, status, priority, due date, or loop assignment
- Loop ship, reopen, close — Mark a loop as shipped and notify all members via email
- Priority set loop — Set the numeric priority of a loop in the work queue (lower number = higher priority)
- Loops reorder — Bulk reorder loops in the work queue by passing an array of loop IDs in the desired priority order
- List tasks, loops — List unassigned tasks in the workspace, optionally filtered by status or priority
- Get workspace, workflow, task — Get workspace details including the AI context (project-level agent instructions)
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
loopsmcp_bulk_update_tasks
#
Bulk update the status or priority of multiple tasks at once. 4 params
Bulk update the status or priority of multiple tasks at once.
task_ids array required Array of task IDs to update loop_id string optional Loop ID to assign all tasks to (null to unassign) priority string optional New priority for all tasks status string optional New status for all tasks loopsmcp_close_loop
#
Put a loop on hold, pausing work without permanently closing it. 1 param
Put a loop on hold, pausing work without permanently closing it.
loop_id string required The loop ID (ULID format) loopsmcp_create_loop
#
Create a new loop to group related tasks into a development cycle. 4 params
Create a new loop to group related tasks into a development cycle.
name string required Loop name (e.g., "v2 Auth Refactor", "Payment Bug Fixes") ai_context string optional Agent instructions for this loop: scope, constraints, architecture decisions, specific requirements. This is shown to implementing agents alongside each task. description string optional Human-readable description of the loop visibility string optional Visibility: "public" (default) or "private" loopsmcp_create_loop_from_tasks
#
Create a new loop and assign a set of existing tasks to it in one operation. 3 params
Create a new loop and assign a set of existing tasks to it in one operation.
loop_name string required Name for the new loop task_ids array required Array of task IDs to assign to the new loop loop_description string optional Description for the new loop loopsmcp_create_task
#
Create a new task in the workspace with an optional title, body, priority, and loop assignment. 4 params
Create a new task in the workspace with an optional title, body, priority, and loop assignment.
title string required Task title — a concise summary of what needs to be done body string optional Agent prompt: detailed instructions for the AI agent that will implement this task. Include specific requirements, acceptance criteria, and any context needed. loop_id string optional Optional loop ID to assign the task to immediately priority string optional Task priority (default: none) loopsmcp_delete_task
#
Permanently delete a task by its ID. This action cannot be undone. 1 param
Permanently delete a task by its ID. This action cannot be undone.
task_id string required The task ID (ULID format) loopsmcp_get_loop
#
Get a single loop with all its assigned tasks, comments, and AI context. 1 param
Get a single loop with all its assigned tasks, comments, and AI context.
loop_id string required The loop ID (ULID format) loopsmcp_get_loop_queue
#
Get the priority-ordered loop queue for the workspace. 0 params
Get the priority-ordered loop queue for the workspace.
loopsmcp_get_next_work
#
Get the highest-priority loop with approved tasks ready for implementation. 0 params
Get the highest-priority loop with approved tasks ready for implementation.
loopsmcp_get_queue_stats
#
Get work queue statistics for the workspace, including counts of loops with work ready. 0 params
Get work queue statistics for the workspace, including counts of loops with work ready.
loopsmcp_get_task
#
Get a single task with its full agent prompt (body) and all comments. 1 param
Get a single task with its full agent prompt (body) and all comments.
task_id string required The task ID (ULID format) loopsmcp_get_workflow
#
Get step-by-step instructions for a named Loops workflow (triage, organize, implement, or manage). 1 param
Get step-by-step instructions for a named Loops workflow (triage, organize, implement, or manage).
workflow string required Which workflow: triage, organize, implement, or manage loopsmcp_get_workspace
#
Get workspace details including the AI context (project-level agent instructions). 0 params
Get workspace details including the AI context (project-level agent instructions).
loopsmcp_list_loops
#
List all loops in the workspace with task counts, statuses, and AI context. 0 params
List all loops in the workspace with task counts, statuses, and AI context.
loopsmcp_list_tasks
#
List unassigned tasks in the workspace, optionally filtered by status or priority. 2 params
List unassigned tasks in the workspace, optionally filtered by status or priority.
priority string optional Filter by priority: none, low, medium, high, urgent status string optional Filter by status: open (new), approved (ready for implementation), in_progress, shipped (done), rejected loopsmcp_reopen_loop
#
Reopen an on-hold loop, returning it to the active queue. 1 param
Reopen an on-hold loop, returning it to the active queue.
loop_id string required The loop ID (ULID format) loopsmcp_reorder_loops
#
Bulk reorder loops in the work queue by passing an array of loop IDs in the desired priority order. 1 param
Bulk reorder loops in the work queue by passing an array of loop IDs in the desired priority order.
loop_ids array required Array of loop IDs in priority order (first = highest priority) loopsmcp_set_loop_priority
#
Set the numeric priority of a loop in the work queue (lower number = higher priority). 2 params
Set the numeric priority of a loop in the work queue (lower number = higher priority).
loop_id string required The loop ID (ULID format) priority number required The priority value (0 = highest priority) loopsmcp_ship_loop
#
Mark a loop as shipped and notify all members via email. 1 param
Mark a loop as shipped and notify all members via email.
loop_id string required The loop ID (ULID format) loopsmcp_update_task
#
Update a task's title, body, status, priority, due date, or loop assignment. 7 params
Update a task's title, body, status, priority, due date, or loop assignment.
task_id string required The task ID (ULID format) body string optional New agent prompt (implementation instructions) due_date string optional Due date in YYYY-MM-DD format (null to clear) loop_id string optional Loop ID to assign to (null to unassign from loop) priority string optional New priority status string optional New status: approved (approve for implementation), rejected (decline), in_progress (being worked on), shipped (done), on_hold (paused) title string optional New task title