Skip to main content
Glama
luiso2

Evolution API WhatsApp MCP Server

by luiso2

send_media

Send images, videos, audio, or documents via WhatsApp Business API to recipients with optional captions and file names for business communication.

Instructions

Send media (image, video, audio, document)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
captionNoMedia caption
fileNameNoFile name for documents
instanceNameYesInstance name
mediaYesMedia URL or base64
mediatypeYesType of media
numberYesRecipient phone number

Implementation Reference

  • Tool definition for 'send_media' including input schema for validation.
    { name: 'send_media', description: 'Send media (image, video, audio, document)', inputSchema: { type: 'object', properties: { instanceName: { type: 'string', description: 'Instance name' }, number: { type: 'string', description: 'Recipient phone number' }, mediatype: { type: 'string', enum: ['image', 'video', 'audio', 'document'], description: 'Type of media' }, media: { type: 'string', description: 'Media URL or base64' }, caption: { type: 'string', description: 'Media caption' }, fileName: { type: 'string', description: 'File name for documents' } }, required: ['instanceName', 'number', 'mediatype', 'media'] } },
  • src/index.ts:470-472 (registration)
    Registration of all tools list including send_media for ListToolsRequest.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
  • MCP handler function for send_media tool that invokes evolutionAPI.sendMedia.
    private async handleSendMedia(args: any) { const result = await evolutionAPI.sendMedia(args.instanceName, { number: args.number, mediatype: args.mediatype, media: args.media, caption: args.caption, fileName: args.fileName }); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; }
  • Dispatch case in CallToolRequest handler routing to send_media handler.
    case 'send_media': return await this.handleSendMedia(args);
  • Helper method in EvolutionAPI service that performs the HTTP POST to send media via Evolution API.
    async sendMedia(instanceName: string, data: { number: string; mediatype: 'image' | 'video' | 'audio' | 'document'; mimetype?: string; caption?: string; media: string; // base64 or URL fileName?: string; }): Promise<Message> { const response = await this.client.post(`/message/sendMedia/${instanceName}`, data); return response.data; }

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/luiso2/mcp-evolution-api'

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