Endpoints: 39,967MCP servers: 22,496Payout addresses: 2,533Paid calls: 3,294Letters: 54Defects: 1,976counted 1 min ago
teppi

Server definition

Hash
sha256:466154379f3040121f6f8d3b56372d4a9f1dad85338d623429d6134d31779222
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "FalaAI API tools. Use health first to confirm the connection (free, no credits). Use risk_audit for compliance risk auditing of a diarized call transcript, diagnostic for a fast generic call diagnosis, transcribe_audio to turn an audio file into a diarized transcript and extract_whatsapp to extract and segment WhatsApp export conversations. Authentication uses the same FalaAI API key (Bearer fai_...). All endpoints are stateless (LGPD): no transcript or analysis is persisted; only billing/usage metadata is logged. IMPORTANT: every call charges credits (the response returns usage.credits_consumed) and the result is NOT retrievable afterwards, so you MUST read the FULL response and relay ALL of its information to the user (every field, no omissions, no shortening), and persist the complete JSON if the user may need it later; calling the same tool again charges again.", "tools": [ { "description": "Analyzes a call transcript and returns six structured blocks: dialogue summary, contact reason, identified action, theme label, predominant sentiment and identified participants with roles, names, confidence and evidence; use it for a fast, generic diagnosis of what happened in a call, and use /v1/analyze/riskAudit instead when the goal is compliance violation auditing. Provide at least one of dialog (primary source: diarized transcript in the format 'Speaker 1: [00:00:00.540 - 00:00:01.139] text', speaker labels accepted in any case as Speaker, Interlocutor, Hablante, Locutor or Orador plus number) or text (plain transcript fallback), each up to 300,000 characters; when dialog is used duration_seconds is required by the schema and, when provided, must be >= the last turn end time. Required: language; optional: model (always 'falaai-diagnostic-1'), audio_events, response_language (language of the results, defaulting to language), participants (up to 10 with interlocutor and optional name and role agent/client/bot, ground truth when the role is informed and otherwise inferred), call_direction (inferred when omitted), client_reference_id (echoed verbatim, charset [A-Za-z0-9 _/:.-], max 60). Returns id, object 'analysis', response_language, analysis with the six blocks, usage (characters, credits_consumed, processing_ms) and html_report (base64 gzip) only when dialog is provided; with text-only input the participant roles are forced to confidence 'low'. This call consumes credits and the amount actually charged is returned in usage.credits_consumed. Stateless: neither the transcript nor the analysis is persisted (only billing and usage metadata is logged), protecting personal data under LGPD. 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 (all six blocks, usage and html_report; no omissions, no shortening), and persist it if the user may need it later; calling again charges again.", "inputSchema": { "properties": { "audio_events": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Audio Events" }, "call_direction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Call Direction" }, "client_reference_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Reference Id" }, "dialog": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dialog" }, "duration_seconds": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Duration Seconds" }, "language": { "title": "Language", "type": "string" }, "participants": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Participants" }, "response_language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Response Language" }, "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Text" } }, "required": [ "language" ], "title": "diagnosticArguments", "type": "object" }, "name": "diagnostic", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "client_reference_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Reference Id" }, "date_format": { "title": "Date Format", "type": "string" }, "dry_run": { "default": false, "title": "Dry Run", "type": "boolean" }, "end": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "End" }, "expression": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Expression" }, "file_base64": { "title": "File Base64", "type": "string" }, "filename": { "default": "export.zip", "title": "Filename", "type": "string" }, "gap_minutes": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Gap Minutes" }, "min_messages": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Min Messages" }, "start": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Start" }, "timezone": { "title": "Timezone", "type": "string" }, "voice_note": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Voice Note" }, "windows": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Windows" } }, "required": [ "file_base64", "timezone", "date_format" ], "title": "extract_whatsappArguments", "type": "object" }, "name": "extract_whatsapp", "outputSchema": null }, { "description": "Checks the connection to the FalaAI API and returns its health and version (status, version, uptime, database, phase, launch date). Use it FIRST to confirm the MCP is working before any billable call. This tool is FREE: it does not consume credits, does not require the API key (the health endpoint is public), performs no analysis and stores nothing.", "inputSchema": { "properties": {}, "title": "healthArguments", "type": "object" }, "name": "health", "outputSchema": null }, { "description": "Runs a compliance risk audit on a diarized call transcript, detecting violations and positives, applying the ISO 31000 risk matrix, classifying the conversation into a level and returning the verdict with the applied actions and the NIST/OWASP risk framework enquadramento; use it for compliance and quality audits of company-agent-to-client calls, not for generic conversation summarization. Required fields: dialog (diarized transcript in the format 'Speaker 1: [00:00:00.540 - 00:00:01.139] text', speaker labels accepted in any case as Speaker, Interlocutor, Hablante, Locutor or Orador plus number; plain text is not accepted; max 300,000 characters), duration_seconds (total audio duration in seconds, must be >= the last turn end time) and language plus response_language (only pt-BR, en-US or es-ES). Optional: model (always 'falaai-risk-audit-1'), audio_events (up to 500, each requiring event and start_s), participants (up to 10 with interlocutor and role agent/client/bot, ground truth when provided, else inferred), call_direction (inbound/outbound, inferred when omitted), response_format (only 'v2'), client_reference_id (echoed verbatim, charset [A-Za-z0-9 _/:.-], max 60). Returns response (V2) with meta+usage, participants, verdict with level and applied actions, scores, detections (violations, positives, client alerts), analysis frameworks, timeline, categories_summary, executive summary, scoring explanation and an HTML report (gzip+base64). This call consumes credits and the amount actually charged is returned in response.meta.usage.credits_consumed. Stateless: neither the transcript nor the analysis is persisted (only billing and usage metadata is logged), protecting personal data under LGPD. 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 (every field, including verdict, scores, detections, timeline and html_report; no omissions, no shortening), and persist it if the user may need it later; calling again charges again.", "inputSchema": { "properties": { "audio_events": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Audio Events" }, "call_direction": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Call Direction" }, "client_reference_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Reference Id" }, "dialog": { "title": "Dialog", "type": "string" }, "duration_seconds": { "title": "Duration Seconds", "type": "number" }, "language": { "title": "Language", "type": "string" }, "participants": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "default": null, "title": "Participants" }, "response_format": { "default": "v2", "title": "Response Format", "type": "string" }, "response_language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Response Language" } }, "required": [ "dialog", "duration_seconds", "language" ], "title": "risk_auditArguments", "type": "object" }, "name": "risk_audit", "outputSchema": null }, { "description": "Transcribes one uploaded audio file into text with speaker diarization and timestamped audio events (laughs, sighs, pauses), returning the full transcript, a turn-by-turn dialog with speaker labels and start/end timestamps, the detected events and the word count. Use it when a recording must become text for analysis, review or storage of the transcript. Provide the audio as file_base64 (base64 of the file bytes) plus optional filename; the upload is limited to 1GB and 3 hours, with accepted MIME types audio/mpeg, audio/mp3, audio/mp4, audio/m4a, audio/wav, audio/wave, audio/x-wav, audio/flac, audio/x-flac, audio/ogg, audio/opus, video/ogg, audio/webm, video/webm, audio/aac and audio/x-aac. model is optional and defaults to falaai-transcribe-1, the only supported value; language is an optional two-letter code (pt, en, es, fr, de, it, ja, ko, nl, pl, ru, tr, zh, vi, id, th, ar, hi, cs, da, el, fi, he, hu, ms, no, ro, sk, sv, ta, uk) that forces the audio language and is auto-detected when omitted; client_reference_id is optional, charset A-Za-z0-9 space _/:.- up to 60 chars, echoed verbatim (not idempotency). This call consumes credits; usage reports credits_consumed and processing_ms. Stateless: the audio is processed in memory and never persisted (LGPD). Returns id (tr-), language, language_confidence, duration_seconds, text, dialog, audio_events, event_types, word_count and input metadata (duration, format, codec, sample rate, channels). 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 (including the complete dialog and text, every audio_event with its timestamps, and input metadata; no omissions, no shortening), and persist it if the user may need it later; calling again charges again.", "inputSchema": { "properties": { "client_reference_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Client Reference Id" }, "file_base64": { "title": "File Base64", "type": "string" }, "filename": { "default": "audio.bin", "title": "Filename", "type": "string" }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Language" }, "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" } }, "required": [ "file_base64" ], "title": "transcribe_audioArguments", "type": "object" }, "name": "transcribe_audio", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:466154379f3040121f6f8d3b56372d4a9f1dad85338d623429d6134d31779222 | sha256sum