Skip to content

Bird MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Read SMS, WhatsApp, email, contacts and audiences from your Bird workspace, plus safe CRM writes.

Deletes · 2

16 tools: 2 can delete or cancel things and 14 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http bird https://bird.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

16 tools

Deletes or cancels 2Claude Code: deny
  • bird_create_audienceCreates an audience (contact list) in Bird — additive, sends no message.No findings

    Why it is in this group

    • The name "bird_create_audience" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates an audience (contact list) in Bird — additive, sends no message. Static audiences start empty. Bird API: POST /v1/audiences.

    Annotations the server declares

    • title: Create an audience
    • destructiveHint: true
  • bird_create_contactCreates a contact (CRM record) in Bird — additive, sends no message.No findings

    Why it is in this group

    • The name "bird_create_contact" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates a contact (CRM record) in Bird — additive, sends no message. Contacts are unique by email. Bird API: POST /v1/contacts.

    Annotations the server declares

    • title: Create a contact
    • destructiveHint: true
Only reads 14Claude Code: allow
  • bird_get_audienceFetch a single audience by id.No findings

    Why it is in this group

    • The name "bird_get_audience" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single audience by id. Bird API: GET /v1/audiences/{audience_id}.

    Annotations the server declares

    • title: Get an audience
    • readOnlyHint: true
  • bird_get_contactFetch a single contact by id.No findings

    Why it is in this group

    • The name "bird_get_contact" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single contact by id. Bird API: GET /v1/contacts/{contact_id}.

    Annotations the server declares

    • title: Get a contact
    • readOnlyHint: true
  • bird_get_email_messageFetch a single email message by id.No findings

    Why it is in this group

    • The name "bird_get_email_message" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single email message by id. Bird API: GET /v1/email/messages/{message_id}.

    Annotations the server declares

    • title: Get an email message
    • readOnlyHint: true
  • bird_get_sms_messageFetch a single SMS message by id.No findings

    Why it is in this group

    • The name "bird_get_sms_message" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single SMS message by id. Bird API: GET /v1/sms/messages/{message_id}.

    Annotations the server declares

    • title: Get an SMS message
    • readOnlyHint: true
  • bird_get_whatsapp_messageFetch a single WhatsApp message by id.No findings

    Why it is in this group

    • The name "bird_get_whatsapp_message" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single WhatsApp message by id. Bird API: GET /v1/whatsapp/messages/{message_id}.

    Annotations the server declares

    • title: Get a WhatsApp message
    • readOnlyHint: true
  • bird_list_audience_contactsList the contacts that belong to a static audience, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_audience_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List the contacts that belong to a static audience, as a cursor page. Bird API: GET /v1/audiences/{audience_id}/contacts.

    Annotations the server declares

    • title: List an audience's contacts
    • readOnlyHint: true
  • bird_list_audiencesList audiences (contact lists) in the workspace, newest first, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_audiences" says "list": a word for reading.
    Description, as the server wrote it
    List audiences (contact lists) in the workspace, newest first, as a cursor page. Bird API: GET /v1/audiences.

    Annotations the server declares

    • title: List audiences
    • readOnlyHint: true
  • bird_list_contact_propertiesList the custom contact-property definitions (schema) for the workspace.No findings

    Why it is in this group

    • The name "bird_list_contact_properties" says "list": a word for reading.
    Description, as the server wrote it
    List the custom contact-property definitions (schema) for the workspace. Bird API: GET /v1/contact-properties.

    Annotations the server declares

    • title: List contact properties
    • readOnlyHint: true
  • bird_list_contactsList contacts (CRM records) in the workspace, newest first, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List contacts (CRM records) in the workspace, newest first, as a cursor page. Bird API: GET /v1/contacts.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • bird_list_email_messagesList email messages sent from the workspace, newest first, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_email_messages" says "list": a word for reading.
    Description, as the server wrote it
    List email messages sent from the workspace, newest first, as a cursor page. Bird API: GET /v1/email/messages.

    Annotations the server declares

    • title: List email messages
    • readOnlyHint: true
  • bird_list_sms_messagesList SMS messages (inbound + outbound) for the workspace, newest first, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_sms_messages" says "list": a word for reading.
    Description, as the server wrote it
    List SMS messages (inbound + outbound) for the workspace, newest first, as a cursor page. Bird API: GET /v1/sms/messages.

    Annotations the server declares

    • title: List SMS messages
    • readOnlyHint: true
  • bird_list_sms_templatesList the SMS templates available to the workspace (Bird built-ins + your own).No findings

    Why it is in this group

    • The name "bird_list_sms_templates" says "list": a word for reading.
    Description, as the server wrote it
    List the SMS templates available to the workspace (Bird built-ins + your own). Bird API: GET /v1/sms/templates.

    Annotations the server declares

    • title: List SMS templates
    • readOnlyHint: true
  • bird_list_whatsapp_messagesList WhatsApp messages (inbound + outbound) for the workspace, newest first, as a cursor page.No findings

    Why it is in this group

    • The name "bird_list_whatsapp_messages" says "list": a word for reading.
    Description, as the server wrote it
    List WhatsApp messages (inbound + outbound) for the workspace, newest first, as a cursor page. Bird API: GET /v1/whatsapp/messages.

    Annotations the server declares

    • title: List WhatsApp messages
    • readOnlyHint: true
  • bird_list_whatsapp_templatesList the WhatsApp message templates available to the workspace.No findings

    Why it is in this group

    • The name "bird_list_whatsapp_templates" says "list": a word for reading.
    Description, as the server wrote it
    List the WhatsApp message templates available to the workspace. Bird API: GET /v1/whatsapp/templates.

    Annotations the server declares

    • title: List WhatsApp templates
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http bird https://bird.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__bird__bird_list_contacts",
      "mcp__bird__bird_get_contact",
      "mcp__bird__bird_list_contact_properties",
      "mcp__bird__bird_list_audiences",
      "mcp__bird__bird_get_audience",
      "mcp__bird__bird_list_audience_contacts",
      "mcp__bird__bird_list_sms_messages",
      "mcp__bird__bird_get_sms_message",
      "mcp__bird__bird_list_sms_templates",
      "mcp__bird__bird_list_whatsapp_messages",
      "mcp__bird__bird_get_whatsapp_message",
      "mcp__bird__bird_list_whatsapp_templates",
      "mcp__bird__bird_list_email_messages",
      "mcp__bird__bird_get_email_message"
    ],
    "ask": [],
    "deny": [
      "mcp__bird__bird_create_contact",
      "mcp__bird__bird_create_audience"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as bird. Review it before you use it.