delete_message
Delete any message from a Chatwork room by supplying the room ID and message ID.
Instructions
Delete a message from a room.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes | The unique identifier of the Chatwork room. | |
| message_id | Yes | The unique identifier of the message to delete. |
Implementation Reference
- src/tools/deleteMessage.ts:1-31 (handler)The main tool definition for 'delete_message'. Defines name, description, schema, and the executor function that calls client.deleteMessage() and returns a formatted response.
import { ChatworkClient } from "../api/client.js"; import { DeleteMessageSchema } from "../schemas/messages.js"; import { z } from "zod"; export const deleteMessageTool = { name: "delete_message", description: "Delete a message from a room.", schema: DeleteMessageSchema, executor: async (client: ChatworkClient, args: z.infer<typeof DeleteMessageSchema>) => { const { room_id, message_id } = args; try { const result = await client.deleteMessage(room_id, message_id); return { content: [ { type: "text" as const, text: `Message ${result.message_id} deleted successfully from room ${room_id}.`, }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Failed to delete message: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } - src/schemas/messages.ts:13-16 (schema)Zod schema for DeleteMessageSchema, validating room_id (number) and message_id (string) input parameters.
export const DeleteMessageSchema = z.object({ room_id: z.number().describe("The unique identifier of the Chatwork room."), message_id: z.string().describe("The unique identifier of the message to delete."), }); - src/index.ts:84-92 (registration)Registration of the 'delete_message' tool with the MCP server via server.tool(), using the tool's name, description, schema, and executor.
server.tool( deleteMessageTool.name, deleteMessageTool.description, deleteMessageTool.schema.shape, async (args) => { // @ts-ignore return deleteMessageTool.executor(client, args); } ); - src/api/client.ts:113-125 (helper)API client method deleteMessage() that sends a DELETE request to /rooms/{roomId}/messages/{messageId} and returns the message_id.
async deleteMessage(roomId: number, messageId: string): Promise<{ message_id: string }> { try { const response = await this.client.delete<{ message_id: string }>( `/rooms/${roomId}/messages/${messageId}` ); return response.data; } catch (error) { if (axios.isAxiosError(error)) { throw new Error(`Chatwork API Error (Delete Message Room ${roomId}): ${error.message} - ${JSON.stringify(error.response?.data)}`); } throw error; } } - src/tools/index.ts:7-7 (registration)Re-exports the deleteMessage tool module so it can be imported from src/index.ts.
export * from "./deleteMessage.js";