Arara MCP

Arara MCP

Turns Claude Code, Claude Desktop, Cursor, Windsurf or ChatGPT into a WhatsApp operator that knows your customers, your templates, your wallet, and your funnel.

Category
访问服务器

README

Arara MCP

npm TypeScript License Docs

Turn Claude Code, Claude Desktop, Cursor, Windsurf or ChatGPT into a WhatsApp operator that knows your customers, your templates, your wallet, and your funnel. Built by AraraHQ — Brazilian CPaaS for WhatsApp, homologated by Meta.

84 tools · OAuth login · stdio + SSE


Install in 30 seconds

Claude Code

claude mcp add arara --scope user -- npx -y ararahq-mcp

Restart Claude Code. In any conversation:

log into arara

Browser opens, you approve, the token lands in your OS keychain. Done.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "arara": {
      "command": "npx",
      "args": ["-y", "ararahq-mcp"]
    }
  }
}

Restart Claude Desktop. Type "log into arara" in any chat — browser opens, you approve, you're in.

Cursor

Settings → MCP → Add server:

{
  "arara": {
    "command": "npx",
    "args": ["-y", "ararahq-mcp"]
  }
}

Windsurf

.windsurf/mcp.json at project root:

{
  "servers": {
    "arara": {
      "command": "npx",
      "args": ["-y", "ararahq-mcp"]
    }
  }
}

Hosted SSE — no local install

For ChatGPT (Custom GPT), n8n, or any client that speaks SSE:

URL:    https://mcp.ararahq.com/sse
Header: X-Arara-Key: ara_live_xxx

Generate the key at Dashboard → API Keys.

Headless (CI / n8n self-hosted / server)

Skip OAuth — set the env var and run:

ARARA_API_KEY=ara_live_xxx npx ararahq-mcp --stdio

5 things you can do right now

1. Ask the LLM: "Quantas mensagens entregamos essa semana e quanto gastei?" → Calls get_delivery_metrics + get_wallet_balance. Two-line answer.

2. Ask: "Manda a promoção 'black_friday_30off' pros 200 leads mais quentes do mês passado." → Chains list_contacts → list_templates → estimate_campaign_cost → approval → create_campaign with idempotency key.

3. Ask: "O cliente +5511999998888 reclamou. Como respondo?" → Reads conversation history with get_conversation_messages, drafts on-brand reply via brain_suggest_reply, sends on approval.

4. Ask: "Tem dinheiro saindo da minha conta? Recupera o que dá." → Scans AbacatePay leaks via find_revenue_leaks, enriches with WhatsApp history, proposes per-leak offer via negotiate_payment.

5. Ask: "Cria um Smart Link pro meu bio do Instagram que mande mensagem pro +5511999998888 com texto pré-pronto." → Calls create_smart_link. Returns short URL with click tracking + QR code.


Why an MCP, not a raw API client?

A raw API client needs you to remember endpoints, payload shapes, validation rules, idempotency keys, the 24h window, template approval state. The MCP wraps all of that into 84 self-describing tools the LLM picks from — plus an OAuth handshake so you never paste keys into your editor.

You speak Portuguese. The LLM does the rest.


Tool index

84 tools across 16 domains. Full descriptions ship as MCP tool metadata (your client surfaces them automatically). High-level breakdown:

<details> <summary><b>Auth</b> — 3 tools</summary>

login · logout · whoami

OAuth device flow: opens browser, polls until approved, stores token in OS keychain (macOS Keychain / Linux Secret Service / Windows Credential Manager). Never on disk.

</details>

<details> <summary><b>Messaging</b> — 4 tools</summary>

send_message · send_template_to_many · get_message_status · list_messages

send_message accepts EITHER text (free text, requires open 24h window) OR templateName + templateVariables (always allowed). Guardian content checks run before dispatch. send_template_to_many handles up to 1000 recipients with per-recipient variables.

</details>

<details> <summary><b>Templates</b> — 6 tools</summary>

list_templates · create_template · get_template_status · get_template_analytics · delete_template · list_paused_templates

create_template supports body + header (text/media/document) + footer + samples. Meta approval typically takes 1–5 minutes; poll with get_template_status.

</details>

<details> <summary><b>Campaigns</b> — 8 tools</summary>

create_campaign · list_campaigns · get_campaign · estimate_campaign_cost · cancel_campaign · create_ab_test · get_ab_test · force_ab_test_winner

create_campaign accepts optional idempotencyKey to safely retry on network errors. estimate_campaign_cost previews spend before commit.

</details>

<details> <summary><b>Conversations</b> — 6 tools</summary>

list_conversations · get_conversation_messages · reply_in_conversation · check_window_status · bulk_window_check · get_lead_stats

reply_in_conversation only works within an open 24h session window. Use send_message with a template to reopen.

</details>

<details> <summary><b>Contacts</b> — 4 tools</summary>

list_contacts · get_contact · upsert_contacts · get_contact_stats

