Skip to main content
Glama

FalaAI API (MCP)

extract_whatsapp

Extracts and segments the conversations of a WhatsApp export (.zip or .txt containing chat.txt in UTF-8 with at least one turn) and, unless it is a preview, resolves each selected conversation with AI by transcribing voice/audio/video notes and describing visual expressions, returning the segmented conversations with speakers, dialogs, counts and usage. Provide the export as file_base64 (base64 of the .zip/.txt bytes) plus optional filename. Use dry_run=true for a PREVIEW: it validates the file, segments the conversations, counts media and ESTIMATES the credits WITHOUT calling the AI and WITHOUT charging (credits_charged=0), returning object whatsapp_preview with credits_total, the params actually used, the windows, per-conversation items and warnings. The window is given either as a single start/end pair or as windows, a JSON string holding a non-empty list of sub-objects each with start and end; windows must not be combined with start/end, and a windows selection is the deduplicated chronological union of the overlaps, which bypasses the noise filter and keeps conversations that are monologues or below min_messages, while for a single window sending only one of start/end is rejected and empty/all-zeros values select the real period of the export, both being allowed to be omitted in dry_run while outside dry_run both absent is rejected. timezone and date_format are required, where date_format must be day_first, month_first or year_first. gap_minutes is optional (default 720) and splits conversations on idle gaps, min_messages is optional (default 2) and is the minimum messages kept per conversation outside the explicit windows selection, voice_note is optional (default true) and turns voice/audio/video media into text, expression is optional (default true) and describes visual expressions (figurinha, GIF, emoji), and client_reference_id is optional, echoed verbatim, charset A-Za-z0-9 space _/:.- up to 60 chars. Outside the preview, this call consumes credits and the amount actually charged is returned in usage.credits_consumed; the preview credits_total is an estimate and the preview charges nothing; files are limited to 1GB and the endpoint is stateless (export and media processed in memory, temporary files removed, nothing persisted), returning object conversations with id (wc-), usage and the conversations (conversation_id, first_at, last_at, duration_seconds, speakers, dialog, message_count, characters) plus meta. IMPORTANT: this call charges credits and the result is NOT stored — you MUST read the FULL response and relay ALL of its information to the user (the complete list of conversations with their dialogs and counts, usage and meta; no omissions, no shortening), and persist it if the user may need it later; calling again charges again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNo
startNo
dry_runNo
windowsNo
filenameNoexport.zip
timezoneYes
expressionNo
voice_noteNo
date_formatYes
file_base64Yes
gap_minutesNo
min_messagesNo
client_reference_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden and does so thoroughly: it discloses credit consumption, that dry_run charges nothing, the 1GB file limit, the stateless in-memory processing with temporary files removed, and the imperative to relay the full chargeable result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and key constraints are front-loaded, and nearly every sentence carries load-bearing detail, so the length is justified by the tool's complexity. However, it is delivered as one very dense run-on block that is hard to parse, which costs it a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fully covers the return shape: the preview object (credits_total, params, windows, items, warnings) and the paid result (conversations with conversation_id, timestamps, speakers, dialog, counts) plus usage and meta. Nothing an agent needs is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, yet the description documents essentially all 13 parameters: file_base64, filename, dry_run, start/end vs windows semantics, timezone, date_format enum values, gap_minutes (720), min_messages (2), voice_note (true), expression (true), and the client_reference_id charset/length constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: extracts and segments conversations from a WhatsApp export, then resolves them with AI via transcription and visual-expression description. An agent can clearly tell what it does, though it does not explicitly differentiate from the sibling transcribe_audio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides rich when-to-use guidance: dry_run=true for a free validating preview, and the rules for choosing windows vs start/end. It does not name alternative tools, so it stops short of the explicit 'use X instead' routing that would warrant a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources