# Membes MCP connector

Connecting Membes to Elaichi brings member profiles, events, registrations, groups, and forum topics to Claude, ChatGPT, Cursor, and any MCP client, so each person can look up and update membership records by asking, inside their own access.

Source: https://elaichi.ai/connectors/membes/

## Facts

| | |
| --- | --- |
| Application | Membes |
| Category | CRM |
| AI tools | 58 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 58 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Membes is connected

- Which events have registrations open next month?
- Find member profiles with no interaction since June.
- Create a registration type for the autumn conference.

## Connect Membes in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Membes.
2. Optionally set Share with, then press Connect.
3. Paste a Membes API key. One person generates a token in Membes and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Membes tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Membes to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Membes to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Membes to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Membes to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Membes tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Membes through Elaichi

### Catch a member's profile up after a call

Membership. Ask for a member by name or ID, see their details and past interactions, then log the conversation and update their contact information without opening Membes.

### Set up an event and its registration types

Events. Describe the event, its dates, and the ticket categories you need, and have them created in Membes, then check what is already on the calendar for the same month.

### Register a member and fix a booking

Member services. Register a member for an upcoming event, or change an existing registration when someone needs a different type or has updated their details.

### See what groups and forums are discussing

Community. Pull the latest topics and replies across your Membes groups and forums, summarize what members are raising, and spot questions that still need an answer.

### Build a list of members to invite

Marketing. Search profiles by membership type or custom field values, then pair the list with the events on your Membes calendar to decide who to invite to what.

### Report on events and membership types

Leadership. List every event in a date range alongside your membership types and custom fields, and turn it into a plain summary for a board or committee meeting.

## Frequently asked questions

### How do I connect Membes to Claude?

There are two steps. First, connect Membes in Elaichi by pasting your Membes API key when prompted; there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in to Elaichi and Membes is ready to use in Claude.

### Does Membes work with ChatGPT and Cursor as well as Claude?

Yes. Once Membes is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Membes once and every client you use picks it up.

### What can an AI agent actually do with my Membes data?

With Membes connected, an agent can find a member's profile, see their event history and past interactions, create or update a profile, and log a new interaction. It can list events in a date range, create events and their registration types, register a member, and update an existing registration. It can also read your groups, forum topics, and replies, and list your membership types and custom fields. Because Membes has many actions available, short and specific asks such as "find the profile for Jane Lee" work better than long paragraphs.

### Does connecting Membes give the AI everything in my membership database?

No. The AI only sees what the Membes account that was connected can see, and every request runs as the person who signed in to Elaichi. Elaichi can narrow that access further, for example to reading profiles but not creating events, but it can never widen it beyond what Membes itself allows that account.

### Can my team share one Membes connection?

Yes. One person connects Membes in Elaichi and shares the connection with a team, and nobody else ever handles the Membes API key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who looked up a profile or registered a member, even through a shared Membes connection.

### Can I stop an agent from deleting or changing things in Membes?

Yes. Restrictions in Elaichi are set per action, so you can allow reading Membes profiles and events while blocking anything that creates or updates them. A blocked action is never shown to Claude, ChatGPT, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a Membes connection when someone leaves?

When you offboard a person in Elaichi, their access to Membes through every client ends at once. If they had shared a Membes connection with a team, it keeps working for everyone else. If you want to remove Membes entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 58 Membes tools

