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_membersSearch 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_profileGet detailed profile for a specific member/account by ID.
list_tagsList all available tags for the merchant.
attach_tagsAttach one or more tags to a member/account. Useful for segmenting members after filtering.
list_tiersList all membership tiers with member counts and stats.
get_membership_tierGet a specific membership tier by ID.
issue_rewardsIssue a gift/reward to multiple members. Requires a gift offer ID and member IDs.
enrol_membershipEnrol 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_balanceGet 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_pointsCredit 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_statsGet high-level business KPIs: member count, new members this week, active subscriptions, total points issued, active promotions, rewards redeemed, messages sent.
list_bookingsList bookings with filters for date range, status, service, staff, or member.
get_booking_detailGet full booking details including line items, status history, and participants.
get_booking_statsGet booking counts: today, this week, this month, and breakdown by status.
get_available_slotsFind available booking slots for a service on a specific date.
list_servicesList booking services with name, price, duration, and status.
get_service_detailGet full service details including addons, staff, resources, and tier pricing.
create_serviceCreate a bookable service. Sets duration, price, capacity, and policies. Use list_service_categories first if you want to attach to an existing category.
update_serviceUpdate an existing booking service. Pass only the fields you want to change.
create_service_scheduleCreate a bookable schedule window for a service, including recurring weekly/daily availability.
list_service_schedulesList schedule windows for booking services.
update_service_scheduleUpdate a service schedule window. Pass only fields to change.
assign_staff_to_serviceAssign a staff member to a booking service. Pass users.id from list_staff.userId.
link_resource_to_serviceLink a room/resource to a booking service.
list_service_categoriesList service categories (groups for booking services like "Treatments", "Classes").
create_service_categoryCreate a service category (e.g. "Treatments", "Classes") to group bookable services.
create_resourceCreate a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true.
set_resource_availabilityAdd 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_availabilityAdd 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_settingsGet global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation requirements.
update_booking_settingsUpdate global booking settings. Pass only the fields you want to change.
list_ticketsList support tickets with optional filters.
get_ticket_statsGet ticket counts grouped by status.
create_ticketCreate a support ticket for a member issue.
update_ticket_statusUpdate the status of an existing support ticket.
list_dealsList CRM deals (sales pipeline) with optional filters.
update_deal_stageMove a deal to a different pipeline stage.
list_contactsList contacts (people linked to CRM accounts), optionally filtered by account or search.
get_contactFetch a single contact by ID.
create_contactCreate a contact on an existing CRM account.
update_contactUpdate fields on an existing contact.
list_tasksList tasks with optional status, assignee, and account filters.
create_taskCreate a task. Optionally link to a CRM account or assign to a team member.
update_taskUpdate a task (status, priority, assignee, due date, completion).
send_whatsapp_messageDisabled for agents. Use request_send_approval so the merchant can approve the exact WhatsApp draft in Workroom.
search_crmSearch across CRM accounts and contacts by name, email, or phone.
list_invoicesList invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date.
list_subscriptionsList member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions.
list_campaignsList marketing campaigns (email, SMS, WhatsApp) with delivery stats.
create_campaignCreate 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_campaignUpdate an existing campaign. Channel cannot be changed after creation. Pass only fields to change.
delete_campaignDelete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history.
send_campaignDisabled for agents. Use request_send_approval so the merchant can approve the exact campaign send in Workroom.
validate_campaignValidate a campaign before sending. Resolves contactable recipient count and previews the final email subject/body without sending.
send_test_campaignDisabled for agents. Use request_send_approval so the merchant can approve the exact test email in Workroom.
list_notification_logsList notification delivery logs for the current company. Recipients are masked by default for incident-response safety.
list_conversationsList messaging conversations across channels (WhatsApp, SMS, email, etc). Shows unread counts and last message time.
create_broadcastCreate a DRAFT WhatsApp or SMS broadcast campaign. The broadcast is NOT sent — admin must review and send it from the Broadcasts page.
cloneDuplicate 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_notesList notes attached to a member/account, booking, or ticket.