Loops MCP connector
OAuth 2.1/DCRProject 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_idsarrayrequiredArray of task IDs to updateloop_idstringoptionalLoop ID to assign all tasks to (null to unassign)prioritystringoptionalNew priority for all tasksstatusstringoptionalNew status for all tasksloopsmcp_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_idstringrequiredThe 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.
namestringrequiredLoop name (e.g., "v2 Auth Refactor", "Payment Bug Fixes")ai_contextstringoptionalAgent instructions for this loop: scope, constraints, architecture decisions, specific requirements. This is shown to implementing agents alongside each task.descriptionstringoptionalHuman-readable description of the loopvisibilitystringoptionalVisibility: "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_namestringrequiredName for the new looptask_idsarrayrequiredArray of task IDs to assign to the new looploop_descriptionstringoptionalDescription for the new looploopsmcp_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.
titlestringrequiredTask title — a concise summary of what needs to be donebodystringoptionalAgent prompt: detailed instructions for the AI agent that will implement this task. Include specific requirements, acceptance criteria, and any context needed.loop_idstringoptionalOptional loop ID to assign the task to immediatelyprioritystringoptionalTask 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_idstringrequiredThe 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_idstringrequiredThe 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_idstringrequiredThe 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).
workflowstringrequiredWhich workflow: triage, organize, implement, or manageloopsmcp_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.
prioritystringoptionalFilter by priority: none, low, medium, high, urgentstatusstringoptionalFilter by status: open (new), approved (ready for implementation), in_progress, shipped (done), rejectedloopsmcp_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_idstringrequiredThe 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_idsarrayrequiredArray 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_idstringrequiredThe loop ID (ULID format)prioritynumberrequiredThe 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_idstringrequiredThe 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_idstringrequiredThe task ID (ULID format)bodystringoptionalNew agent prompt (implementation instructions)due_datestringoptionalDue date in YYYY-MM-DD format (null to clear)loop_idstringoptionalLoop ID to assign to (null to unassign from loop)prioritystringoptionalNew prioritystatusstringoptionalNew status: approved (approve for implementation), rejected (decline), in_progress (being worked on), shipped (done), on_hold (paused)titlestringoptionalNew task title