One MCP server for all your work accounts: Slack, Teams, Google Chat chats and Jira/ClickUp tickets.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer token from Goptin → Settings → Integrations (format: Bearer gpt_…)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one ticket's live details plus its comment thread. Takes the conversation_id from list_tickets.
Default 20, max 100
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http goptin https://app.goptin.com/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer token from Goptin → Settings → Integrations (format: Bearer gpt_…)Get one ticket's live details plus its comment thread. Takes the conversation_id from list_tickets.
| Argument | Type | Description |
|---|---|---|
| comment_limit | number | Default 20, max 100 |
| conversation_id* | string |
{
"type": "object",
"required": [
"conversation_id"
],
"properties": {
"comment_limit": {
"type": "number",
"description": "Default 20, max 100"
},
"conversation_id": {
"type": "string"
}
}
}List every account the user has connected to Goptin (several per channel is normal). Call this first to pick the right account.
No arguments.
{
"type": "object",
"properties": {}
}List recent inbox conversations (DMs, groups, channels, ticket threads), newest first, across all or one account.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max results (default 20, max 50) |
| query | string | Filter by title or last-message text |
| before | string | ISO date: page back to conversations active before this time |
| account | string | Which connected account to use: an account_id from list_accounts, or part of its name (e.g. "EverydAI", "Zalo shop"). Omit to search all accounts. |
| channel | string | Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram. |
| unread_only | boolean | Only conversations with unread messages or unread @mentions |
| include_hidden | boolean | Also include conversations the user hid |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Max results (default 20, max 50)"
},
"query": {
"type": "string",
"description": "Filter by title or last-message text"
},
"before": {
"type": "string",
"description": "ISO date: page back to conversations active before this time"
},
"account": {
"type": "string",
"description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts."
},
"channel": {
"type": "string",
"description": "Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram."
},
"unread_only": {
"type": "boolean",
"description": "Only conversations with unread messages or unread @mentions"
},
"include_hidden": {
"type": "boolean",
"description": "Also include conversations the user hid"
}
}
}List the user's own tickets live from Jira / ClickUp, grouped by the provider's statuses (open ones by default).
| Argument | Type | Description |
|---|---|---|
| status | string | Only statuses whose name contains this text |
| account | string | Which connected account to use: an account_id from list_accounts, or part of its name (e.g. "EverydAI", "Zalo shop"). Omit to search all accounts. |
| channel | string | |
| include_done | boolean | Include completed statuses |
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Only statuses whose name contains this text"
},
"account": {
"type": "string",
"description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts."
},
"channel": {
"enum": [
"jira",
"clickup"
],
"type": "string"
},
"include_done": {
"type": "boolean",
"description": "Include completed statuses"
}
}
}Read the messages of one conversation, oldest first. Use `before` with the earliest sent_at to page back.
| Argument | Type | Description |
|---|---|---|
| limit | number | Default 30, max 100 |
| before | string | ISO date: only messages sent before this time |
| conversation_id* | string |
{
"type": "object",
"required": [
"conversation_id"
],
"properties": {
"limit": {
"type": "number",
"description": "Default 30, max 100"
},
"before": {
"type": "string",
"description": "ISO date: only messages sent before this time"
},
"conversation_id": {
"type": "string"
}
}
}Full-text search over stored messages across all or one account.
| Argument | Type | Description |
|---|---|---|
| limit | number | Default 20, max 50 |
| query* | string | |
| account | string | Which connected account to use: an account_id from list_accounts, or part of its name (e.g. "EverydAI", "Zalo shop"). Omit to search all accounts. |
| channel | string | Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "number",
"description": "Default 20, max 50"
},
"query": {
"type": "string"
},
"account": {
"type": "string",
"description": "Which connected account to use: an account_id from list_accounts, or part of its name (e.g. \"EverydAI\", \"Zalo shop\"). Omit to search all accounts."
},
"channel": {
"type": "string",
"description": "Restrict to one channel: slack, msteams, googlechat, jira, clickup, telegram, zalo, gmail, facebook, instagram."
}
}
}Send a message as the user into an existing conversation, through the account that conversation belongs to. This really delivers to the other person — confirm the text with the user first.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| thread_id | string | Reply inside a thread (thread_id from read_conversation) |
| conversation_id* | string |
{
"type": "object",
"required": [
"conversation_id",
"text"
],
"properties": {
"text": {
"type": "string"
},
"thread_id": {
"type": "string",
"description": "Reply inside a thread (thread_id from read_conversation)"
},
"conversation_id": {
"type": "string"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.