Mob (Demo)

io.github.benkaiserPublished by GitHub account benkaiserv0.1.0Updated Nov 2, 2026

Ephemeral no-signup demo of Mob, an AI-first personal CRM you run in natural language.

The publisher's own server: demo.st

Overview

AI-generated overview

Ephemeral no-signup demo of Mob, an AI-first personal CRM that lets an assistant create and manage contacts, notes, activities, reminders, gifts and debts.

What you can do
  • Create, update, merge, soft-delete and restore contacts, plus batch creation and duplicate finding
  • Manage contact methods, addresses, custom fields, tags, relationships and food preferences
  • Record notes, activities, life events and a unified per-contact timeline
  • Track reminders, notifications, gifts, debts and tasks
  • Search globally, export all CRM data as JSON, get statistics, upcoming birthdays and contacts needing attention
  • Load a compact CRM overview first via the prime tool
When to use it
Useful for trying out an AI-first personal CRM in natural language without signing up, or for seeing how an assistant can turn conversations into structured relationship memory before committing to a hosted or self-hosted instance.
Requirements
Nothing to install: it is a remote endpoint at demo.mobcrm.au over streamable HTTP, with no authentication, environment variables or headers declared. A hosted account is only needed for the non-demo product.
Before you install
The demo is ephemeral, so data entered is not a durable store. Tools write, merge, soft-delete and restore records, and batch operations run atomically. Data export returns the full CRM dataset, and the demo endpoint is shared and unauthenticated, so avoid entering real personal or sensitive information about contacts.

Installation

In SourceWeft

  1. Open Mob (Demo) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.benkaiser%2Fmob-demo/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mob-demo": {
      "type": "http",
      "url": "https://demo.mobcrm.au/mcp"
    }
  }
}

README

[Mob]

Mob is an AI-first personal CRM for caring for the people in your life. Tell your AI assistant what happened, who matters, and what you want to remember; Mob turns natural language into structured relationship memory through MCP.

Try the live demo · Sign up free while in beta

[Mob dashboard]

Why Mob

Relationships are full of details: birthdays, family ties, dietary needs, last conversations, gift ideas, follow-ups, and the context that helps you show up well. Mob keeps those details organized without making you maintain another spreadsheet or click through a dashboard.

[Connect your AI assistant to Mob over MCP]

What Mob helps with

  • Build rich contact profiles from everyday conversation.
  • Remember relationships, notes, preferences, birthdays, reminders, gifts, debts, tasks, and shared history.
  • See timelines and search across everything you know about your contacts.
  • Connect AI assistants over MCP, use the web app when you want to browse, and automate through the public API.

Get started

Hosted Mob is free during beta with all core features enabled.

Self-hosting

Mob is open source and can be self-hosted with Node.js and SQLite. See the self-hosting guide for installation, environment variables, persistent storage, email, and deployment notes.

Open source, license, and support

Mob is available under the Functional Source License 1.1 (MIT Future License) - free to use, modify, and self-host for any non-competing purpose, and it converts to the MIT License two years after each release. For hosted beta support, account help, or feedback, email [email protected].

Source: README.md at commit 6028e9b

Tools

42

contact_create

Create a new contact with basic info

Parametersgenderstatuscompanyindustrynicknamepronounsjob_titlelast_nameavatar_urlfirst_namerequiredwork_notesis_favorite+12 more

contact_get

Get full contact details including all related data in one call: contact methods, addresses, food preferences, custom fields, tags, relationships, recent notes, recent activities, life events, active reminders, open tasks, recent gifts, active debts, and debt summary

Parameterscontact_idrequired

contact_update

Update contact fields

Parametersgenderstatuscompanyindustrynicknamepronounsjob_titlelast_nameavatar_urlcontact_idrequiredfirst_namework_notes+13 more

contact_delete

Soft-delete a contact (can be restored later)

Parameterscontact_idrequired

contact_restore

Restore a soft-deleted contact

Parameterscontact_idrequired

contact_list

List contacts with optional filters (status, favorite, company, tag, search). Returns paginated results.

Parameterspagesearchstatuscompanysort_byper_pagetag_namesort_orderis_favoriteinclude_deleted

contact_merge

Merge two contacts into one. All child records (notes, activities, tags, etc.) from the secondary contact are moved to the primary. The secondary contact is soft-deleted after merge.

Parametersprimary_contact_idrequiredsecondary_contact_idrequired

contact_find_duplicates

Scan for potential duplicate contacts using name, email, and phone matching. Returns pairs of contacts that may be duplicates with the reason for the match.

Takes no parameters.

contact_method_manage

Add, update, or remove a contact method (email, phone, social handle, etc.)

Parametersidtypelabelvalueactionrequiredcontact_idis_primary

address_manage

Add, update, or remove an address for a contact

Parametersidcitylabelactionrequiredcountrycontact_idis_primarypostal_codestreet_line_1street_line_2state_province

food_preferences_get

Get food preferences for a contact (dietary restrictions, allergies, favorites, dislikes)

Parameterscontact_idrequired

food_preferences_upsert

Set or update food preferences for a contact. Replaces all fields - pass all known preferences, not just changes.

Parametersnotesallergiescontact_idrequireddisliked_foodsfavorite_foodsdietary_restrictions

custom_field_manage

Add, update, or remove a custom field on a contact

Parametersidactionrequiredcontact_idfield_namefield_groupfield_value

relationship_manage

Add, update, remove, or list relationships between contacts. • action="add": Create a relationship between two contacts. Automatically creates the inverse relationship. Requires contact_id, related_contact_id, and relationship_type. To create relationships involving yourself, use your own contact_id from the prime tool. Relationships describe how contacts relate to each other (e.g. Bandit is Bingo's parent). • action="update": Update a relationship. Also updates the inverse relationship. Requires id. Optionally set relationship_type and/or notes. • action="remove": Remove a relationship and its inverse. Requires id. • action="list": List all relationships for a contact. Requires contact_id.

Parametersidnotesactionrequiredcontact_idrelationship_typerelated_contact_id

note_manage

Create, update, delete, or restore a note for a contact. • action="create": Add a new note. Requires contact_id and body. Optional title, is_pinned. • action="update": Update an existing note. Requires id. Optional title, body, is_pinned. • action="delete": Soft-delete a note. Requires id. • action="restore": Restore a soft-deleted note. Requires id.

Parametersidbodytitleactionrequiredis_pinnedcontact_id

note_list

List and search notes. When contact_id is provided alone, lists that contact's notes (pinned first). Add query, tag_name, is_pinned, or omit contact_id to search across all contacts.

Parameterspagequerysort_byper_pagetag_nameis_pinnedcontact_idsort_orderinclude_deleted

tag_manage

Manage tags and contact tagging. • action="list": List all tags for the authenticated user. No additional fields required. • action="create": Create a new tag (or return existing if name already exists). Requires name. • action="update": Update a tag name. Requires id and name. • action="delete": Delete a tag. Requires id. • action="tag_contact": Tag a contact. Creates the tag if it doesn't exist. Requires name (the tag name) and contact_id. • action="untag_contact": Remove a tag from a contact. Requires id (the tag ID) and contact_id.

Parametersidnameactionrequiredcontact_id

activity_manage

Create, get, update, delete, or restore an activity/interaction. • action="create": Record a new activity. Requires type, occurred_at, participant_contact_ids. Optional title, description, duration_minutes, location, activity_type_id. • action="get": Get full details of an activity. Requires id. • action="update": Update an activity. Requires id. Optional type, title, description, occurred_at, duration_minutes, location, participant_contact_ids. • action="delete": Soft-delete an activity. Requires id. • action="restore": Restore a soft-deleted activity. Requires id.

Parametersidtypetitleactionrequiredlocationdescriptionoccurred_atactivity_type_idduration_minutesparticipant_contact_ids

activity_list

List activities, optionally filtered by contact or type. Add days_back or since for a chronological activity journal with participant names.

Parameterspagetypesinceper_pagedays_backcontact_idsort_orderinclude_deleted

activity_type_manage

List, create, update, or delete custom activity types

Parametersidiconnameactionrequiredcategory

life_event_manage

Create, list, update, delete, or restore life events for a contact. • action="create": Record a new life event. Requires contact_id, event_type, and title. Optional description, occurred_at, related_contact_ids. • action="list": List life events for a contact. Requires contact_id. Optional page, per_page, include_deleted. • action="update": Update a life event. Requires id. Optional event_type, title, description, occurred_at, related_contact_ids. • action="delete": Soft-delete a life event. Requires id. • action="restore": Restore a soft-deleted life event. Requires id.

Parametersidpagetitleactionrequiredper_pagecontact_idevent_typedescriptionoccurred_atinclude_deletedrelated_contact_ids

contact_timeline

Get the unified timeline for a contact (activities, life events, notes, etc.)

Parameterspageper_pagecontact_idrequiredentry_type

reminder_manage

Create, list, update, complete, snooze, delete, or restore reminders. • action="create": Create a reminder for a contact. Requires contact_id, title, and reminder_date. Optional description, frequency. • action="list": List reminders, optionally filtered by contact or status. Optional contact_id, status, page, per_page, include_deleted. • action="update": Update a reminder. Requires id. Optional title, description, reminder_date, frequency. • action="complete": Mark a reminder as completed. For recurring reminders, advances to the next occurrence. Requires id. • action="snooze": Snooze a reminder to a new date. Requires id and new_date. • action="delete": Soft-delete a reminder. Requires id. • action="restore": Restore a soft-deleted reminder. Requires id.

Parametersidpagetitleactionrequiredstatusnew_dateper_pagefrequencycontact_iddescriptionreminder_dateinclude_deleted

notification_list

List notifications (newest first)

Parameterspageper_pageunread_only

notification_create

Create a custom notification

Parametersbodytyperequiredtitlerequiredcontact_id

notification_read

Mark notification(s) as read. Pass id for a single notification, or all=true for all.

Parametersidall

gift_manage

Create, update, delete, or restore a gift for a contact. • action="create": Track a gift idea, plan, or record a given/received gift. Requires contact_id, name, and direction. Optional description, url, estimated_cost, currency, occasion, status, date. • action="update": Update an existing gift (change status, add details, etc.). Requires id. Optional name, description, url, estimated_cost, currency, occasion, status, direction, date. • action="delete": Soft-delete a gift. Requires id. • action="restore": Restore a soft-deleted gift. Requires id.

Parametersidurldatenameactionrequiredstatuscurrencyoccasiondirectioncontact_iddescriptionestimated_cost

gift_list

List gifts, optionally filtered by contact, status, or direction. Add occasion, sort_by, sort_order, or omit contact_id for a cross-contact gift tracker with summary stats.

Parameterspagestatussort_byoccasionper_pagedirectioncontact_idsort_orderinclude_deleted

debt_manage

Create, list, update, settle, delete, restore, or summarize debts. • action="create": Track a new debt. Requires contact_id, amount, direction. Optional currency, reason, incurred_at. • action="list": List debts. Optional contact_id, status, page, per_page, include_deleted. • action="update": Update a debt. Requires id. Optional amount, currency, direction, reason, incurred_at. • action="settle": Mark a debt as settled. Requires id. • action="delete": Soft-delete a debt. Requires id. • action="restore": Restore a soft-deleted debt. Requires id. • action="summary": Get net balance summary for a contact. Requires contact_id.

Parametersidpageactionrequiredamountreasonstatuscurrencyper_pagedirectioncontact_idincurred_atinclude_deleted

task_manage

Create, list, update, complete, delete, or restore tasks. • action="create": Create a task. Requires title. Optional description, contact_id, due_date, priority. • action="list": List tasks. Optional contact_id, status, priority, page, per_page, include_deleted. • action="update": Update a task. Requires id. Optional title, description, contact_id, due_date, priority, status. • action="complete": Mark a task as completed. Requires id. • action="delete": Soft-delete a task. Requires id. • action="restore": Restore a soft-deleted task. Requires id.

Parametersidpagetitleactionrequiredstatusdue_dateper_pageprioritycontact_iddescriptioninclude_deleted

data_export

Export all CRM data as a JSON object (contacts, relationships, notes, activities, life events, reminders, gifts, debts, tasks, tags)

Takes no parameters.

data_statistics

Get CRM statistics and overview (contact counts, activity counts, pending items, etc.)

Takes no parameters.

prime

IMPORTANT: Call this tool FIRST before any other tool to load essential CRM context. Returns a compact overview of the user's data: the current user's identity (name, email, contact_id), all tags, the 200 most recently updated contacts (id, name, and tag IDs), and the 10 most recent notes. This primes your context so you can reference contacts by name, understand the user's tag taxonomy, and see recent activity without needing separate list calls. Always call this at the start of a conversation.

Takes no parameters.

upcoming_birthdays

Find contacts with birthdays coming up within a time window or in a specific month. Returns contacts sorted by soonest birthday first, with age calculations when available.

Parametersmonthdays_ahead

contacts_needing_attention

Find contacts you haven't interacted with recently - the "who am I neglecting?" query. Returns contacts sorted by staleness (longest since last interaction first). Contacts with zero interactions are included and sorted first.

Parameterslimitstatustag_nameis_favoritedays_since_last_interaction

upcoming_reminders

Find upcoming and overdue reminders across all contacts. Returns reminders sorted by date (overdue first, then soonest upcoming).

Parametersstatusdays_aheadinclude_overdue

batch_create_contacts

Create multiple contacts in one call. Max 50 items per batch. Runs atomically - if any item fails, the entire batch is rolled back.

Parameterscontactsrequired

batch_tag_contacts

Apply a tag to multiple contacts in one call. Max 50 contacts per batch. Creates the tag if it doesn't exist. Runs atomically - if any item fails, the entire batch is rolled back.

Parameterstag_namerequiredcontact_idsrequired

batch_create_activities

Create multiple activities/interactions in one call. Max 50 items per batch. Runs atomically - if any item fails, the entire batch is rolled back.

Parametersactivitiesrequired

manage_settings

View or update your personal settings (timezone, birthday reminder preferences). • action="get": View current settings • action="update": Update settings. Optional fields: timezone (IANA timezone like "America/New_York"), birthday_reminder_offsets (array of day offsets like [0,7,30] where 0=day-of, 7=week-before), reminder_offsets (array of day offsets like [0,7,30] for advance notice on custom reminders), birthday_reminder_time (HH:MM 24-hour format for when to send reminders)

Parametersactionrequiredtimezonereminder_offsetsbirthday_reminder_timebirthday_reminder_offsets

manage_push_notifications

Open a page to manage push notification subscriptions in your browser. Enables/disables web push notifications for birthday reminders and other alerts.

Takes no parameters.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Demo integrations