MCP
MCP tools are how agents get work done in Bakin. They create and move tasks, advance workflows, manage assets and projects, search local state, send messages, schedule recurring work, and check system health.
Use this reference when you need the exact tool name, the arguments it accepts, and a copyable call shape.
Assets
Section titled “Assets”Asset tools let agents list, inspect, save, link, restore, and clean up files managed by Bakin.
Audit asset health: check for missing thumbnails, invalid sidecars, orphaned files. Set fix=true to auto-generate missing thumbnails and create stub sidecars.
mcporter call bakin-<agent>.bakin_exec_assets_audit --args '{ "type": "value", "fix": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
type | choice | no | Limit audit to a specific asset type |
fix | boolean | no | Auto-fix issues where possible |
Soft-delete an asset (moves to trash, restorable until trash is emptied).
mcporter call bakin-<agent>.bakin_exec_assets_delete --args '{ "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-hero-a1b2c3d4.png") |
Permanently delete all items from trash. This cannot be undone.
mcporter call bakin-<agent>.bakin_exec_assets_empty_trashRetrieve a single asset's sidecar metadata by canonical filename.
mcporter call bakin-<agent>.bakin_exec_assets_get --args '{ "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-hero-a1b2c3d4.png") |
Link an asset to a different task, or unlink it (set taskId to null). Sidecar-only edit — no file move.
mcporter call bakin-<agent>.bakin_exec_assets_link --args '{ "filename": "value", "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-hero-a1b2c3d4.png") |
taskId | string | yes | Target task ID, or null to unlink |
List assets with optional type filter. Returns asset count, canonical filenames, and metadata.
mcporter call bakin-<agent>.bakin_exec_assets_list --args '{ "type": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
type | choice | no | Filter by asset type |
List trashed assets with name, size, deleted timestamp, and days remaining before auto-purge.
mcporter call bakin-<agent>.bakin_exec_assets_list_trashOpen an attached asset by canonical filename. Returns sidecar metadata plus extracted text for text-like assets; non-extractable assets return metadata-only status.
mcporter call bakin-<agent>.bakin_exec_assets_open --args '{ "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-hero-a1b2c3d4.png") |
Permanently delete a specific trashed asset. This cannot be undone.
mcporter call bakin-<agent>.bakin_exec_assets_permanent_delete --args '{ "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | The trash filename (includes __deleted- suffix) |
Restore a trashed asset back to its original location. Use bakin_exec_assets_list_trash first to get the filename.
mcporter call bakin-<agent>.bakin_exec_assets_restore --args '{ "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | The trash filename (includes __deleted- suffix) |
Change an asset's type classification. Sidecar-only edit — no file move.
mcporter call bakin-<agent>.bakin_exec_assets_retype --args '{ "filename": "value", "type": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-hero-a1b2c3d4.png") |
type | choice | yes |
Save an agent-created file to the assets directory with standardized naming (YYYYMMDD-slug.ext) and sidecar metadata. Handles directory creation, naming conventions, and .meta.json automatically.
mcporter call bakin-<agent>.bakin_exec_assets_save --args '{ "filePath": "value", "taskId": "value", "type": "value", "description": "value", "tags": [ "value" ], "tool": "value", "slug": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filePath | string | yes | Absolute path to the source file to save |
taskId | string | yes | Task ID to record in sidecar metadata |
type | choice | yes | |
description | string | no | One-sentence summary visible in the asset grid and search. Be specific — "Q2 blog hero image" not "an image". |
tags | array | no | Lowercase hyphenated tags for filtering. Use domain tags (social, blog), format tags (draft, final), and project tags. |
tool | string | no | Tool used to generate (e.g., "dall-e-3", "nano-banana-pro") |
slug | string | no | Custom filename slug. Auto-derived from source filename if omitted. |
Update the text content of an editable asset. Only works for text-based MIME types (markdown, plain text, YAML, JSON, CSV, XML). Rewrites the entire file.
mcporter call bakin-<agent>.bakin_exec_assets_update_content --args '{ "filename": "value", "content": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filename | string | yes | Canonical asset filename (e.g. "20260401-doc-a1b2c3d4.md") |
content | string | yes | New file content (replaces entire file) |
MCP tools discovered from registered exec tool definitions.
Get a human-readable overview of all gate statuses in a workflow. Shows which gates are approved, waiting, or pending.
mcporter call bakin-<agent>.bakin_exec_check_gates --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID (or workflow instance ID) |
Generation tools create or import media through Bakin so outputs land in the asset pipeline with task context.
Generate an image via Gemini Imagen (Nano Banana), or import an existing image file into the asset pipeline via filePath. Default model: flash (cheaper). Use model=pro for higher quality. Default: 1080x1920 portrait (9:16) for Stories/Reels. Presets: social-portrait, social-square, social-landscape, custom. Auto-generates thumbnail. Max ${MAX_IMAGE_EDGE}px on any edge.
mcporter call bakin-<agent>.bakin_exec_gen_image --args '{ "prompt": "value", "filePath": "value", "taskId": "value", "preset": "value", "width": 20, "height": 20, "model": "value", "thumbnail": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
prompt | string | no | Image generation prompt (required for Gemini generation, optional description for raw file import) |
filePath | string | no | Path to an existing image file to import through the asset pipeline (skips Gemini generation) |
taskId | string | yes | Task ID for asset organization |
preset | choice | no | Size preset (default: social-portrait = 1080x1920) |
width | number | no | Custom width (only when preset=custom, max ${MAX_IMAGE_EDGE}) |
height | number | no | Custom height (only when preset=custom, max ${MAX_IMAGE_EDGE}) |
model | choice | no | Model tier: flash (default, cheaper) or pro (higher quality) |
thumbnail | boolean | no | Generate a 400px WebP thumbnail for UI previews (default: true) |
Runtime lookup tools return local Bakin paths and state agents should not hardcode.
Get Bakin content directory paths — where to find assets, team info, docs, etc.
mcporter call bakin-<agent>.bakin_exec_get_pathsGet the current workflow step as human-readable formatted text. Includes instructions, prior outputs, schema, and rejection context in a clear structure.
mcporter call bakin-<agent>.bakin_exec_get_step --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
MCP tools discovered from registered exec tool definitions.
Create or reuse an isolated git worktree for a task. Call this before editing code for a Bakin task.
mcporter call bakin-<agent>.bakin_exec_git_prepare_worktreeRelease a tracked git worktree. Refuses dirty removal unless force=true.
mcporter call bakin-<agent>.bakin_exec_git_release_worktreeList Bakin-tracked git worktrees and their dirty state.
mcporter call bakin-<agent>.bakin_exec_git_statusHealth
Section titled “Health”Health tools let agents check whether Bakin is running correctly before or during work.
Run system diagnostics (agent roster, skill sync, runtime, taskboard, assets, etc.). Returns detailed check results. Use fresh=true to force a full re-check instead of returning cached results.
mcporter call bakin-<agent>.bakin_exec_health_doctor --args '{ "fresh": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
fresh | boolean | no | Force fresh diagnostics instead of cached results |
Get a quick system health summary — uptime, memory, active MCP sessions, and doctor error/warning counts. Useful for checking system state before starting work.
mcporter call bakin-<agent>.bakin_exec_health_statusHeartbeat
Section titled “Heartbeat”Heartbeat tools let agents publish lightweight status so Bakin can show who is active and what they are doing.
Write a heartbeat signal. Call periodically (every 5-10 minutes) to indicate you are alive. Also call when starting or finishing a task.
mcporter call bakin-<agent>.bakin_exec_heartbeat --args '{ "status": "value", "currentTask": "value", "message": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
status | choice | no | Current status |
currentTask | string | no | Task ID currently being worked on |
message | string | no | Brief status note |
Lesson
Section titled “Lesson”MCP tools discovered from registered exec tool definitions.
Search the enabled agent-package lessons for the calling agent.
mcporter call bakin-<agent>.bakin_exec_lesson_search --args '{ "query": "value", "limit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
query | string | yes | Search query |
limit | number | no | Max lessons to return (default from settings, max 10) |
Logging tools record progress updates in Bakin task history and audit surfaces.
Log a formatted progress update with category and stage tags. Categories: start, progress, milestone, blocked, complete. More structured than raw bakin_exec_tasks_log_progress.
mcporter call bakin-<agent>.bakin_exec_log --args '{ "taskId": "value", "message": "value", "category": "value", "stage": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
message | string | yes | Human-readable status update |
category | choice | no | Log category (default: progress) |
stage | string | no | Workflow stage tag (e.g., "image-gen", "copy-review") |
Memory
Section titled “Memory”Memory tools expose indexed runtime memory, sessions, turns, checkpoints, and status to agents.
Fetch a session by key plus its most recent turns.
mcporter call bakin-<agent>.bakin_exec_memory_get_session --args '{ "sessionKey": "value", "agent": "value", "turnLimit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionKey | string | yes | Session key (required) |
agent | string | no | Narrow to a single agent |
turnLimit | number | no | Max turns to include (default 50) |
Fetch a single turn by id (the `turn:<hex>` form).
mcporter call bakin-<agent>.bakin_exec_memory_get_turn --args '{ "turnId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
turnId | string | yes | Turn id (required, e.g. turn:abc123...) |
Agents with memory rows, each with total count and per-tier breakdown.
mcporter call bakin-<agent>.bakin_exec_memory_list_agentsHybrid search across every memory tier (sessions, turns, checkpoints, daily notes, dreams, durable, audit). Optional tier/agent filters.
mcporter call bakin-<agent>.bakin_exec_memory_search --args '{ "query": "value", "agent": "value", "limit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
query | string | no | Search query (required) |
agent | string | no | Filter to a single agent id |
limit | number | no | Max results (default 20, max 100) |
Indexer health: per-tier row counts, offset tracking, snapshot timestamp.
mcporter call bakin-<agent>.bakin_exec_memory_statusMessaging
Section titled “Messaging”Messaging tools let agents create, update, approve, reject, and inspect human-facing messages and sessions.
Approve a messaging item (draft → scheduled, review → published)
mcporter call bakin-<agent>.bakin_exec_messaging_approve --args '{ "itemId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
itemId | string | yes | Item ID (required) |
Create a new messaging item
mcporter call bakin-<agent>.bakin_exec_messaging_create --args '{ "title": "value", "agent": "value", "scheduledAt": "value", "channels": [ "value" ], "contentType": "value", "tone": "value", "brief": "value", "status": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
title | string | yes | Item title (required) |
agent | string | yes | Assigned agent (required) |
scheduledAt | string | yes | ISO datetime for scheduling (required) |
channels | array | no | Runtime channel IDs (default: ["general"]) |
contentType | string | no | Content type id from the messaging contentTypes setting (e.g. post, article, video) |
tone | string | no | Content tone (energetic, calm, educational, etc.) |
brief | string | no | Content brief |
status | string | no | Initial status (default: draft) |
Delete a messaging item
mcporter call bakin-<agent>.bakin_exec_messaging_delete --args '{ "itemId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
itemId | string | yes | Item ID (required) |
Get details for a single messaging item
mcporter call bakin-<agent>.bakin_exec_messaging_get --args '{ "itemId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
itemId | string | yes | Item ID (required) |
List messaging items with optional filters
mcporter call bakin-<agent>.bakin_exec_messaging_list --args '{ "month": "value", "status": "value", "agent": "value", "channel": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
month | string | no | Filter by month (YYYY-MM) |
status | string | no | Filter by status (draft, scheduled, review, published, etc.) |
agent | string | no | Filter by assigned agent |
channel | string | no | Filter by runtime channel ID (e.g. general, announcements) |
Update a proposal status or fields (approve, reject, edit)
mcporter call bakin-<agent>.bakin_exec_messaging_proposal_update --args '{ "sessionId": "value", "proposalId": "value", "status": "value", "title": "value", "brief": "value", "tone": "value", "scheduledAt": "value", "channels": [ "value" ], "rejectionNote": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
proposalId | string | yes | Proposal ID (required) |
status | string | no | New status (proposed, approved, rejected, revised) |
title | string | no | Updated title |
brief | string | no | Updated brief |
tone | string | no | Updated tone |
scheduledAt | string | no | Updated schedule datetime |
channels | array | no | Updated channels |
rejectionNote | string | no | Note explaining rejection |
Reject a messaging item back to draft status
mcporter call bakin-<agent>.bakin_exec_messaging_reject --args '{ "itemId": "value", "note": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
itemId | string | yes | Item ID (required) |
note | string | no | Rejection note / feedback |
Confirm a planning session — creates messaging items from approved proposals
mcporter call bakin-<agent>.bakin_exec_messaging_session_confirm --args '{ "sessionId": "value", "autoApprove": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
autoApprove | boolean | no | Auto-approve: create items in scheduled status instead of draft |
Create a new planning session for an agent
mcporter call bakin-<agent>.bakin_exec_messaging_session_create --args '{ "agentId": "value", "title": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID (required) |
title | string | no | Session title |
Delete a planning session
mcporter call bakin-<agent>.bakin_exec_messaging_session_delete --args '{ "sessionId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
Get a planning session with full message history and proposals
mcporter call bakin-<agent>.bakin_exec_messaging_session_get --args '{ "sessionId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
List planning sessions with optional filters
mcporter call bakin-<agent>.bakin_exec_messaging_session_list --args '{ "status": "value", "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
status | string | no | Filter by status (active, completed) |
agentId | string | no | Filter by agent ID |
Send a message in a planning session (non-streaming, returns full response)
mcporter call bakin-<agent>.bakin_exec_messaging_session_message --args '{ "sessionId": "value", "message": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
message | string | yes | User message content (required) |
Update a planning session title or status
mcporter call bakin-<agent>.bakin_exec_messaging_session_update --args '{ "sessionId": "value", "title": "value", "status": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
sessionId | string | yes | Session ID (required) |
title | string | no | New title |
status | string | no | New status (active, completed) |
Update a messaging item
mcporter call bakin-<agent>.bakin_exec_messaging_update --args '{ "itemId": "value", "title": "value", "scheduledAt": "value", "status": "value", "brief": "value", "tone": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
itemId | string | yes | Item ID (required) |
title | string | no | New title |
scheduledAt | string | no | New schedule datetime |
status | string | no | New status |
brief | string | no | Updated brief |
tone | string | no | Updated tone |
Models
Section titled “Models”Model tools expose model configuration and available model choices to agents.
Get model configuration for all agents or a specific agent. Shows effective model (own override or default), subagent model, and system defaults.
mcporter call bakin-<agent>.bakin_exec_models_get_config --args '{ "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | no | Specific agent ID to query (omit for all agents) |
List available AI models with tier classification (budget/standard/premium). Use this to discover what models are available for assignment.
mcporter call bakin-<agent>.bakin_exec_models_list --args '{ "tier": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
tier | choice | no | Filter by model tier |
Publishing tools send completed work to configured channels through Bakin adapters.
Post a message through the active runtime channel adapter. Supports image/video attachments when the adapter supports rich content.
mcporter call bakin-<agent>.bakin_exec_post_channel --args '{ "channel": "value", "content": "value", "imageFilename": "value", "videoFilename": "value", "embed": { "key": "value" }, "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
channel | string | yes | Channel name or runtime channel target |
content | string | yes | Message text / caption |
imageFilename | string | no | Asset filename resolved via the assets index. |
videoFilename | string | no | Asset filename resolved via the assets index. |
embed | record | no | Optional rich metadata for adapters that support it |
taskId | string | no | Task ID for audit trail |
Project
Section titled “Project”Project tools let agents create, update, read, and maintain project specs and linked checklist items.
Add a new checklist item to a project.
mcporter call bakin-<agent>.bakin_exec_project_add_item --args '{ "projectId": "value", "title": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
title | string | yes | Checklist item title |
Ask an agent a question about a project. Sends the project context (spec, checklist, assets) along with the message to the agent for brainstorming.
mcporter call bakin-<agent>.bakin_exec_project_ask --args '{ "projectId": "value", "message": "value", "agent": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
message | string | yes | Question or prompt for the agent |
agent | string | no | Agent ID to ask (defaults to main) |
Attach an existing asset to a project by filename. Assets provide additional context (specs, designs, docs) that agents can reference. Only summaries are included in project_get — use asset tools to read full content when needed.
mcporter call bakin-<agent>.bakin_exec_project_attach_asset --args '{ "projectId": "value", "filename": "value", "label": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
filename | string | yes | Asset filename (e.g., "20260327-hero-a1b2c3d4.png") — globally unique, stable across retype/relink |
label | string | no | Human-readable label or summary of what this asset contains |
Create a new project with title, markdown body, and optional initial checklist items. Returns project ID and generated task item IDs.
mcporter call bakin-<agent>.bakin_exec_project_create --args '{ "title": "value", "body": "value", "owner": "value", "tasks": [ "value" ]}'| Parameter | Type | Required | Notes |
|---|---|---|---|
title | string | yes | Project title |
body | string | no | Markdown body (spec/plan) |
owner | string | no | Project owner |
tasks | array | no | Initial checklist item titles |
Delete a project by ID.
mcporter call bakin-<agent>.bakin_exec_project_delete --args '{ "projectId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
Remove an asset reference from a project by filename. Does not delete the asset itself.
mcporter call bakin-<agent>.bakin_exec_project_detach_asset --args '{ "projectId": "value", "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
filename | string | yes | Asset filename to detach |
Get a project by ID including full spec, checklist, progress, and linked board task statuses.
mcporter call bakin-<agent>.bakin_exec_project_get --args '{ "projectId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
Link an existing board task to a project checklist item. Use this when a task was created separately and should be associated with a project.
mcporter call bakin-<agent>.bakin_exec_project_link_item --args '{ "projectId": "value", "taskItemId": "value", "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
taskItemId | string | yes | Checklist item ID |
taskId | string | yes | Board task ID to link |
List all projects with optional status filter. Returns summaries with id, title, status, progress, taskCount.
mcporter call bakin-<agent>.bakin_exec_project_list --args '{ "status": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
status | choice | no | Filter by status |
Mark a checklist item as checked (done) or unchecked. Returns updated progress percentage.
mcporter call bakin-<agent>.bakin_exec_project_mark_item --args '{ "projectId": "value", "taskItemId": "value", "checked": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
taskItemId | string | yes | Checklist item ID (e.g., t001) |
checked | boolean | yes | true to mark as done, false to uncheck |
Create a NEW board task from a project checklist item and automatically link it. The task appears on the task board with the item title and projectId set.
mcporter call bakin-<agent>.bakin_exec_project_promote_item --args '{ "projectId": "value", "taskItemId": "value", "assignee": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
taskItemId | string | yes | Checklist item ID to promote to a board task |
assignee | string | no | Agent to assign the task to |
Remove a checklist item from a project.
mcporter call bakin-<agent>.bakin_exec_project_remove_item --args '{ "projectId": "value", "taskItemId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
taskItemId | string | yes | Checklist item ID to remove |
Toggle a checklist item checked/unchecked by item ID. Returns updated progress percentage.
mcporter call bakin-<agent>.bakin_exec_project_toggle_item --args '{ "projectId": "value", "itemId": "value", "checked": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
itemId | string | yes | Checklist item ID (e.g., t001) |
checked | boolean | yes | true to mark as done, false to uncheck |
Update a project's title, status, body, or owner. Cannot set status to "completed" if unchecked items remain.
mcporter call bakin-<agent>.bakin_exec_project_update --args '{ "projectId": "value", "title": "value", "status": "value", "body": "value", "owner": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
title | string | no | New title |
status | choice | no | New status |
body | string | no | New markdown body |
owner | string | no | New owner |
Update a checklist item's title and/or description.
mcporter call bakin-<agent>.bakin_exec_project_update_item --args '{ "projectId": "value", "itemId": "value", "title": "value", "description": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
projectId | string | yes | Project ID |
itemId | string | yes | Checklist item ID (e.g., t001) |
title | string | no | New title for the checklist item |
description | string | no | New description for the checklist item |
Schedule
Section titled “Schedule”Schedule tools let agents create, inspect, pause, run, and update recurring Bakin jobs.
Today's schedule summary — which jobs fire, assigned agents, alerts. Designed for orchestrator daily briefing.
mcporter call bakin-<agent>.bakin_exec_schedule_briefing --args '{ "date": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
date | string | no | ISO date to check (defaults to today) |
Create a new scheduled job that creates tasks on the board
mcporter call bakin-<agent>.bakin_exec_schedule_create --args '{ "name": "value", "schedule": "value", "agentId": "value", "workflowId": "value", "taskPrompt": "value", "taskTitle": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
name | string | yes | Job name (required) |
schedule | string | yes | Schedule expression: NL ("every day at 9am") or raw cron ("0 9 * * *") (required) |
agentId | string | no | Agent to assign tasks to |
workflowId | string | no | Workflow to attach to tasks |
taskPrompt | string | no | Task description template |
taskTitle | string | no | Task title template (supports {date}, {agent}) |
Delete a scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_delete --args '{ "jobId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
Get details for a single scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_get --args '{ "jobId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
List all scheduled jobs (merged runtime cron + Bakin view)
mcporter call bakin-<agent>.bakin_exec_schedule_list --args '{ "filter": "value", "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
filter | choice | no | Filter by job type |
agentId | string | no | Filter by assigned agent |
Parse a natural language or raw cron schedule expression
mcporter call bakin-<agent>.bakin_exec_schedule_parse --args '{ "input": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
input | string | yes | Schedule expression to parse (required) |
Pause, resume, or skip runs for a scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_pause --args '{ "jobId": "value", "action": "value", "pauseUntil": "value", "skipN": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
action | choice | yes | Action to take (required) |
pauseUntil | string | no | ISO date to auto-resume (for pause action) |
skipN | number | no | Number of runs to skip (for skip action) |
Trigger an immediate run of a scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_run_now --args '{ "jobId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
Get run history for a scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_runs --args '{ "jobId": "value", "limit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
limit | number | no | Max runs to return (default 50) |
Update an existing scheduled job
mcporter call bakin-<agent>.bakin_exec_schedule_update --args '{ "jobId": "value", "name": "value", "schedule": "value", "agentId": "value", "workflowId": "value", "taskPrompt": "value", "taskTitle": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
jobId | string | yes | Job ID (required) |
name | string | no | New job name |
schedule | string | no | New schedule expression |
agentId | string | no | New agent assignment |
workflowId | string | no | New workflow binding |
taskPrompt | string | no | New task prompt template |
taskTitle | string | no | New task title template |
Search
Section titled “Search”Search tools query Bakin-indexed content across plugins or inside a specific surface.
Get facet value counts for a plugin. Useful for understanding data distribution (e.g., how many tasks per status).
mcporter call bakin-<agent>.bakin_exec_search_facets --args '{ "plugin": "value", "facets": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
plugin | string | yes | Plugin id (tasks, assets, projects, etc.) |
facets | string | yes | Comma-separated facet fields (e.g., "status,agent") |
Look up a specific indexed document by its key and plugin.
mcporter call bakin-<agent>.bakin_exec_search_lookup --args '{ "plugin": "value", "key": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
plugin | string | yes | Plugin id (tasks, assets, projects, etc.) |
key | string | yes | Document key to look up |
Search across all Bakin content (tasks, assets, projects, workflows, schedule, team, memory, messaging) or a specific plugin. Returns ranked results with scores.
mcporter call bakin-<agent>.bakin_exec_search_query --args '{ "q": "value", "limit": 20, "offset": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
q | string | no | Search query text |
limit | number | no | Maximum results to return (default: 20) |
offset | number | no | Skip this many results (for pagination) |
Trigger a full reindex of all content types (or a specific plugin). Use after bulk data changes.
mcporter call bakin-<agent>.bakin_exec_search_reindex --args '{ "plugin": "value", "rebuild": true, "verify": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
plugin | string | no | Specific plugin id to reindex (optional — omit for all) |
rebuild | boolean | no | Drop and recreate indexes before reindexing (default: false) |
verify | boolean | no | Re-query tables after reindex to verify doc counts (default: false) |
Find documents similar to a given text description. Uses semantic (vector) search for meaning-based matching.
mcporter call bakin-<agent>.bakin_exec_search_similar --args '{ "text": "value", "plugin": "value", "limit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
text | string | yes | Text to find similar documents for |
plugin | string | no | Limit to a specific plugin id (optional) |
limit | number | no | Maximum results (default: 10) |
Get search system health: enabled status, per-table document counts, and index stats.
mcporter call bakin-<agent>.bakin_exec_search_statsSearch a specific Bakin plugin with facet filtering. Returns results plus facet counts for filtering.
mcporter call bakin-<agent>.bakin_exec_search_table --args '{ "q": "value", "limit": 20}'| Parameter | Type | Required | Notes |
|---|---|---|---|
q | string | no | Search query text |
limit | number | no | Maximum results (default: 20) |
Submit
Section titled “Submit”Workflow submission tools let agents submit step output back to the workflow engine.
Submit workflow step output with local pre-validation. Validates against the step schema BEFORE hitting the server, giving you detailed field-level errors without a round trip.
mcporter call bakin-<agent>.bakin_exec_submit_step --args '{ "taskId": "value", "stepId": "value", "output": { "key": "value" }}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
stepId | string | yes | Step ID to submit for |
output | record | yes | JSON output matching the step schema |
Task tools are the main agent interface for creating, reading, moving, logging, blocking, and completing work.
Assign a task to an agent.
mcporter call bakin-<agent>.bakin_exec_tasks_assign --args '{ "taskId": "value", "agent": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
agent | string | yes | Agent to assign the task to |
Mark a task as blocked with a reason. Use when you cannot proceed.
mcporter call bakin-<agent>.bakin_exec_tasks_block --args '{ "taskId": "value", "reason": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
reason | string | yes | Why the task is blocked |
Report that your task is complete. Moves the task to Done and notifies the orchestrator.
mcporter call bakin-<agent>.bakin_exec_tasks_complete --args '{ "taskId": "value", "summary": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
summary | string | yes | Summary of what you accomplished |
Create a new task on the task board. Workflows are auto-matched by title when workflowId is not provided. Provide workflowId to force a specific workflow, or skipWorkflowReason to explicitly skip.
mcporter call bakin-<agent>.bakin_exec_tasks_create --args '{ "title": "value", "assignee": "value", "description": "value", "parentId": "value", "workflowId": "value", "skipWorkflowReason": "value", "projectId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
title | string | yes | Task title |
assignee | string | no | Agent to assign (basil, pixel, rolo, patch, nemo, etc.) |
description | string | no | Task description and context |
parentId | string | no | Parent task ID if this is a subtask |
workflowId | string | no | Workflow to start (e.g. image-social-post, video-script). Use bakin_exec_workflows_list to see options. |
skipWorkflowReason | string | no | Reason no workflow applies (required if workflowId is not set and this is not a subtask) |
projectId | string | no | Project ID to link this task to |
Delete a task from the board.
mcporter call bakin-<agent>.bakin_exec_tasks_delete --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
Get details about a task — title, description, current column, logs, dependencies, project context.
mcporter call bakin-<agent>.bakin_exec_tasks_get --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
List all tasks on the board. Optionally filter by column or agent.
mcporter call bakin-<agent>.bakin_exec_tasks_list --args '{ "column": "value", "agent": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
column | choice | no | Filter by column |
agent | string | no | Filter by assigned agent |
Log a human-readable progress update to the live activity feed. Call this at every significant step.
mcporter call bakin-<agent>.bakin_exec_tasks_log_progress --args '{ "taskId": "value", "message": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID (e.g. "fe84ac51") |
message | string | yes | Human-readable status update |
Move a task to a different column on the task board.
mcporter call bakin-<agent>.bakin_exec_tasks_move --args '{ "taskId": "value", "to": "value", "reason": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
to | choice | yes | Target column |
reason | string | no | Required when moving to "blocked" |
Register a dependency between tasks. Your task will be auto-re-dispatched when the dependency completes. After registering, exit — do not wait.
mcporter call bakin-<agent>.bakin_exec_tasks_set_dependency --args '{ "taskId": "value", "dependsOn": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Your task ID (the one that depends) |
dependsOn | string | yes | Task ID you depend on |
Update a task on the board — change title, description, or assigned agent.
mcporter call bakin-<agent>.bakin_exec_tasks_update --args '{ "taskId": "value", "title": "value", "description": "value", "agent": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
title | string | no | New task title |
description | string | no | New task description |
agent | string | no | New assigned agent |
Team tools expose agent roster, identity, status, messaging, and permission operations.
Create a new agent: registers it with the active runtime, writes persona files, configures dispatch permissions, optionally assigns it to a team. Returns next-step instructions.
mcporter call bakin-<agent>.bakin_exec_team_create_agent --args '{ "id": "value", "name": "value", "emoji": "value", "role": "value", "vibe": "value", "primaryFunction": "value", "defaultMode": "value", "model": "value", "soul": "value", "tools": "value", "teamId": "value", "dispatchable": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
id | string | no | Agent ID (lowercase alphanumeric + hyphens). Auto-derived from name if omitted. |
name | string | yes | Display name (e.g. "Jessica Fetcher") |
emoji | string | no | Single emoji (e.g. "🔎") |
role | string | no | One-line role description |
vibe | string | no | Personality vibe |
primaryFunction | string | no | What the agent does |
defaultMode | string | no | How the agent operates by default |
model | string | no | Full provider/model string. Uses default if omitted. |
soul | string | no | Raw markdown for SOUL.md |
tools | string | no | Raw markdown for TOOLS.md |
teamId | string | no | Bakin team to assign the agent to |
dispatchable | union | no | Who can dispatch tasks to this agent. Default: "main". |
Remove an agent from the active runtime and clean up Bakin state. Requires confirm=true as a safety guard.
mcporter call bakin-<agent>.bakin_exec_team_delete_agent --args '{ "agentId": "value", "confirm": true}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent to delete |
confirm | boolean | yes | Must be true — safety guard against accidental deletion |
List all agents with their current status (online/working/available/offline).
mcporter call bakin-<agent>.bakin_exec_team_listGet agents that belong to a specific team (e.g. "builders", "creators").
mcporter call bakin-<agent>.bakin_exec_team_members --args '{ "teamId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
teamId | string | yes | Team ID (e.g. "builders", "creators") |
Send a message to an agent via the active runtime.
mcporter call bakin-<agent>.bakin_exec_team_message --args '{ "agentId": "value", "message": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID |
message | string | yes | Message to send |
Get the team that a specific agent belongs to, including all teammates.
mcporter call bakin-<agent>.bakin_exec_team_my_team --args '{ "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID |
Get the full org structure: teams with their members. Use this to understand who is on which team and reporting lines.
mcporter call bakin-<agent>.bakin_exec_team_orgGet the full profile for an agent including soul, rules, and tools.
mcporter call bakin-<agent>.bakin_exec_team_profile --args '{ "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID |
Read a workspace file for an agent (e.g., SOUL.md, AGENTS.md, TOOLS.md).
mcporter call bakin-<agent>.bakin_exec_team_read_file --args '{ "agentId": "value", "filename": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID |
filename | string | yes | File name (e.g., SOUL.md) |
Update dispatch permissions — which agents a given agent can dispatch tasks to (subagents.allowAgents).
mcporter call bakin-<agent>.bakin_exec_team_set_permissions --args '{ "agentId": "value", "allowAgents": [ "value" ]}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent whose allowAgents to modify |
allowAgents | array | yes | Full replacement list of agent IDs this agent can dispatch to |
Get the heartbeat and health status for an agent.
mcporter call bakin-<agent>.bakin_exec_team_status --args '{ "agentId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Agent ID |
Update an existing agent's identity fields (name, emoji, role, vibe, etc.) and/or workspace files (SOUL.md, TOOLS.md).
mcporter call bakin-<agent>.bakin_exec_team_update_identity --args '{ "agentId": "value", "name": "value", "emoji": "value", "role": "value", "vibe": "value", "primaryFunction": "value", "defaultMode": "value", "soul": "value", "tools": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
agentId | string | yes | Target agent ID |
name | string | no | New display name |
emoji | string | no | New emoji |
role | string | no | Updated role |
vibe | string | no | Updated vibe |
primaryFunction | string | no | Updated primary function |
defaultMode | string | no | Updated default mode |
soul | string | no | Replace SOUL.md content |
tools | string | no | Replace TOOLS.md content |
Workflows
Section titled “Workflows”Workflow tools expose workflow definitions, active instances, current steps, and step completion.
Complete a workflow step with output. Validates output against the step schema, advances the workflow to the next step. Returns success status and whether the workflow is complete.
mcporter call bakin-<agent>.bakin_exec_workflows_complete_step --args '{ "taskId": "value", "stepId": "value", "output": { "key": "value" }}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
stepId | string | yes | Step ID to complete |
output | record | yes | Step output object |
Get a workflow definition by filename. Returns the full definition with steps, inputs, and resolved sub-workflows.
mcporter call bakin-<agent>.bakin_exec_workflows_get_definition --args '{ "name": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
name | string | yes | Workflow definition filename (e.g. "content-pipeline") |
Get the full state of a workflow instance for a task, including step states and history.
mcporter call bakin-<agent>.bakin_exec_workflows_get_instance --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
Get the current workflow step for a task. Returns only the current step (information gating — future steps are hidden). Critical for agents to know what to do next.
mcporter call bakin-<agent>.bakin_exec_workflows_get_step --args '{ "taskId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID |
List all workflow definitions (templates). Returns name, filename, description, and step count for each.
mcporter call bakin-<agent>.bakin_exec_workflows_listList workflow instances. Optionally filter by status (in_progress, pending_approval, complete, failed, cancelled).
mcporter call bakin-<agent>.bakin_exec_workflows_list_instances --args '{ "status": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
status | choice | no | Filter by instance status |
Start a workflow instance for a task. The task must exist on the board. Returns the created instance.
mcporter call bakin-<agent>.bakin_exec_workflows_start --args '{ "taskId": "value", "workflowId": "value"}'| Parameter | Type | Required | Notes |
|---|---|---|---|
taskId | string | yes | Task ID to start workflow for |
workflowId | string | yes | Workflow definition filename |