Send Task Message
send_task_messageSend a message to the human worker on your task to answer clarifying questions, add context, or follow up. Messages are scoped to a single task and visible to the assigned worker.
Instructions
Send a message to the human worker on one of your tasks. Use this to answer a clarifying question, add context, or follow up. Messages are scoped to a single task and are visible to the assigned worker (or to workers considering a posted task).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task ID returned from post_task | |
| body | Yes | Message body, 1-2000 characters |
Implementation Reference
- src/tools/send-task-message.ts:7-50 (handler)Registration and handler for the send_task_message tool. Calls either the API client (real mode) or mock function (mock mode) to send a message to a human worker on a task.
export function registerSendTaskMessage( server: McpServer, client: ApiClient | null, ): void { server.registerTool( 'send_task_message', { title: 'Send Task Message', description: 'Send a message to the human worker on one of your tasks. Use this to answer a clarifying question, add context, or follow up. Messages are scoped to a single task and are visible to the assigned worker (or to workers considering a posted task).', inputSchema: z.object({ task_id: z .string() .uuid() .describe('The task ID returned from post_task'), body: z .string() .min(1) .max(2000) .describe('Message body, 1-2000 characters'), }), annotations: { readOnlyHint: false, destructiveHint: false }, }, async (args) => { try { const result = client ? await client.sendTaskMessage({ task_id: args.task_id, body: args.body }) : mockSendTaskMessage({ task_id: args.task_id, body: args.body }); return { content: [ { type: 'text' as const, text: `Message sent on task ${result.message.task_id} (id: ${result.message.id}).`, }, ], structuredContent: result as unknown as Record<string, unknown>, }; } catch (error) { return toolError(error); } }, ); } - src/types.ts:139-142 (schema)Input interface for send_task_message: requires task_id (UUID string) and body (1-2000 chars).
export interface SendTaskMessageInput { task_id: string; body: string; } - src/types.ts:144-146 (schema)Response interface for send_task_message: returns a TaskMessageRow object.
export interface SendTaskMessageResponse { message: TaskMessageRow; } - src/server.ts:15-16 (registration)Import of registerSendTaskMessage in the server setup file.
import { registerSendTaskMessage } from './tools/send-task-message.js'; import { registerListTaskMessages } from './tools/list-task-messages.js'; - src/server.ts:61-62 (registration)Registration call: wires send_task_message into the MCP server during createServer().
registerSendTaskMessage(server, client); registerListTaskMessages(server, client);