atiendo24-mcp-server

atiendo24-mcp-server

MCP server that connects Claude Desktop to Atiendo24 platform, enabling management of appointments, customers, conversations, leads, analytics, and WhatsApp messaging through natural language.

Category
Visit Server

README

atiendo24-mcp-server

npm version License: MIT

MCP server for Atiendo24 — control your WhatsApp AI agent platform directly from Claude Desktop.

<img src="https://img.shields.io/badge/MCP-Compatible-blue?logo=anthropic" alt="MCP Compatible" />

What is this?

This is a Model Context Protocol (MCP) server that connects Claude Desktop to the Atiendo24 platform. It gives Claude access to 9 tools that let you manage appointments, customers, conversations, leads, analytics, and send WhatsApp messages — all through natural language.

You: "How many appointments do I have tomorrow?"
Claude: Uses get_appointments → "You have 3 appointments tomorrow: ..."

You: "Send a WhatsApp to +50688881234 saying the appointment is confirmed"
Claude: Uses send_whatsapp → "Message sent successfully."

Architecture

Claude Desktop (or any MCP client)
        ↓ MCP Protocol (stdio)
atiendo24-mcp-server (runs locally)
        ↓                    ↓
   Supabase DB        WhatsApp Cloud API
  (read/write)         (send messages)

Tools

Read Tools

get_appointments

Fetches scheduled appointments with filtering options.

Parameter Type Description
filter "today" | "week" | "all" Time period (default: "today")
client_id string Filter by business client ID
status string Filter by status: confirmed, completed, cancelled, no-show

Example prompts:

  • "What appointments do I have today?"
  • "Show me all cancelled appointments this week"
  • "How many confirmed appointments are there?"

get_customers

Searches the customer database by name, phone, or email.

Parameter Type Description
search string Search by name, phone, or email
client_id string Filter by business client ID
limit number Max results (default: 20)

Example prompts:

  • "Find the customer with phone 8888-1234"
  • "Search for Maria Lopez in the database"
  • "How many customers do we have?"

get_conversations

Retrieves WhatsApp conversations with status filtering.

Parameter Type Description
status "active" | "escalated" | "resolved" Conversation status
client_id string Filter by business client ID
search string Search by customer name or phone
limit number Max results (default: 20)

Example prompts:

  • "Are there any escalated conversations?"
  • "Show me recent active conversations"
  • "How many conversations were resolved today?"

get_leads

Fetches sales leads captured by the AI sales agent (Millie).

Parameter Type Description
status string Lead status: contacted, demo_scheduled, proposal_sent
search string Search by name, phone, or business type
limit number Max results (default: 30)

Example prompts:

  • "How many leads does Millie have this week?"
  • "Show me leads with demos scheduled"
  • "Find leads from dental clinics"

get_funnel

Returns the full sales conversion funnel with data quality metrics.

No parameters required.

Returns:

  • Funnel stages: total leads → contacted → demo scheduled → proposal sent → closed clients
  • Conversion rates between each stage
  • Data quality: % of leads with valid phone, % with name

Example prompts:

  • "How's the sales funnel looking?"
  • "What's our lead-to-client conversion rate?"
  • "What percentage of leads have valid contact info?"

get_analytics

Platform-wide metrics for a given time period.

Parameter Type Description
period 7 | 30 | 90 Days to analyze (default: 7)
client_id string Filter by business client ID

Returns:

  • Conversations: total, escalated, resolved, resolution rate, escalation rate
  • Appointments: total, no-shows, cancelled, no-show rate
  • Leads: total count

Example prompts:

  • "Give me the metrics for the last 30 days"
  • "What's the no-show rate this month?"
  • "How many conversations were escalated last week?"

Write Tools

create_appointment

Creates a new appointment after checking availability.

Parameter Type Required Description
client_id string Yes Business client ID
customer_phone string Yes Customer phone number
customer_name string Yes Customer name
date string Yes Date in YYYY-MM-DD format
time string Yes Time in HH:MM format
service string No Service requested
duration_minutes number No Duration (default: 60)
notes string No Additional notes

Example prompts:

  • "Schedule an appointment for Juan Perez tomorrow at 10am"
  • "Book a dental cleaning for Maria on 2026-05-01 at 14:00"

cancel_appointment

Cancels an existing appointment by ID.

Parameter Type Required Description
appointment_id string Yes Appointment ID to cancel
client_id string No Business client ID for verification

Example prompts:

  • "Cancel Juan's appointment"
  • "Cancel appointment ID abc-123"

send_whatsapp

Sends a WhatsApp message from the Atiendo24 business number.

Parameter Type Required Description
to string Yes Destination phone (e.g., +50688881234 or 88881234)
message string Yes Message text

Note: WhatsApp Cloud API requires the recipient to have messaged your number within the last 24 hours. Messages outside this window require pre-approved templates.

Example prompts:

  • "Send a WhatsApp to +50688881234 saying the appointment is confirmed"
  • "Message this prospect that I'll call them tomorrow"

Installation

Prerequisites

  • Node.js >= 18
  • A Supabase project with the Atiendo24 schema
  • WhatsApp Cloud API credentials (for send_whatsapp)

Setup

git clone https://github.com/edgarconejo/atiendo24-mcp-server.git
cd atiendo24-mcp-server
npm install
npm run build

Configure Claude Desktop

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "atiendo24": {
      "command": "node",
      "args": ["/absolute/path/to/atiendo24-mcp-server/dist/index.js"],
      "env": {
        "SUPABASE_URL": "https://your-project.supabase.co",
        "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key",
        "WA_CLOUD_API_TOKEN": "your-whatsapp-cloud-api-token",
        "WA_CLOUD_PHONE_NUMBER_ID": "your-phone-number-id"
      }
    }
  }
}

Restart Claude Desktop after saving the config.

Environment Variables

Variable Required Description
SUPABASE_URL Yes Your Supabase project URL
SUPABASE_SERVICE_ROLE_KEY Yes Supabase service role key (bypasses RLS)
WA_CLOUD_API_TOKEN For send_whatsapp WhatsApp Cloud API permanent token
WA_CLOUD_PHONE_NUMBER_ID For send_whatsapp WhatsApp Business phone number ID

Verify Installation

After restarting Claude Desktop, click the + button in a new chat → Connectors — you should see "atiendo24" listed and enabled.

Try asking: "How many appointments do I have today?"

Tech Stack

About Atiendo24

Atiendo24 is a multi-tenant SaaS platform that deploys AI-powered WhatsApp agents for businesses in Costa Rica. Each agent handles customer inquiries, schedules appointments, sends reminders, and processes payments — 24/7.

Built with Next.js, Supabase, Claude API, and WhatsApp Cloud API.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured