MemberSuite MCP by usefulapi

Search members, memberships and saved searches; update contact fields in MemberSuite.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
89%
Qualität der Benennung
77%
Risiko der Vergiftung
80%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringin membersuite_run_saved_search
  • LOWTool 'membersuite_list_saved_searches' name length outside 3-30 rangein membersuite_list_saved_searches

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,397Tokens (Tool-Definitionen)
~1.2 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.09% von 128k Kontext)

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-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools