MemberSuite MCP by usefulapi
Search members, memberships and saved searches; update contact fields in MemberSuite.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- HIGH
- MEDIUMmembersuite_run_saved_search에서
- LOWmembersuite_list_saved_searches에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"membersuite": {
"url": "https://membersuite.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://membersuite.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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=.
입력 스키마
{
"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=.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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}.
입력 스키마
{
"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}.
입력 스키마
{
"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"
}커뮤니티
증거