MemberSuite MCP by usefulapi
Search members, memberships and saved searches; update contact fields in MemberSuite.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- HIGH
- MEDIUMin membersuite_run_saved_search
- LOWin membersuite_list_saved_searches
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"membersuite": {
"url": "https://membersuite.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://membersuite.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢membersuite_whoami
Return the API user and tenant that this connection uses, including ReceivesMemberBenefits status fields. Good first call. REST: GET /platform/v2/whoami.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢membersuite_search_individuals(msql, page, page_size)
Search individual contacts (people) with an MSQL statement, for example SELECT LocalID, FirstName, LastName, EmailAddress FROM Individual WHERE (LastName = 'Smith'). Use the ID column to update a person later. REST: GET /crm/v1/individuals/{tenantId}?msql=.
Eingabe-Schema
{
"type": "object",
"properties": {
"msql": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "MSQL statement, from a MemberSuite Console Advanced Search (choose MSQL in the output dropdown)."
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Records per page (1-100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"msql"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢membersuite_search_memberships(msql, page, page_size)
Search membership records with an MSQL statement, for example SELECT Owner.Name, Type.Name, JoinDate, ExpirationDate, ReceivesMemberBenefits FROM Membership. ReceivesMemberBenefits = true means an active member. REST: GET /membership/v1/memberships/{tenantId}?msql=.
Eingabe-Schema
{
"type": "object",
"properties": {
"msql": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "MSQL statement, from a MemberSuite Console Advanced Search (choose MSQL in the output dropdown)."
},
"page": {
"description": "Page number, starting at 1.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page_size": {
"description": "Records per page (1-100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"msql"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢membersuite_run_msql(msql, start_position)
Run any MSQL statement across modules, including joins. Use it for event registrations, for example SELECT LocalID, Individual.FirstName, Individual.LastName FROM EventRegistration('{eventGuid}') WHERE (CancellationDate IS NULL AND OnWaitList = 0). Pages with startPosition (row offset). REST: POST /platform/v2/dataSuite/executeSearch.
Eingabe-Schema
{
"type": "object",
"properties": {
"msql": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "MSQL statement, from a MemberSuite Console Advanced Search (choose MSQL in the output dropdown)."
},
"start_position": {
"description": "Record offset of the first row (0 = first page).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"msql"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢membersuite_list_saved_searches(name_contains)
List the public saved searches in the Console, with their IDs. Filter by part of the name (letters, digits, spaces, _ . -). Use an ID with membersuite_run_saved_search. REST: POST /platform/v2/dataSuite/executeSearch with SavedSearch MSQL.
Eingabe-Schema
{
"type": "object",
"properties": {
"name_contains": {
"description": "Part of the saved search name.",
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,80}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢membersuite_run_saved_search(saved_search_id)
Run one public saved search by its ID and return its records. The ID comes from membersuite_list_saved_searches. REST: GET /platform/v2/dataSuite/executeSavedSearch/{savedSearchId}.
Eingabe-Schema
{
"type": "object",
"properties": {
"saved_search_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "The saved search GUID."
}
},
"required": [
"saved_search_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴membersuite_update_individual(individual_id, fields, custom_fields)
Change the listed fields of one individual (contact). Only the fields you pass change. Pass standard fields in fields (for example FirstName, EmailAddress, Work_PhoneNumber) and custom fields (names ending __c) in custom_fields. Idempotent: the same call twice leaves the same data. Test in a MemberSuite Sandbox first. REST: PATCH /crm/v1/individuals/patch/{individualId}.
Eingabe-Schema
{
"type": "object",
"properties": {
"individual_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Individual GUID (the ID column from membersuite_search_individuals)."
},
"fields": {
"description": "Standard fields to change, for example { \"FirstName\": \"Joey\" }.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"custom_fields": {
"description": "Custom fields to change; names end in __c, for example { \"AreaofExpertise__c\": \"Doctor\" }.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"individual_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis