Mob (Demo) is a remote MCP server that gives an AI agent 42 tools, among them activity_list, activity_manage, activity_type_manage. It answers at https://demo.mobcrm.au/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 21 October 2026, succeeded.
Ephemeral no-signup demo of Mob, an AI-first personal CRM you run in natural language.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
activity_list | List activities, optionally filtered by contact or type. Add days_back or since for a chronological activity journal with participant names. Inputs: contact_id, type, days_back, since, sort_order, page |
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. • act Inputs: action, id, type, title, description, occurred_at |
activity_type_manage | List, create, update, or delete custom activity types Inputs: action, id, name, category, icon |
address_manage | Add, update, or remove an address for a contact Inputs: action, contact_id, id, label, street_line_1, street_line_2 |
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. Inputs: activities |
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. Inputs: contacts |
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. Inputs: tag_name, contact_ids |
contact_create | Create a new contact with basic info Inputs: first_name, middle_name, last_name, nickname, maiden_name, gender |
contact_delete | Soft-delete a contact (can be restored later) Inputs: contact_id |
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. |
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, act Inputs: contact_id |
contact_list | List contacts with optional filters (status, favorite, company, tag, search). Returns paginated results. Inputs: page, per_page, status, is_favorite, search, company |
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. Inputs: primary_contact_id, secondary_contact_id |
contact_method_manage | Add, update, or remove a contact method (email, phone, social handle, etc.) Inputs: action, contact_id, id, type, value, label |
contact_restore | Restore a soft-deleted contact Inputs: contact_id |
contact_timeline | Get the unified timeline for a contact (activities, life events, notes, etc.) Inputs: contact_id, entry_type, page, per_page |
contact_update | Update contact fields Inputs: contact_id, first_name, middle_name, last_name, nickname, maiden_name |
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. Inputs: days_since_last_interaction, status, tag_name, is_favorite, limit |
custom_field_manage | Add, update, or remove a custom field on a contact Inputs: action, contact_id, id, field_name, field_value, field_group |
data_export | Export all CRM data as a JSON object (contacts, relationships, notes, activities, life events, reminders, gifts, debts, tasks, tags) |
data_statistics | Get CRM statistics and overview (contact counts, activity counts, pending items, etc.) |
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 Inputs: action, id, contact_id, amount, currency, direction |
food_preferences_get | Get food preferences for a contact (dietary restrictions, allergies, favorites, dislikes) Inputs: contact_id |
food_preferences_upsert | Set or update food preferences for a contact. Replaces all fields - pass all known preferences, not just changes. Inputs: contact_id, dietary_restrictions, allergies, favorite_foods, disliked_foods, notes |
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. Inputs: contact_id, status, direction, occasion, sort_by, sort_order |
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, s Inputs: action, contact_id, id, name, description, url |
global_search | Search across all entity types (contacts, notes, activities, life events, gifts, tasks, reminders, debts, relationships, contact methods, addresses, custom fields) in a single query. Returns grouped results by entity type with snippets and Inputs: query, entity_types, limit_per_type |
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 e Inputs: action, contact_id, id, event_type, title, description |
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. |
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_ Inputs: action, timezone, birthday_reminder_offsets, reminder_offsets, birthday_reminder_time |
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. Inputs: contact_id, query, tag_name, is_pinned, sort_by, sort_order |
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. • Inputs: action, contact_id, id, title, body, is_pinned |
notification_create | Create a custom notification Inputs: type, title, body, contact_id |
notification_list | List notifications (newest first) Inputs: unread_only, page, per_page |
notification_read | Mark notification(s) as read. Pass id for a single notification, or all=true for all. Inputs: id, all |
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, |
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 crea Inputs: action, contact_id, related_contact_id, id, relationship_type, notes |
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, optio Inputs: action, id, contact_id, title, description, reminder_date |
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": Up Inputs: action, id, name, contact_id |
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_ Inputs: action, id, title, description, contact_id, due_date |
upcoming_birthdays, upcoming_reminders
Every block below points at https://demo.mobcrm.au/mcp. Pick your client and copy.
claude mcp add --transport http mob-demo https://demo.mobcrm.au/mcp
{
"mcpServers": {
"mob-demo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://demo.mobcrm.au/mcp"]
}
}
}{
"mcpServers": {
"mob-demo": {
"url": "https://demo.mobcrm.au/mcp"
}
}
}{
"servers": {
"mob-demo": {
"type": "http",
"url": "https://demo.mobcrm.au/mcp"
}
}
}{
"context_servers": {
"mob-demo": {
"url": "https://demo.mobcrm.au/mcp"
}
}
}{
"mcpServers": {
"mob-demo": {
"serverUrl": "https://demo.mobcrm.au/mcp"
}
}
}{
"mcpServers": {
"mob-demo": {
"url": "https://demo.mobcrm.au/mcp"
}
}
}name: Mob (Demo)
version: 0.0.1
schema: v1
mcpServers:
- name: Mob (Demo)
type: streamable-http
url: https://demo.mobcrm.au/mcp{
"mcpServers": {
"mob-demo": {
"httpUrl": "https://demo.mobcrm.au/mcp"
}
}
}{
"mcpServers": {
"mob-demo": {
"type": "http",
"url": "https://demo.mobcrm.au/mcp"
}
}
}{
"mcpServers": {
"mob-demo": {
"url": "https://demo.mobcrm.au/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fdemo.mobcrm.au%2Fmcp&type=streamable_http&id=mob-demo&name=Mob%20%28Demo%29
It answered our last check on 21 October 2026 in 1163 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
42, as returned by the server's own tools/list on 13 September 2026: activity_list, activity_manage, activity_type_manage, address_manage, batch_create_activities, batch_create_contacts, batch_tag_contacts, contact_create, and 34 more.
It answered our last check on 21 October 2026 in 1163 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://demo.mobcrm.au/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.benkaiser. Endpoint host: demo.mobcrm.au. ARD identifier: urn:air:io.github.benkaiser:mcp:mob-demo.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.