Every tool below is callable through https://api.elaichi.ai/mcp once Membes is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Membes token get access token** (Get). Generate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: access_token. Required: org_id, secret.
- **Membes token validate** (Validate). Validate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: membership_status, membership_type, surname, first_name, id, profile_number, membership_type_id, membership_status_id, email. Required: token_to_validate.
- **Get single Membes profile by ID** (Get). Get Profile Detail. Returns: profile_details, groups, custom_fields, address. Required: id.
- **Create a Membes profile** (Create). This endpoint adds a new profile. Required: first_name, surname.
- **Update a Membes profile by ID** (Update). This endpoint update a profile. Required: id, first_name, surname.
- **Membes profiles get events** (Get). Get Events of a Profile (last 12 months). Required: profile_id.
- **Membes profiles search** (Search). Search for profiles that matches the search criteria. Profile can be search base on either: - email - radius from a given location - custom field Only one of the search criteria will be used (if more than 1 criteria are given, the rest will be ignored). Returns: profile_number, informal_name, previous_name, surname, dob, company_name, first_name, id, middle_name, membership_paid_through, email.
- **Create a Membes profile interaction** (Create). Add interaction records to a profile. profile_interaction_object. Returns: status, interaction_id. Required: profile_id.
- **Get single Membes profile interaction by ID** (Get). Get Profile Interaction. Required: profile_id, type_id.
- **Get single Membes event by ID** (Get). This endpoint will retrieve an event detail by its ID. Required: id.
- **Membes events get registration types** (Get). Get Event Registration Type. Returns: event_id, id, type, description. Required: id.
- **Create a Membes event** (Create). Create a new event.
- **Membes events list by date range** (List). Get a List of Events by Date Range. Returns: event_object, content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, . Required: start_date, end_date.
- **Create a Membes event registration type** (Create). Create registration types. Create new event registration types for an event.
- **Create a Membes event registration** (Create). Register an existing user for an event. Returns: registrant_id, success. Required: event_id, profile_id, registration_type.
- **Update a Membes event registration by ID** (Update). Update the event registration for a user. Returns: registrant_id, success.
- **List all Membes group events** (List). Get a list of Event by Group. Returns: content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, cpd_auto_log, . Required: group_id.
- **List all Membes group topics** (List). Get a list of Forum Topics by Group. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: group_id.
- **List all Membes group replies** (List). Get a List of Topic Replies by Group. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: group_id.
- **List all Membes groups** (List). Retrieve a list of all profile groups and their members. Returns: group_name, group_id, members.
- **List all Membes membership types** (List). Get a list of membership types. Returns: id, title, description, registration_link, prices, label, price.
- **List all Membes custom fields** (List). Get a list of custom fields. Returns: id, type, label.
- **Get single Membes forum topic by ID** (Get). Get a Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: id.
- **List all Membes forum topics** (List). Get a List of Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id.
- **Create a Membes forum topic** (Create). Create a new forum topic Create a new topic in the discussion forum. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: category_id, title, body, enabled.
- **List all Membes forum replies** (List). Get a List of Forum Topic Replies. Returns: topic_reply_object, topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id.
- **Create a Membes forum reply** (Create). Create a forum topic reply Create a reply to a topic in the discussion forum. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id, body, enabled.
- **List all Membes forum categories** (List). Get Forum Categories. Returns: org_id, id, title, description.
- **Get single Membes news by ID** (Get). Get News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.
- **Membes news list published** (List). Get published News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.
- **List all Membes news** (List). Get All News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.
- **Create a Membes news** (Create). Create news item Create a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image.
- **Update a Membes news by ID** (Update). Update news item Update a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.
- **Membes cms themes save** (Action). Save website theme Create a CMS theme. Required: theme_id.
- **Get single Membes ad by ID** (Get). Get Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: id.
- **Membes ads list published** (List). Get Published Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.
- **List all Membes ads** (List). Get All Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.
- **Create a Membes cpd activity log** (Create). Create CPD activity log. Create a CPD activity log on a profile. Required: name, category_id, date, profile, activity.
- **List all Membes cpd activity logs** (List). Get CPD Activity Log. Required: profile_id.
- **Update a Membes cpd activity log by ID** (Update). Update CPD activity log. Update CPD activities logged on a profile. Required: id, name, category_id, date, activity.
- **Delete a Membes cpd activity log by ID** (Delete). Delete a CPD Activity Log. Required: profile_id, log_id.
- **List all Membes cpd activities** (List). Get Available CPD Activities. Returns: category_id, cap_points2, min_points2, min_points5, points, can_submit_online, min_points3, min_points4, cap_points5, requires_audit, min, min_hours, code, cap, id, ...
- **List all Membes cpd categories** (List). Get a list of CPD categories. Returns: org_id, reference_id, description.
- **List all Membes lookups** (List). Get a list of Countries or States. Required: type.
- **List all Membes webhooks** (List). get a list of webhook. Returns: org_id, id, webhook_type, webhook.
- **Membes webhooks subscribe** (Action). Subscribe to a webhook. Returns: org_id, id, type, webhook. Required: type, hook_url.
- **Membes webhooks unsubscribe** (Action). Unsubscribe from a webhook. Required: id.
- **List all Membes batch profiles** (List). profiles. Returns: profile_id, profile_number, prefix_id, first_name, middle_name, surname, informal_name, gender, dob, company_name, email, email2, phone_home_country_code, phone_home, phone_work_country_code, . Required: last_updated.
- **List all Membes batch profile interactions** (List). profile_interactions. Returns: profile_id, interaction_type_id, interaction_id, title, description, interaction_logged_date, interaction_logged_by, action, action_date, action_assigned_to, action_completed, interaction_invoice_number. Required: last_updated.
- **List all Membes batch news** (List). news. Returns: org_id, news_id, news_title, news_introduction, news_page_body, news_url, news_url_text, news_pub_date, news_exp_date. Required: last_updated.
- **List all Membes batch invoices** (List). invoices. Returns: org_id, invoice_id, invoice_date, profile_id, invoice_name, invoice_organisation, invoice_address_1, invoice_address_2, invoice_address_3, invoice_suburb, invoice_postcode, state_id, country_id, invoice_paid_date, invoice_items, . Required: last_updated.
- **List all Membes states** (List). get list of states. Returns: state_id, state_name. Required: state_id.
- **List all Membes countries** (List). get list of countries. Returns: country_id, country_name. Required: country_id.
- **List all Membes profile interaction types** (List). profile_interaction_types. Returns: interaction_type_id, interaction_type_title. Required: interaction_type_id.
- **Membes directories get filters** (Get). Get the list of filters and export options for a specific directory. Returns: show_map, export_excel, export_pdf, location_based, filters. Required: directory_id.
- **Membes directories get display settings** (Get). Get the display settings and layout configurations for a specific directory, including system fields, basic settings, summary and page field layouts, and available filters. Required: directory_id.
- **Membes directories search** (Search). Search for profiles in a directory based on filter and location parameters. Required: directory_id.
- **Membes profile directories search** (Search). Search Profile Directories Map. Search profile directories using filters, search-system fields, proximity parameters, and optional map-only results. Required: directoryID, show_map_only.
