# Periskope WhatsApp MCP

The Periskope WhatsApp MCP (Model Context Protocol) tool provides an interface to interact with Periskope's WhatsApp API services through Claude, GPT, and other AI assistants that support the Model Context Protocol.

## Prerequisites

- Node.js (v16 or higher)
- A valid Periskope API key
- Periskope Phone ID
- An MCP client (Claude Desktop, Cursor etc.)

## Setup

To use the Periskope WhatsApp MCP, you need to add it to your `claude_desktop_config.json` file. This file is typically located in your home directory under `.cursor/mcp.json`.

Add the following configuration to your `mcp.json`:

```json
{
  "mcpServers": {
    "periskope-mcp": {
      "command": "npx",
      "args": ["-y", "@periskope/whatsapp-mcp"],
      "env": {
        "PERISKOPE_API_KEY": "your_periskope_api_key_here",
        "PERISKOPE_PHONE_ID": "your_periskope_phone_id_here"
      }
    }
  }
}
```

Make sure to:
1. Replace `your_periskope_api_key_here` with your actual Periskope API key
2. Replace `your_periskope_phone_id_here` with your connected Periskope phone number

## Available Tools

The MCP provides several tools for interacting with Periskope's WhatsApp API:

### Chat Management

- **periskope_list_chats**: Lists all WhatsApp chats
- **periskope_get_chat**: Gets details about a specific WhatsApp chat
- **periskope_create_chat**: Creates a new WhatsApp group chat
- **periskope_update_chat_labels**: Updates the labels of a WhatsApp chat
- **periskope_update_chat**: Updates a WhatsApp chat properties on periskope
- **periskope_update_chat_settings**: Updates the settings of a WhatsApp chat
- **periskope_search_chat**: Searches for chats by name

### Message Management

- **periskope_send_message**: Sends a WhatsApp message to a specified number
- **periskope_list_messages_in_a_chat**: Lists all messages in a specific WhatsApp chat
- **periskope_get_message_by_id**: Gets a message by its ID
- **periskope_react_to_message**: Reacts to a message
- **periskope_forward_message**: Forwards a message to other chats
- **periskope_edit_message**: Edits a message in a chat
- **periskope_delete_message**: Deletes a message from a chat
- **periskope_search_message**: Searches for messages by content

### Contact Management

- **periskope_list_contacts**: Lists all WhatsApp contacts
- **periskope_update_contact_labels**: Updates the labels of a WhatsApp contact
- **periskope_update_contact**: Updates a WhatsApp contact
- **periskope_get_contact_by_id**: Gets a contact by its ID
- **periskope_search_contact**: Searches for contacts by name

### Group Management

- **periskope_add_participants_to_group**: Adds participants to a WhatsApp group
- **periskope_remove_participants_from_group**: Removes participants from a WhatsApp group
- **periskope_promote_participants_to_admins**: Promotes participants to admins in a WhatsApp group
- **periskope_demote_participants_from_admins**: Demotes participants from admins in a WhatsApp group

### Ticket Management

- **periskope_get_all_tickets**: Gets all tickets
- **periskope_get_ticket**: Gets details about a specific ticket
- **periskope_update_ticket**: Updates an existing ticket

## Obtaining a Periskope API Key

To use this tool, you need a Periskope API key:

1. Sign up for an account at [console.periskope.app](https://console.periskope.app)
2. Navigate to **Settings > API settings** in your console.
3. Generate a new API key
4. Update the PERISKOPE_PHONE_ID with your phone number (with country code and without any special characters) to validate an API request. For e.g. 919876512340.

## Support

For issues, questions, or feature requests, please contact:
- Email: support@periskope.app
- Website: [periskope.app](https://periskope.app)
