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=falselist_webhook_subscriptions에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,541토큰 (도구 정의)
~4.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.77%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개