Gladly MCP by usefulapi

Find customers, read conversations, items and tasks; add internal notes in Gladly.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
78%
Naming quality
79%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'gladly_list_customer_conversations' name length outside 3-30 rangein gladly_list_customer_conversations

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,864Tokens (tool definitions)
~591 BTypical response size
Moderate attention impact (1.46% 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": {
    "gladly": {
      "url": "https://gladly.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://gladly.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (16)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢gladly_get_organization

Get metadata about the Gladly organization: id, name, login domain, time zone, URL. Gladly API: GET /api/v1/organization.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_agents

List the agents (support users) with id, name and email address. Gladly API: GET /api/v1/agents.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_agent(agent_id)

Get one agent profile by id. Gladly API: GET /api/v1/agents/{agentId}.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string",
      "description": "The agent id (from gladly_list_agents)."
    }
  },
  "required": [
    "agent_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_inboxes

List the inboxes with id, name and disabled state. Gladly API: GET /api/v1/inboxes.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_inbox(inbox_id)

Get the metadata of one inbox by id. Gladly API: GET /api/v1/inboxes/{inboxId}.

Input Schema

{
  "type": "object",
  "properties": {
    "inbox_id": {
      "type": "string",
      "description": "The inbox id (from gladly_list_inboxes)."
    }
  },
  "required": [
    "inbox_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_topics

List the conversation topics (id, name, parentId, disabled). Use it to turn the topicIds of a conversation into names. Gladly API: GET /api/v1/topics.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_audiences

List the audiences used to target answers (id, name). Gladly API: GET /api/v1/audiences.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_find_customers(email, phone_number, external_customer_id)

Find customer profiles by EXACTLY ONE identifier: email, phone number (E.164, for example +16505551987) or externalCustomerId. Returns at most 50 profiles, newest update first. Gladly API: GET /api/v1/customer-profiles.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Customer email address.",
      "type": "string"
    },
    "phone_number": {
      "description": "Phone number in E.164 format, for example +16505551987.",
      "type": "string"
    },
    "external_customer_id": {
      "description": "Customer id in your own system of record (only for older Lookup Adaptors).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_customer(customer_id)

Get one customer profile by id: name, emails, phones, address, custom attributes. Gladly API: GET /api/v1/customer-profiles/{customerId}.

Input Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "description": "The customer id (from gladly_find_customers)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_customer_conversations(customer_id)

List the conversations of one customer, oldest first (at most 100; the reply says if it was cut). Each has topics, status and assignee. Gladly API: GET /api/v1/customers/{customerId}/conversations.

Input Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "description": "The customer id (from gladly_find_customers)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_conversation(conversation_id)

Get the metadata of one conversation: assignee, inbox, topics, custom attributes, status. A merged conversation returns the surviving one. Gladly API: GET /api/v1/conversations/{conversationId}.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "The conversation id (from gladly_list_customer_conversations)."
    }
  },
  "required": [
    "conversation_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_conversation_items(conversation_id, session_id)

List the timeline items of a conversation (messages, emails, calls, notes), oldest first, at most 1000. Gladly API: GET /api/v1/conversations/{conversationId}/items.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "The conversation id."
    },
    "session_id": {
      "description": "Only items of this session id.",
      "type": "string"
    }
  },
  "required": [
    "conversation_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_conversation_item(item_id)

Get one conversation item (message, email, note, call) by id. Gladly API: GET /api/v1/conversation-items/{itemId}.

Input Schema

{
  "type": "object",
  "properties": {
    "item_id": {
      "type": "string",
      "description": "The item id (from gladly_list_conversation_items)."
    }
  },
  "required": [
    "item_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_list_customer_tasks(customer_id, status)

List the tasks of one customer, newest first (at most 2000), optionally only OPEN or CLOSED. Gladly API: GET /api/v1/customers/{customerId}/tasks.

Input Schema

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "description": "The customer id."
    },
    "status": {
      "description": "Only tasks with this status.",
      "type": "string",
      "enum": [
        "OPEN",
        "CLOSED"
      ]
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢gladly_get_task(task_id)

Get one task by id: body, assignee, due date, status, topics. Gladly API: GET /api/v1/tasks/{taskId}.

Input Schema

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "The task id (from gladly_list_customer_tasks)."
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴gladly_add_conversation_note(conversation_id, body)

WRITE: add an internal note to a conversation. The note is for agents only; the customer does not see it. Each call adds a NEW note, so do not repeat a call that succeeded. Gladly API: POST /api/v1/conversations/{conversationId}/notes.

Input Schema

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "type": "string",
      "description": "The conversation id."
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20000,
      "description": "Plain text of the note."
    }
  },
  "required": [
    "conversation_id",
    "body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded16 tools