Skip to main content
Glama

canvas_create_conversation

Initiate a new conversation in Canvas LMS by specifying recipients, a message body, and an optional subject, enabling direct and organized communication within the platform.

Instructions

Create a new conversation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesMessage body
recipientsYesRecipient user IDs or email addresses
subjectNoMessage subject

Implementation Reference

  • src/index.ts:670-686 (registration)
    Registers the canvas_create_conversation tool in the MCP server's TOOLS array with its input schema and description.
    { name: "canvas_create_conversation", description: "Create a new conversation", inputSchema: { type: "object", properties: { recipients: { type: "array", items: { type: "string" }, description: "Recipient user IDs or email addresses" }, body: { type: "string", description: "Message body" }, subject: { type: "string", description: "Message subject" } }, required: ["recipients", "body"] } },
  • Defines the input schema for validating parameters to the canvas_create_conversation tool (recipients array, body string, optional subject).
    { name: "canvas_create_conversation", description: "Create a new conversation", inputSchema: { type: "object", properties: { recipients: { type: "array", items: { type: "string" }, description: "Recipient user IDs or email addresses" }, body: { type: "string", description: "Message body" }, subject: { type: "string", description: "Message subject" } }, required: ["recipients", "body"] } },
  • Executes the core logic for creating a Canvas conversation by making authenticated POST request to Canvas Conversations API endpoint.
    async createConversation(recipients: string[], body: string, subject?: string): Promise<CanvasConversation> { const response = await this.client.post('/conversations', { recipients, body, subject }); return response.data; }
  • CanvasClient helper method invoked by MCP tool handler to perform the actual API call for creating conversations.
    async createConversation(recipients: string[], body: string, subject?: string): Promise<CanvasConversation> { const response = await this.client.post('/conversations', { recipients, body, subject }); return response.data; }
  • TypeScript interface defining the structure of CanvasConversation response object used by the tool.
    export interface CanvasConversation { id: number; subject: string; workflow_state: 'read' | 'unread' | 'archived'; last_message: string; last_message_at: string; last_authored_message: string; last_authored_message_at: string; message_count: number; subscribed: boolean; private: boolean; starred: boolean; properties: string[]; audience: number[]; audience_contexts: { [key: string]: string[]; }; avatar_url: string; participants: CanvasConversationParticipant[]; messages?: CanvasConversationMessage[]; }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DMontgomery40/mcp-canvas-lms'

If you have feedback or need assistance with the MCP directory API, please join our Discord server