Skip to main content
Glama
Steph-ux

infobip-mcp

by Steph-ux
README.md
# infobip-mcp v1.0.0

Unified Model Context Protocol (MCP) server for Infobip APIs.
Consolidates SMS, WhatsApp, Email, 2FA/OTP, and Account management into a single, high-performance local MCP server.

## Features (5 Unified Tools)

- **`infobip_sms`**: Send single/bulk SMS, fetch delivery reports (DLR), and view message logs
- **`infobip_whatsapp`**: Send text, approved Meta templates, and media (images, documents, videos, audio)
- **`infobip_email`**: Send transactional emails (HTML/text), track delivery reports and logs
- **`infobip_2fa`**: Generate and dispatch 2FA OTP codes, verify PIN codes, resend PINs, manage 2FA applications
- **`infobip_account`**: Check real-time account balance and currency

## Quick Start

### 1. Configuration (API Key)

Store your Infobip API key in `~/.secrets/infobip-key.txt` or set the environment variable:

```bash
export INFOBIP_API_KEY="your-infobip-api-key"
export INFOBIP_BASE_URL="https://xxxxx.api.infobip.com"  # Optional, defaults to https://api.infobip.com
```

### 2. Add to MCP Client (Claude Desktop, OpenCode, Cursor, Windsurf)

#### Option 1: Via `uvx` (Instant - No manual install)

```json
{
  "mcpServers": {
    "infobip": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/Steph-ux/infobip-mcp.git", "infobip-mcp"]
    }
  }
}
```

#### Option 2: Via `pip install`

```bash
pip install git+https://github.com/Steph-ux/infobip-mcp.git
```

Then in your MCP config:
```json
{
  "mcpServers": {
    "infobip": {
      "command": "infobip-mcp"
    }
  }
}
```

#### Option 3: Local Clone

```json
{
  "mcpServers": {
    "infobip": {
      "command": "python",
      "args": ["D:\\Steph\\script\\infobip-mcp\\server.py"]
    }
  }
}
```

## Usage Examples

### 1. Send SMS

```python
infobip_sms(
    action='send',
    to='+33612345678',
    text='Your verification code is 482910',
    from_sender='AuthService'
)
```

### 2. Send WhatsApp Template

```python
infobip_whatsapp(
    action='send_template',
    from_sender='447860099299',
    to='33612345678',
    template_name='order_confirmation',
    language='en',
    placeholders=['John', 'ORDER-9812']
)
```

### 3. Send Transactional Email

```python
infobip_email(
    action='send',
    from_email='notifications@yourdomain.com',
    to='customer@example.com',
    subject='Invoice #4912',
    html='<h1>Thank you for your purchase</h1><p>Your order is confirmed.</p>'
)
```

### 4. Send and Verify 2FA PIN

```python
# Step 1: Send PIN
infobip_2fa(
    action='send_pin',
    application_id='APP_ID_123',
    message_id='MSG_ID_456',
    to='+33612345678'
)

# Step 2: Verify PIN
infobip_2fa(
    action='verify_pin',
    pin_id='PIN_ID_789',
    pin='4829'
)
```

### 5. Check Balance

```python
infobip_account(action='balance')
```

## Testing

```bash
pytest tests
```

## License

MIT