Wapiworld WhatsApp API

Check your WhatsApp numbers, connection status and webhooks, and send a text when you confirm.

Sollte ich dies verwenden

Qualität und Sicherheit

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

Befunde (1)

  • LOWTool 'list_webhook_subscriptions' suggests web access but openWorldHint=falsein list_webhook_subscriptions

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

Kontextkosten

~3,541Tokens (Tool-Definitionen)
~4.1 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.77% 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": {
    "wapiworld": {
      "url": "https://mcp.wapiworld.com/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.wapiworld.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (8)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_projects(limit, cursor)

List a bounded page of Wapiworld projects available to the authenticated organization. API-key sessions remain pinned to their single project. Internal organization ids and project configuration are omitted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100,
      "description": "Maximum projects to return (default 25, maximum 100)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor returned by a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "projects": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "$ref": "#/properties/projects/items/properties/creationTime"
          }
        },
        "required": [
          "id",
          "name",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "total",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "projects",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_instances(projectId, limit, cursor)

List a bounded page of tenant-scoped Wapiworld WhatsApp instances, optionally filtered by project. Results include operational status and phone metadata but never QR pairing codes, instance secrets, API keys, proxy data, or arbitrary stored fields.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Filter to one project id"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100,
      "description": "Maximum instances to return (default 25, maximum 100)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor returned by a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "instances": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "name": {
            "type": "string",
            "maxLength": 200
          },
          "accountName": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "starting",
                  "qrcode",
                  "ready",
                  "logged_out",
                  "not_connected",
                  "disconnected",
                  "offline",
                  "STARTING",
                  "QRCODE",
                  "READY"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "health": {
            "type": "string",
            "enum": [
              "ready",
              "pairing",
              "starting",
              "offline",
              "unknown"
            ]
          },
          "phone": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "projectId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "$ref": "#/properties/instances/items/properties/creationTime"
          }
        },
        "required": [
          "id",
          "name",
          "accountName",
          "status",
          "health",
          "phone",
          "projectId",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "instances",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_instance(instanceId)

Fetch safe operational details for one tenant-scoped Wapiworld WhatsApp instance. QR pairing codes, instance secrets, API keys, proxy addresses, organization ids, and arbitrary stored metadata are never returned.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "instanceId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Wapiworld instance id: 24 lowercase hexadecimal characters"
    }
  },
  "required": [
    "instanceId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "found",
        "not-found"
      ]
    },
    "instance": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "name": {
              "type": "string",
              "maxLength": 200
            },
            "accountName": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "status": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "starting",
                    "qrcode",
                    "ready",
                    "logged_out",
                    "not_connected",
                    "disconnected",
                    "offline",
                    "STARTING",
                    "QRCODE",
                    "READY"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "health": {
              "type": "string",
              "enum": [
                "ready",
                "pairing",
                "starting",
                "offline",
                "unknown"
              ]
            },
            "phone": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            },
            "projectId": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "creationTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            },
            "lastEditTime": {
              "$ref": "#/properties/instance/anyOf/0/properties/creationTime"
            }
          },
          "required": [
            "id",
            "name",
            "accountName",
            "status",
            "health",
            "phone",
            "projectId",
            "creationTime",
            "lastEditTime"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "instance"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_instance_status(instanceId)

Fetch the current safe connection health for one tenant-scoped Wapiworld instance without returning QR pairing codes or authentication data.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "instanceId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Wapiworld instance id: 24 lowercase hexadecimal characters"
    }
  },
  "required": [
    "instanceId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "instanceId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$"
    },
    "name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "starting",
            "qrcode",
            "ready",
            "logged_out",
            "not_connected",
            "disconnected",
            "offline",
            "STARTING",
            "QRCODE",
            "READY"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "health": {
      "type": "string",
      "enum": [
        "ready",
        "pairing",
        "starting",
        "offline",
        "unknown"
      ]
    }
  },
  "required": [
    "found",
    "instanceId",
    "name",
    "status",
    "health"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_message_recording_policy(instanceId)

Inspect whether message-content persistence is enabled by default for one tenant-scoped Wapiworld instance and how long recorded rows are retained. This directory-safe diagnostic never reads message bodies, previews, sender names, contact identifiers, chat-level override keys, or WhatsApp message ids.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "instanceId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Tenant-scoped Wapiworld instance id to inspect: 24 lowercase hexadecimal characters"
    }
  },
  "required": [
    "instanceId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "found",
        "instance-not-found",
        "project-not-found"
      ]
    },
    "policy": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "instanceId": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "projectId": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "enabled": {
              "type": "boolean"
            },
            "decidedBy": {
              "type": "string",
              "enum": [
                "default",
                "project",
                "instance"
              ]
            },
            "lockedBy": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "project",
                    "instance"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "retentionDays": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 365
            },
            "chatOverridesExcluded": {
              "type": "boolean",
              "const": true
            }
          },
          "required": [
            "instanceId",
            "projectId",
            "enabled",
            "decidedBy",
            "lockedBy",
            "retentionDays",
            "chatOverridesExcluded"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "policy"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_webhook_subscriptions(projectId, limit, cursor)

List a bounded page of the organization’s Wapiworld webhook subscriptions with their subscribed events and delivery health, so a stopped webhook can be diagnosed. An endpoint that fails 20 deliveries in a row is disabled automatically. Requires an operator OAuth session; API-key sessions cannot read this route. The signing secret is never returned, and only the scheme and host of the delivery URL are shown because hook paths often embed a credential.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Filter to one project id"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100,
      "description": "Maximum webhook subscriptions to return (default 25, maximum 100)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor returned by a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "webhookSubscriptions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "projectId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "endpointHost": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ]
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64
            },
            "maxItems": 20
          },
          "active": {
            "type": "boolean"
          },
          "consecutiveFailures": {
            "type": "integer",
            "minimum": 0
          },
          "autoDisabled": {
            "type": "boolean"
          },
          "lastDeliveryTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "creationTime": {
            "$ref": "#/properties/webhookSubscriptions/items/properties/lastDeliveryTime"
          }
        },
        "required": [
          "id",
          "projectId",
          "endpointHost",
          "events",
          "active",
          "consecutiveFailures",
          "autoDisabled",
          "lastDeliveryTime",
          "creationTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "webhookSubscriptions",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴send_message(instanceId, chatId, content)

Send one real external WhatsApp text message through a tenant-scoped Wapiworld instance. This destructive, open-world action is non-idempotent: show the exact sender instance, recipient and complete text, obtain explicit confirmation for one send, call once, and never retry automatically when the outcome is uncertain. Do not include restricted data. Existing Wapiworld recording settings may persist outbound content.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "instanceId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "The tenant-scoped Wapiworld instance id to send from"
    },
    "chatId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Exact recipient phone number in international format (for example +1234567890) or exact WhatsApp chat id. Show it to the user before requesting confirmation."
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Exact text message to send, maximum 4096 characters. Show the complete text before confirmation. Do not send credentials, PHI, PCI cardholder data, government identifiers, or other restricted data."
    }
  },
  "required": [
    "instanceId",
    "chatId",
    "content"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "accepted"
    }
  },
  "required": [
    "status"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢show_project_overview(projectId)

Render a bounded operational overview for one tenant-scoped Wapiworld project, including WhatsApp instance health and safe phone metadata. QR pairing codes, instance credentials, API keys, proxy data, and arbitrary stored fields are excluded.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Wapiworld project id to summarize"
    }
  },
  "required": [
    "projectId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "project": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "name": {
              "type": "string",
              "maxLength": 200
            }
          },
          "required": [
            "id",
            "name"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "instanceCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "instanceCountIsLowerBound": {
      "type": "boolean"
    },
    "statusCounts": {
      "type": "object",
      "properties": {
        "ready": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "pairing": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "starting": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "offline": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "unknown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "ready",
        "pairing",
        "starting",
        "offline",
        "unknown"
      ],
      "additionalProperties": false
    },
    "statusCountsAreLowerBounds": {
      "type": "boolean"
    },
    "instances": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "name": {
            "type": "string",
            "maxLength": 200
          },
          "status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "starting",
                  "qrcode",
                  "ready",
                  "logged_out",
                  "not_connected",
                  "disconnected",
                  "offline",
                  "STARTING",
                  "QRCODE",
                  "READY"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "health": {
            "type": "string",
            "enum": [
              "ready",
              "pairing",
              "starting",
              "offline",
              "unknown"
            ]
          },
          "phone": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "health",
          "phone",
          "lastEditTime"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "project",
    "instanceCount",
    "instanceCountIsLowerBound",
    "statusCounts",
    "statusCountsAreLowerBounds",
    "instances"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools