> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trysiren.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Integrate Siren with LLMs and AI agents using the Model Context Protocol

The Siren Model Context Protocol server enables seamless integration with Siren APIs through function calling. This protocol provides a comprehensive suite of tools for interacting with Siren's messaging, templates, users, workflows, and webhooks systems.

## What is MCP?

**Model Context Protocol (MCP)** is a framework that allows external systems to pass structured, real-time information to large language models (LLMs) like GPT during each interaction. It bridges the gap between stateless systems such as REST APIs or command-line tools and the varying contextual needs of modern applications. By supplying this additional context, MCP enables the model to produce more accurate, relevant, and consistent responses.
At a technical level, MCP works by attaching a structured JSON payload to the user's prompt at runtime. This payload carries background details such as the user's identity, recent actions, task-specific instructions, or relevant domain knowledge. This is referred to as **runtime context** — data that helps the model understand the situation in which it is being used, without needing to ask for that information in the prompt itself. While invisible in the model's final response, this context directly influences how the model interprets the prompt and generates output.

## What is the Siren MCP Server?

When it comes to Siren, the **Model Context Protocol (MCP) Server** serves as the integration layer that enables LLM-powered environments to interact with the Siren platform using standardized function calls. It acts as a communication bridge, allowing language models to trigger messaging workflows and retrieve delivery insights in real time.
Rather than manually composing HTTP requests or managing channel-specific logic, AI agents can call predefined functions like `messaging.send`, `users.add`, or `workflows.schedule`. These are optimized for channels including **Email, Slack, SMS, WhatsApp**, and others, making it easy to embed messaging actions into intelligent, event-driven workflows.
By abstracting the messaging infrastructure behind clean, callable interfaces, the Siren MCP Server allows developers to build smarter, more responsive AI agents that can operate autonomously across user-facing communication channels.

## Quick Start

### Requirements

