Wapiworld WhatsApp API

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
96%
命名质量
100%
投毒风险
100%
权限匹配度
90%
协议合规性
100%

发现(1)

  • LOWTool 'list_webhook_subscriptions' suggests web access but openWorldHint=false在 list_webhook_subscriptions 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,541token 数(工具定义)
~4.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.77%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "wapiworld": {
      "url": "https://mcp.wapiworld.com/mcp"
    }
  }
}

远程端点

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

它能做什么

工具清单

工具(8)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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.

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

输入模式

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

输出模式

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

社区

评价此服务器

证据

最近观测

已验证未记录版本8 个工具
已验证未记录版本8 个工具