Gladly MCP by usefulapi
Find customers, read conversations, items and tasks; add internal notes in Gladly.
Should I use this
Quality & Safety
Findings (1)
- LOWin gladly_list_customer_conversations
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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-httpWhat it can do
Tool inventory
Tools (16)
🟢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
Evidence