* A Siren API key (get one from [Siren Dashboard](https://app.trysiren.io))

### Installation

```bash theme={null}
# Install globally
npm install -g @trysiren/mcp
# Or use with npx without installation
npx -y @trysiren/mcp
```

### Basic Usage

To run the Siren MCP server:

```bash theme={null}
# To set up all available tools
npx -y @trysiren/mcp --tools=all --api-key=YOUR_SIREN_API_KEY
# To set up specific tools
npx -y @trysiren/mcp --tools=messaging.send,templates.list,workflows.trigger --api-key=YOUR_SIREN_API_KEY
```

> **Important:** Replace `YOUR_SIREN_API_KEY` with your actual Siren API key. You can also set the `SIREN_API_KEY` environment variable instead.

## Available MCP Clients

Siren MCP supports various AI assistants and development environments. Choose your preferred client for setup instructions:

* [Claude Desktop](./Claude-Desktop)
* [VS Code](./VS-Code)
* [Cursor](./Cursor)
* [Amazon Q CLI](./Amazon-Q)
* [Other MCP Clients](./Other-Clients)

## Available Tools

The Siren MCP server provides the following tools for integration:

### Messaging Tools

| Tool                   | Description                                        |
| ---------------------- | -------------------------------------------------- |
| `messaging.send`       | Send a message to a recipient via a chosen channel |
| `messaging.getStatus`  | Get the status of a sent message                   |
| `messaging.getReplies` | Get replies to a sent message                      |

### Template Management Tools

| Tool                | Description                         |
| ------------------- | ----------------------------------- |
| `templates.list`    | List available message templates    |
| `templates.create`  | Create a new message template       |
| `templates.update`  | Update an existing message template |
| `templates.delete`  | Delete a message template           |
| `templates.publish` | Publish a template for use          |

### User Management Tools

| Tool           | Description                  |
| -------------- | ---------------------------- |
| `users.add`    | Add a new user to the system |
| `users.update` | Update an existing user      |
| `users.delete` | Delete a user                |

### Workflow Tools

| Tool                    | Description                              |
| ----------------------- | ---------------------------------------- |
| `workflows.trigger`     | Trigger a workflow execution             |
| `workflows.triggerBulk` | Trigger multiple workflow executions     |
| `workflows.schedule`    | Schedule a workflow for future execution |

### Webhook Configuration Tools

| Tool                             | Description                     |
| -------------------------------- | ------------------------------- |
| `webhooks.configureNotification` | Configure notification webhooks |
| `webhooks.configureInbound`      | Configure inbound webhooks      |

## Tool Categories

For convenience, you can use predefined tool categories in your configuration:

| Category                                        | Included Tools                                                                                    | Usage Example           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------- |
| `communication`                                 | `messaging.send`, `messaging.getStatus`, `messaging.getReplies`                                   | `--tools=communication` |
| `content`                                       | `templates.list`, `templates.create`, `templates.update`, `templates.delete`, `templates.publish` | `--tools=content`       |
| `identity`                                      | `users.add`, `users.update`, `users.delete`                                                       | `--tools=identity`      |
| `automation`                                    | `workflows.trigger`, `workflows.triggerBulk`, `workflows.schedule`                                | `--tools=automation`    |
| `integration`                                   | `webhooks.configureNotification`, `webhooks.configureInbound`                                     | `--tools=integration`   |
| You can combine categories with specific tools: |                                                                                                   |                         |

```bash theme={null}
npx @trysiren/mcp --tools=communication,templates.create,automation --api-key=YOUR_API_KEY
```

## Configuration Options

### Command Line Arguments

| Argument      | Description                             | Default           | Example                                 |
| ------------- | --------------------------------------- | ----------------- | --------------------------------------- |
| `--tools`     | Comma-separated list of tools to enable | none              | `--tools=messaging.send,templates.list` |
| `--api-key`   | Your Siren API key                      | none              | `--api-key=sk_siren_...`                |
| `--workspace` | Siren workspace ID                      | Default workspace | `--workspace=ws_abc123`                 |
| `--port`      | Port for HTTP server mode               | 3000              | `--port=8080`                           |
| `--debug`     | Enable debug logging                    | false             | `--debug`                               |

### API Key Format

Siren supports multiple API key formats:

| Format         | Description                | Use Case                |
| -------------- | -------------------------- | ----------------------- |
| `sk_siren_...` | Standard Siren API key     | General purpose         |
| `sk_test_...`  | Test environment key       | Development and testing |
| `sk_live_...`  | Production environment key | Production systems      |

### Workspace Configuration

If you are working with multiple Siren workspaces, specify the workspace ID:

```bash theme={null}
npx @trysiren/mcp --tools=all --api-key=YOUR_API_KEY --workspace=ws_your_workspace_id
```

### Environment Variables

You can set environment variables instead of passing API keys as arguments:

```bash theme={null}
# API key
export SIREN_API_KEY=sk_siren_your_api_key
# Workspace ID (optional)
export SIREN_WORKSPACE=ws_your_workspace_id
# Run with environment variables
npx @trysiren/mcp --tools=all
```

## Getting Started with Siren MCP Server Integrations

To get started with the Siren MCP server, you will need an API key to authenticate your access. If you have already signed up, you may have received this key during onboarding. Otherwise, you can generate one from the Siren Dashboard under **Settings > Configuration > API Keys**.
Once you have the API key, you can configure the Siren MCP server within any AI application that supports the Model Context Protocol (MCP). While we have included integration examples for specific tools, the same approach applies to any MCP-compatible environment.

### Available Platform Integrations

Siren MCP is compatible with a variety of platforms and development environments. Here are the currently supported integrations:

* [Claude Desktop](./Claude-Desktop) - Set up Siren MCP with Claude's desktop application
* [VS Code](./VS-Code) - Configure Siren MCP in your VS Code environment
* [Cursor](./Cursor) - Integrate Siren MCP with the Cursor editor
* [Amazon Q CLI](./Amazon-Q) - Use Siren MCP with Amazon Q command-line interface
* [Other MCP Clients](./Other-Clients) - Configuration examples for additional MCP-compatible platforms
  Each integration guide provides specific instructions for setting up and using Siren MCP within that environment. The core functionality remains consistent across platforms, but the configuration steps may vary slightly.