upsert_contacts accepts up to 1000 per call and returns per-row errors so the LLM can summarize bad rows. Custom attributes as free-form JSON.

</details>

<details> <summary><b>Numbers</b> — 7 tools</summary>

list_numbers · get_number_health · request_new_number · list_number_requests · sync_number_with_meta · update_number · get_warming_plan

Manage WhatsApp numbers, request new ones, force sync of profile (display name / vertical) with Meta, track warmup health.

</details>

<details> <summary><b>Smart Links</b> — 4 tools <i>(Arara DNA)</i></summary>

create_smart_link · list_smart_links · update_smart_link · get_smart_link_stats

Trackable wa.me alternative with per-link QR code, click counting, and first-party attribution. Use in bios, ads, footers.

</details>

<details> <summary><b>Brain (AI)</b> — 9 tools</summary>

brain_interact · brain_suggest_reply · get_brain_config · get_brain_metrics · add_brain_knowledge · list_brain_knowledge · update_brain_knowledge · delete_brain_knowledge · ingest_url_to_brain

brain_interact answers about your business using your templates + knowledge + history. brain_suggest_reply drafts on-brand replies. ingest_url_to_brain crawls a URL into the knowledge base.

</details>

<details> <summary><b>Recovery (AbacatePay)</b> — 10 tools <i>(paid feature)</i></summary>

find_revenue_leaks · negotiate_payment · check_payment_status · get_recovery_endpoint · list_recovery_events · configure_recovery_event · test_recovery_event · set_recovery_endpoint_active · list_recovery_ingests · retry_recovery_ingest

Atomic recovery cycles: scan leaks → propose offer → dispatch payment link via WhatsApp → verify payment. Conversation as contract.

</details>

<details> <summary><b>Wallet & account</b> — 5 tools</summary>

get_wallet_balance · list_wallet_transactions · get_organization_info · get_delivery_metrics · get_pricing

Quick reads of the org state. Compose into your own "weekly review" prompt.

</details>

<details> <summary><b>Guardian (brand safety)</b> — 3 tools</summary>

configure_guardian_policy · list_policy_violations · resolve_policy_violation

Custom regex rules per session that block sensitive content + brand-policy violations on outbound. Built-in rules (CPF, CNPJ, CVV, passwords, tokens) are always on.

</details>

<details> <summary><b>Opt-out & LGPD</b> — 6 tools</summary>

list_opt_outs · register_opt_out · revoke_opt_out · check_opt_out · lgpd_export_contact · lgpd_delete_contact

LGPD compliance built in: opt-out lifecycle + data export/delete on request.

</details>

<details> <summary><b>Phone Lookup</b> — 2 tools <i>(R$ 0,05 each)</i></summary>

lookup_phone · lookup_phones_batch

Validate phones before sending. Returns mobile/landline, carrier, hasWhatsapp.

</details>

<details> <summary><b>API keys</b> — 4 tools</summary>

list_api_keys · create_api_key · rotate_api_key · revoke_api_key

rotate_api_key revokes the old and issues new in one call — for handling compromise without downtime.

</details>

<details> <summary><b>Business profile</b> — 3 tools</summary>

get_business_profile · update_business_profile · sync_business_profile

Manage your business display name, description, vertical, and sync state with Meta.

</details>


Authentication

Two modes, picked automatically in this order:

Mode When How
OAuth (device flow) Default for Claude Code, Desktop, Cursor, Windsurf Run login, approve in browser. Token saved to OS keychain. Auto-refresh.
API key via env CI, server, n8n, ChatGPT (SSE), headless ARARA_API_KEY=ara_live_xxx (stdio) or X-Arara-Key header (SSE)

Internal precedence: explicit apiKey arg → SSE session key → OAuth keychain → ARARA_API_KEY env. If none exist, tools fail with MissingAuth and tell you to run login.


Configuration

# OAuth is the default. These are all optional overrides.
ARARA_API_KEY=ara_live_xxx          # Fallback / headless mode
ARARA_BASE_URL=https://...          # Override endpoint (default: https://api.ararahq.com/api)
ABACATE_API_KEY=xxx                 # For AbacatePay tools
ARARA_MCP_TELEMETRY=off             # Disable usage telemetry
PORT=3333                           # SSE mode port (default 3333)
MCP_TRANSPORT=sse                   # Force SSE instead of stdio

Tokens stored via keytar — macOS Keychain, Linux Secret Service, Windows Credential Manager. Never on disk in plaintext.


Local dev

git clone https://github.com/ararahq/ararahq-mcp.git
cd ararahq-mcp
npm install
npm run build
node build/index.js --stdio          # for Claude Desktop / Code testing
PORT=3333 node build/index.js        # for SSE testing on localhost

To wire your local build into Claude Code:

claude mcp add arara --scope user -- node /absolute/path/to/build/index.js --stdio

Get help


Built in São Paulo · MIT license · © AraraHQ

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选