Beacon CRM MCP by usefulapi

io.usefulapi/beacon-crm

Read and filter Beacon CRM records of any type; create, update, upsert, delete records; run exports.

Yes, your AI can use this right now.Answered a live MCP handshake in 174 ms with no sign-in needed and exposes 11 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://beacon-crm.usefulapi.io/mcp

11 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
beaconcrm_list_record_typesread-only

List the record types of this Beacon account (people, organisations, payments, custom types, ...) with their fields (keys, types, options). Call this first: the keys are what the other tools take as `entity` and as field names. GET /entity_types.

beaconcrm_list_usersread-only

List the users of the Beacon account (id, role, name, email). Use the inner user.id for 'link to a user' fields. GET /users.

beaconcrm_list_recordsread-only

List records of one type (for example person, organization, payment), one page at a time. Use beaconcrm_filter_records to search by field values. GET /entities/{entity}.

beaconcrm_get_recordread-only

One record by type and id, with all its fields. GET /entity/{entity}/{id}.

beaconcrm_filter_recordsread-only

Search records of one type with Beacon filter conditions (read-only; it uses POST because the filter is a body). Each condition is {"field", "operator", "value"}. Operators by field type: text == != starts_with ends_with contains not_contains null not_null; select (value is an array) contains not_contains in not_in null not_null; number == != > < null not_null; date date_on date_after date_before

beaconcrm_create_record

WRITE: create ONE new record of the given type in the live Beacon database. Not idempotent: calling it twice creates two records (use beaconcrm_upsert_record to avoid duplicates). Beacon workflows may run as a result. Invalid field values are rejected with the rule that failed. POST /entity/{entity}.

beaconcrm_update_recordcan modify

WRITE: change fields of ONE existing record. Only the fields you pass are changed; a select or reference field passed as an empty array [] is CLEARED, removing its existing values. The previous values are not kept by this tool. Beacon workflows may run as a result. PATCH /entity/{entity}/{id}.

beaconcrm_upsert_recordcan modify

WRITE: create a record, or update the existing one whose key field matches. `primary_field_key` names the field used to find the match (for example "emails" for a person, or "external_id"); `fields` must contain a value for it. If a record matches it is UPDATED with the given fields (an empty array leaves an existing value untouched on upsert); otherwise a new record is created. Beacon workflows m

beaconcrm_delete_recordcan modify

WRITE, DESTRUCTIVE: delete ONE record. Beacon keeps deleted records as 'archived' (listable with archived=true), but this server has no restore tool, so treat the deletion as irreversible. Related data that depends on the record may be affected. It is sent once and never retried. DELETE /entity/{entity}/{id}.

beaconcrm_trigger_export

WRITE: start an export job from an existing export template (created in Beacon). Returns the new export's id with status in_progress; then poll beaconcrm_list_exports with that id until progress is 100 and it carries a download url. Each call starts another job. POST /entity_export/trigger.

beaconcrm_list_exportsread-only

List recent export jobs with status, progress (100 = complete) and, when complete, a signed download url. Pass entity_export_id to check one job started by beaconcrm_trigger_export. GET /entity_exports.

Alternatives in CRM & Sales

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”