MemberSuite MCP by usefulapi

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
89%
Calidad de los nombres
77%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,397Tokens (definiciones de herramientas)
~1.2 KBTamaño de respuesta típico
Impacto moderado en la atención (1.09% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "membersuite": {
      "url": "https://membersuite.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://membersuite.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (7)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢membersuite_whoami

Return the API user and tenant that this connection uses, including ReceivesMemberBenefits status fields. Good first call. REST: GET /platform/v2/whoami.

Esquema de entrada

{
  "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=.

Esquema de entrada

{
  "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=.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada7 herramientas