Re:amaze MCP by usefulapi

Manage Re:amaze conversations, messages, contacts and help articles.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
95%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,104Tokens (tool definitions)
~1.5 KBTypical response size
Significant attention impact (2.43% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "re-amaze": {
      "url": "https://re-amaze.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://re-amaze.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (17)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢reamaze_list_conversations(filter, for, for_id, sort, tag, ...)

List/search conversations (support tickets). All filters optional; returns a page of conversations. Re:amaze REST: GET /conversations.

Input Schema

{
  "type": "object",
  "properties": {
    "filter": {
      "description": "Restrict to a set of conversations.",
      "type": "string",
      "enum": [
        "open",
        "unassigned",
        "archived",
        "all"
      ]
    },
    "for": {
      "description": "Filter to conversations for this customer email.",
      "type": "string"
    },
    "for_id": {
      "description": "Filter to conversations for this SSO user id.",
      "type": "string"
    },
    "sort": {
      "description": "Sort order.",
      "type": "string",
      "enum": [
        "updated",
        "changed"
      ]
    },
    "tag": {
      "description": "Filter by tag(s) — comma-separated.",
      "type": "string"
    },
    "category": {
      "description": "Filter by channel slug.",
      "type": "string"
    },
    "start_date": {
      "description": "Filter to items on/after this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "end_date": {
      "description": "Filter to items on/before this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "origin": {
      "description": "Filter by conversation origin/channel type.",
      "type": "string",
      "enum": [
        "native",
        "email",
        "twitter",
        "facebook",
        "chat",
        "api",
        "instagram",
        "sms",
        "voice",
        "custom",
        "staff",
        "form",
        "instagram_dm"
      ]
    },
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_get_conversation(slug)

Get a single conversation by its slug. Re:amaze REST: GET /conversations/{slug}.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The conversation slug."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_list_messages(conversation, filter, tag, origin, page, ...)

List messages. If `conversation` (a slug) is given, list that conversation's messages (GET /conversations/{slug}/messages); otherwise list messages across the brand (GET /messages). All other filters optional. Re:amaze REST.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation": {
      "description": "Conversation slug — scopes to GET /conversations/{slug}/messages (goes in the PATH, not the query).",
      "type": "string"
    },
    "filter": {
      "description": "Restrict to staff or customer messages.",
      "type": "string",
      "enum": [
        "staff",
        "customer"
      ]
    },
    "tag": {
      "description": "Filter by tag(s) — comma-separated.",
      "type": "string"
    },
    "origin": {
      "description": "Filter by numeric message origin.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "sent_by": {
      "description": "Filter to messages sent by this email.",
      "type": "string"
    },
    "category": {
      "description": "Filter by channel slug.",
      "type": "string"
    },
    "start_date": {
      "description": "Filter to items on/after this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "end_date": {
      "description": "Filter to items on/before this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "include": {
      "description": "Include extra fields, e.g. 'original_body'.",
      "type": "string",
      "enum": [
        "original_body"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_list_contacts(filter, page)

List/search contacts (customers). All filters optional; returns a page of contacts. Re:amaze REST: GET /contacts.

Input Schema

{
  "type": "object",
  "properties": {
    "filter": {
      "description": "Free-text filter, e.g. an email or name substring.",
      "type": "string"
    },
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_get_contact(identifier)

Get a single contact (customer) by identifier (email or id). Re:amaze REST: GET /contacts/{identifier}.

Input Schema

{
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "A contact email or id."
    }
  },
  "required": [
    "identifier"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_list_articles(filter, page)

List/search help-center (knowledge-base) articles. All filters optional. Re:amaze REST: GET /articles.

Input Schema

{
  "type": "object",
  "properties": {
    "filter": {
      "description": "Free-text filter, e.g. a title/body substring.",
      "type": "string"
    },
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_get_article(slug)

Get a single help-center article by its slug. Re:amaze REST: GET /articles/{slug}.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The article slug."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_list_staff(page)

List staff (agent) accounts on the brand. Re:amaze REST: GET /staff.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_list_channels(page)

List channels (inboxes: email, chat, social, etc.). Channel slugs are used as `category` filters. Re:amaze REST: GET /channels.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "1-based page number to fetch (responses report page_size/page_count/total_count).",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_get_channel(slug)

Get a single channel by its slug. Re:amaze REST: GET /channels/{slug}.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The channel slug."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_report_volume(start_date, end_date)

Get the conversation-volume report (counts over time). Both dates optional. Re:amaze REST: GET /reports/volume.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "Filter to items on/after this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "end_date": {
      "description": "Filter to items on/before this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reamaze_report_response_time(start_date, end_date)

Get the response-time report (how quickly conversations were answered). Both dates optional. Re:amaze REST: GET /reports/response_time.

Input Schema

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "Filter to items on/after this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    },
    "end_date": {
      "description": "Filter to items on/before this ISO8601 date, e.g. 2026-01-31.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reamaze_create_conversation(subject, category, message_body, user_name, user_email, ...)

Create a new conversation (support ticket) with its first message. Re:amaze REST: POST /conversations.

Input Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "description": "The conversation subject (required)."
    },
    "category": {
      "type": "string",
      "description": "The channel slug to open the conversation in (required)."
    },
    "message_body": {
      "type": "string",
      "description": "The first message body — markdown ok (required)."
    },
    "user_name": {
      "type": "string",
      "description": "The customer's display name (required)."
    },
    "user_email": {
      "type": "string",
      "description": "The customer's email (required)."
    },
    "recipients": {
      "description": "Additional recipients (emails/phones) for the message.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tag_list": {
      "description": "Tags to apply to the conversation.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "description": "Initial status. Status integer: 0=Open, 1=Responded, 2=Done, 3=Spam, 4=Archived, 5=On Hold, 6=Auto-Done, 7=AI Agent Assigned, 8=AI Agent Done, 9=Spam (AI).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "assignee": {
      "description": "Staff email to assign the conversation to.",
      "type": "string"
    }
  },
  "required": [
    "subject",
    "category",
    "message_body",
    "user_name",
    "user_email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reamaze_reply_conversation(slug, body, visibility, user_email, user_name, ...)

Add a message to an existing conversation — a customer-facing reply or an internal note. Re:amaze REST: POST /conversations/{slug}/messages.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The conversation slug to reply to."
    },
    "body": {
      "type": "string",
      "description": "The message body — markdown ok (required)."
    },
    "visibility": {
      "description": "0 = Regular reply (customer-facing), 1 = Internal Note. Default 0.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "user_email": {
      "description": "Email of the author (customer or staff).",
      "type": "string"
    },
    "user_name": {
      "description": "Display name of the author.",
      "type": "string"
    },
    "recipients": {
      "description": "Additional recipients (emails/phones).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "attachment": {
      "description": "URL of a file to attach.",
      "type": "string"
    },
    "suppress_notifications": {
      "description": "If true, do not send notification emails for this message.",
      "type": "boolean"
    }
  },
  "required": [
    "slug",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reamaze_update_conversation(slug, subject, status, tag_list, assignee, ...)

Update fields on an existing conversation (subject, status, tags, assignee). Only provided fields change. Re:amaze REST: PUT /conversations/{slug}.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "The conversation slug to update."
    },
    "subject": {
      "description": "New subject.",
      "type": "string"
    },
    "status": {
      "description": "New status. Status integer: 0=Open, 1=Responded, 2=Done, 3=Spam, 4=Archived, 5=On Hold, 6=Auto-Done, 7=AI Agent Assigned, 8=AI Agent Done, 9=Spam (AI).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "tag_list": {
      "description": "Replace the conversation's tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "assignee": {
      "description": "Staff email to assign the conversation to.",
      "type": "string"
    },
    "hold_until": {
      "description": "ISO8601 DateTime to hold the conversation until (used when status=5 On Hold).",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reamaze_create_contact(name, email, data)

Create a new contact (customer). Re:amaze REST: POST /contacts.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The contact's display name (required)."
    },
    "email": {
      "type": "string",
      "description": "The contact's email (required)."
    },
    "data": {
      "description": "Arbitrary key/value custom attributes for the contact.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "name",
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reamaze_update_contact(id, name, email, data)

Update fields on an existing contact. Only provided fields change. Re:amaze REST: PUT /contacts/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The contact id to update (goes in the path, never the body)."
    },
    "name": {
      "description": "New display name.",
      "type": "string"
    },
    "email": {
      "description": "New email.",
      "type": "string"
    },
    "data": {
      "description": "Arbitrary key/value custom attributes for the contact.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded17 tools
verifiedversion not recorded17 tools