FavCRM — Agentic CRM
Agentic CRM for service businesses — 136 typed tools across customers, bookings, loyalty, invoices, and WhatsApp/SMS.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Search Members: Search and filter members/accounts. Supports text search, date ranges, booking/activity history, membership tier, tags, and more. Use lastBookingBefore/inactiveDays to find inactive me
- Get Member Profile: Get detailed profile for a specific member/account by ID.
- List Tags: List all available tags for the merchant.
What data it sees
Do you need an account
No: the server works without sign-in
Agentic CRM for service businesses — 136 typed tools across customers,
bookings, loyalty, invoices, and WhatsApp/SMS. Hosted at api.favcrm.io/mcp.
What it does
- Customers & loyalty — segments, memberships, rewards, points
- Bookings — create, confirm, cancel, no-show; capacity-aware schedules
- Commerce — invoices, payments, products, orders, inventory
- Communications — WhatsApp, SMS, email with templates
- CRM core — contacts, tasks, tickets, deals, campaigns
Auth
API key (fav_mcp_...). Sign up free at favcrm.io → Settings → API Keys.
Free tier: 100 customers + 200 bookings/month. No credit card.
Quickstart
Install snippets, examples, and smoke tests: github.com/favcrm/mcp
Server tool list (60)
Raw names from tools/list. Only developers need these.
| search_members | Search and filter members/accounts. Supports text search, date ranges, booking/activity history, membership tier, tags, and more. Use lastBookingBefore/inactiveDays to find inactive members. |
| get_member_profile | Get detailed profile for a specific member/account by ID. |
| list_tags | List all available tags for the merchant. |
| attach_tags | Attach one or more tags to a member/account. Useful for segmenting members after filtering. |
| list_tiers | List all membership tiers with member counts and stats. |
| get_membership_tier | Get a specific membership tier by ID. |
| issue_rewards | Issue a gift/reward to multiple members. Requires a gift offer ID and member IDs. |
| enrol_membership | Enrol a member into a membership tier. Free tiers enrol immediately; paid tiers return PAYMENT_REQUIRED unless skipPriceCheck is set. Use list_tiers first to find the target tier. |
| get_loyalty_balance | Get a member's current loyalty balance — points, stamps, credits, lifetime totals, and active membership tier. Returns null if the member is not enrolled. |
| earn_loyalty_points | Credit loyalty points or stamps to a member. Use field="points" for points, "stamps" for stamps. Server records a transaction with the reason as audit context. |
| get_dashboard_stats | Get high-level business KPIs: member count, new members this week, active subscriptions, total points issued, active promotions, rewards redeemed, messages sent. |
| list_bookings | List bookings with filters for date range, status, service, staff, or member. |
| get_booking_detail | Get full booking details including line items, status history, and participants. |
| get_booking_stats | Get booking counts: today, this week, this month, and breakdown by status. |
| get_available_slots | Find available booking slots for a service on a specific date. |
| list_services | List booking services with name, price, duration, and status. |
| get_service_detail | Get full service details including addons, staff, resources, and tier pricing. |
| create_service | Create a bookable service. Sets duration, price, capacity, and policies. Use list_service_categories first if you want to attach to an existing category. |
| update_service | Update an existing booking service. Pass only the fields you want to change. |
| create_service_schedule | Create a bookable schedule window for a service, including recurring weekly/daily availability. |
| list_service_schedules | List schedule windows for booking services. |
| update_service_schedule | Update a service schedule window. Pass only fields to change. |
| assign_staff_to_service | Assign a staff member to a booking service. Pass users.id from list_staff.userId. |
| link_resource_to_service | Link a room/resource to a booking service. |
| list_service_categories | List service categories (groups for booking services like "Treatments", "Classes"). |
| create_service_category | Create a service category (e.g. "Treatments", "Classes") to group bookable services. |
| create_resource | Create a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true. |
| set_resource_availability | Add an availability window for a resource. Use day-of-week + recurring=true for weekly schedules, or a specific date for one-off blocks. |
| set_staff_availability | Add an availability window for a staff member (companyMembers.id). Use day-of-week + recurring for weekly schedules, or a specific date for one-off changes. |
| get_booking_settings | Get global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation requirements. |
| update_booking_settings | Update global booking settings. Pass only the fields you want to change. |
| list_tickets | List support tickets with optional filters. |
| get_ticket_stats | Get ticket counts grouped by status. |
| create_ticket | Create a support ticket for a member issue. |
| update_ticket_status | Update the status of an existing support ticket. |
| list_deals | List CRM deals (sales pipeline) with optional filters. |
| update_deal_stage | Move a deal to a different pipeline stage. |
| list_contacts | List contacts (people linked to CRM accounts), optionally filtered by account or search. |
| get_contact | Fetch a single contact by ID. |
| create_contact | Create a contact on an existing CRM account. |
| update_contact | Update fields on an existing contact. |
| list_tasks | List tasks with optional status, assignee, and account filters. |
| create_task | Create a task. Optionally link to a CRM account or assign to a team member. |
| update_task | Update a task (status, priority, assignee, due date, completion). |
| send_whatsapp_message | Disabled for agents. Use request_send_approval so the merchant can approve the exact WhatsApp draft in Workroom. |
| search_crm | Search across CRM accounts and contacts by name, email, or phone. |
| list_invoices | List invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date. |
| list_subscriptions | List member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions. |
| list_campaigns | List marketing campaigns (email, SMS, WhatsApp) with delivery stats. |
| create_campaign | Create a marketing campaign (email, SMS, or WhatsApp) in DRAFT. For email channelConfig, use subject + htmlBody + optional plainTextBody. recipientSource="list" is accepted as an alias for "individual". |
| update_campaign | Update an existing campaign. Channel cannot be changed after creation. Pass only fields to change. |
| delete_campaign | Delete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history. |
| send_campaign | Disabled for agents. Use request_send_approval so the merchant can approve the exact campaign send in Workroom. |
| validate_campaign | Validate a campaign before sending. Resolves contactable recipient count and previews the final email subject/body without sending. |
| send_test_campaign | Disabled for agents. Use request_send_approval so the merchant can approve the exact test email in Workroom. |
| list_notification_logs | List notification delivery logs for the current company. Recipients are masked by default for incident-response safety. |
| list_conversations | List messaging conversations across channels (WhatsApp, SMS, email, etc). Shows unread counts and last message time. |
| create_broadcast | Create a DRAFT WhatsApp or SMS broadcast campaign. The broadcast is NOT sent — admin must review and send it from the Broadcasts page. |
| clone | Duplicate an existing record (product, tier, campaign, post, service package, promotion, gift offer). Creates a copy in DRAFT status with "(Copy)" appended to the name. |
| list_notes | List notes attached to a member/account, booking, or ticket. |