npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@trysiren/mcp

v0.2.0

Published

A command line tool for setting up Siren MCP server

Readme

Siren Model Context Protocol Server

npm version License

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.

🚀 Quick Start

📋 Requirements

Installation

# 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:

# 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.

🔌 Client Setup

This section covers how to configure various AI assistants and development environments to work with the Siren MCP server.

Claude Desktop

Add the following to your claude_desktop_config.json. See Claude MCP documentation for more details.

{
  "mcpServers": {
    "siren": {
      "command": "npx",
      "args": [
        "-y",
        "@trysiren/mcp",
        "--tools=all",
        "--api-key=YOUR_SIREN_API_KEY"
      ]
    }
  }
}

Or if you're using Docker:

{
  "mcpServers": {
    "siren": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "trysiren/mcp",
        "--tools=all",
        "--api-key=YOUR_SIREN_API_KEY"
      ]
    }
  }
}

VS Code

VS Code supports both workspace-specific and user-level MCP configurations.

Workspace Configuration

Add a .vscode/mcp.json file in your workspace:

{
  "mcp": {
    "servers": {
      "siren": {
        "command": "npx",
        "args": [
          "-y",
          "@trysiren/mcp",
          "--tools=messaging.send,templates.list,workflows.trigger",
          "--api-key=YOUR_SIREN_API_KEY"
        ]
      }
    }
  }
}

User Settings

Add to your VS Code user settings:

{
  "mcp.servers": {
    "siren": {
      "command": "npx",
      "args": [
        "-y",
        "@trysiren/mcp",
        "--tools=all",
        "--api-key=YOUR_SIREN_API_KEY"
      ]
    }
  }
}

Cursor

Cursor uses the same configuration format as VS Code. Add to your settings:

{
  "mcp.servers": {
    "siren": {
      "command": "npx",
      "args": [
        "-y",
        "@trysiren/mcp",
        "--tools=all",
        "--api-key=YOUR_SIREN_API_KEY"
      ]
    }
  }
}

Amazon Q CLI

Configure Amazon Q CLI to use the Siren MCP server:

q configure mcp add-server siren \
  --command "npx" \
  --args "-y,@trysiren/mcp,--tools=all,--api-key=YOUR_SIREN_API_KEY"

Other MCP Clients

The Siren MCP server is compatible with any client that supports the Model Context Protocol standard. Here are configuration examples for popular MCP-compatible platforms:

5ire Desktop

Configure in 5ire's MCP settings:

{
  "servers": {
    "siren": {
      "command": "npx",
      "args": ["-y", "@trysiren/mcp", "--tools=all", "--api-key=YOUR_SIREN_API_KEY"]
    }
  }
}

FLUJO

Add to FLUJO's workflow configuration:

{
  "mcp_servers": {
    "siren": {
      "command": "npx -y @trysiren/mcp --tools=all --api-key=YOUR_SIREN_API_KEY"
    }
  }
}

Zed Editor

Configure in Zed's assistant settings:

{
  "assistant": {
    "mcp_servers": {
      "siren": {
        "command": "npx",
        "args": ["-y", "@trysiren/mcp", "--tools=all", "--api-key=YOUR_SIREN_API_KEY"]
      }
    }
  }
}

Replit

Add to your Replit project's MCP configuration:

{
  "mcp": {
    "servers": {
      "siren": "npx -y @trysiren/mcp --tools=all --api-key=YOUR_SIREN_API_KEY"
    }
  }
}

Codeium

Configure in Codeium's extensions:

{
  "mcp.servers.siren": {
    "command": "npx",
    "args": ["-y", "@trysiren/mcp", "--tools=all", "--api-key=YOUR_SIREN_API_KEY"]
  }
}

🛠️ 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:

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're working with multiple Siren workspaces, specify the workspace ID:

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:

# 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

🔍 Debugging

Debug Mode

Enable verbose logging with the --debug flag:

npx @trysiren/mcp --tools=all --api-key=YOUR_API_KEY --debug

Using MCP Inspector

The MCP Inspector provides a visual interface for debugging your MCP server.

  1. First, build the server:
npm run build
  1. Run with the MCP Inspector:
# Start MCP Inspector and server with all tools
npx @modelcontextprotocol/inspector node dist/index.js --tools=all --api-key=YOUR_SIREN_API_KEY
  1. Open the inspector in your browser at http://localhost:6274

Docker Debugging

For Docker-based debugging:

  1. Build the Docker image:
docker build -t trysiren/mcp .
  1. Run with MCP Inspector:
docker run -p 3000:3000 -p 5173:5173 -v /var/run/docker.sock:/var/run/docker.sock \
  mcp/inspector docker run --rm -i trysiren/mcp --tools=all --api-key=YOUR_SIREN_API_KEY

Health Check

Verify your configuration with a simple health check:

npx @trysiren/mcp --tools=messaging.send --api-key=YOUR_SIREN_API_KEY

If the server starts successfully, you'll see:

✅ Siren MCP Server running on stdio

You can also check the version:

npx @trysiren/mcp --version

❓ Troubleshooting

Common Issues

| Issue | Possible Causes | Solutions | |-------|----------------|------------| | Invalid API Key | • Incorrect format• Expired key• Key not set properly | • Ensure key starts with sk_siren_, sk_test_, or sk_live_• Check environment variables• Generate a new key if needed | | Tool Not Found | • Typo in tool name• Tool not enabled• Outdated package | • Verify tool name (case-sensitive)• Add tool to --tools list• Update to latest version | | Connection Issues | • Network problems• Firewall blocking• API endpoint down | • Check internet connection• Configure firewall exceptions• Verify API status at status.trysiren.io | | Permission Denied | • Insufficient permissions• Workspace access issues | • Check API key permissions• Verify workspace access• Contact Siren support | | Rate Limiting | • Too many requests• Quota exceeded | • Implement request throttling• Upgrade your plan if needed |

Logs and Diagnostics

Enable detailed logs for troubleshooting:

# Enable debug mode
npx @trysiren/mcp --tools=all --api-key=YOUR_API_KEY --debug > mcp_debug.log

Getting Help

For additional support:

📋 Examples

Basic Messaging

# Configure for basic messaging
npx @trysiren/mcp --tools=messaging.send,messaging.getStatus --api-key=YOUR_API_KEY

Template Management

# Configure for template operations
npx @trysiren/mcp --tools=templates.list,templates.create,templates.update --api-key=YOUR_API_KEY

Workflow Automation

# Configure for workflow automation
npx @trysiren/mcp --tools=workflows.trigger,workflows.schedule --api-key=YOUR_API_KEY

Full Access

# Configure all available tools
npx @trysiren/mcp --tools=all --api-key=YOUR_API_KEY