{"apiVersion":"v1","directorySlug":"singchat-mcp-39352d69e8","title":"SingChat","description":"Embed live chat and AI agents in any app, Web, iOS, Android, or 30+ programming languages. Multi-tenant SaaS with self-host option.","pageUrl":"https://www.mcpbundles.com/skills/singchat-mcp-39352d69e8","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.singchat.org","hostedMcpUrl":null,"toolCount":17,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"org.singchat/singchat-mcp-39352d69e8","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"ping","description":"Health check for the SingChat MCP server. Returns 'pong' and whether this request is authenticated to a workspace.","inputSchema":{"type":"object","properties":{}},"title":"Ping","logicalName":"ping","displayName":"Ping","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"singchat_setup","description":"Get the user up and running with SingChat live-chat. Call this FIRST. If no authenticated workspace is configured, this creates a brand-new free workspace and returns a short-lived, single-use browser claim link plus the website embed snippet. The user chooses their own sign-in details in the browser; no reusable credentials are returned to the model. If a workspace is already authenticated, it returns THIS workspace's embed snippet and dashboard link (it never creates a duplicate workspace).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"name":{"type":"string","maxLength":120}}},"title":"Set up SingChat","logicalName":"singchat_setup","displayName":"Set up SingChat","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_embed_snippet","description":"Return the SingChat chat-widget embed code for this workspace's web inbox, in three flavors: plain HTML, React (useEffect), and Next.js (next/script). Requires a workspace API key. Optionally pass `platform` to get just one flavor.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"platform":{"enum":["html","react","next"],"type":"string"}}},"title":"Get widget embed snippet","logicalName":"get_embed_snippet","displayName":"Get widget embed snippet","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"claim_account","description":"Return the link to claim (permanently secure) this SingChat workspace by setting an email and password. Use this for workspaces that were auto-created via MCP so the user does not lose access. The link is single-use and expires after 15 minutes. Requires an authenticated legacy workspace.","inputSchema":{"type":"object","properties":{}},"title":"Claim SingChat account","logicalName":"claim_account","displayName":"Claim SingChat account","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_conversations","description":"List the workspace's support conversations (agent/inbox view), newest activity first. Optionally filter by status or a free-text search over the contact name/email and last message. Returns a compact list: id, contact name, status, unreadCount, last message preview, updatedAt.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":200,"exclusiveMinimum":0},"search":{"type":"string"},"status":{"enum":["OPEN","PENDING","RESOLVED","SNOOZED"],"type":"string"}}},"title":"List conversations","logicalName":"list_conversations","displayName":"List conversations","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_conversation","description":"Fetch a single conversation with its contact details and the most recent messages (oldest→newest).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["conversationId"],"properties":{"conversationId":{"type":"string","minLength":1}}},"title":"Get conversation","logicalName":"get_conversation","displayName":"Get conversation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reply_to_conversation","description":"Send an agent reply through a supported SingChat real-time inbox. This takes the conversation over from the AI and broadcasts the message to the visitor and agent inbox. Email, Telegram, and WhatsApp conversations are rejected before any change.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["conversationId","content"],"properties":{"content":{"type":"string","minLength":1},"conversationId":{"type":"string","minLength":1}}},"title":"Reply to conversation","logicalName":"reply_to_conversation","displayName":"Reply to conversation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"resolve_conversation","description":"Mark a conversation as RESOLVED (closes it). The visitor's widget will no longer show it as active.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["conversationId"],"properties":{"conversationId":{"type":"string","minLength":1}}},"title":"Resolve conversation","logicalName":"resolve_conversation","displayName":"Resolve conversation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_knowledge","description":"Train the AI agent by adding a knowledge source. type='url' crawls a website (up to 50 pages, fewer when the workspace knowledge-base quota is nearly full); type='qa' stores a single question/answer pair. Ingestion is asynchronous, the source starts as PENDING; poll `list_knowledge` for READY status.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["type"],"properties":{"url":{"type":"string","format":"uri"},"type":{"enum":["url","qa"],"type":"string"},"answer":{"type":"string"},"question":{"type":"string"}}},"title":"Add knowledge","logicalName":"add_knowledge","displayName":"Add knowledge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_knowledge","description":"List all knowledge documents for this workspace with their processing status (PENDING | PROCESSING | READY | FAILED) and chunk counts. Use this to check whether items added via add_knowledge have finished training.","inputSchema":{"type":"object","properties":{}},"title":"List knowledge","logicalName":"list_knowledge","displayName":"List knowledge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search_knowledge","description":"Semantic search over the workspace knowledge base. Returns the most relevant chunks (with source document title and similarity score) for a query. Only searches documents that have finished training (status READY).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"topK":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string","minLength":1}}},"title":"Search knowledge","logicalName":"search_knowledge","displayName":"Search knowledge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"configure_agent","description":"Configure this workspace's AI support agent. All fields are optional, only the fields you pass are updated; the rest keep their current values. Call with no fields to just read back the current configuration. Does not touch or return any API keys.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"model":{"type":"string","maxLength":80,"minLength":1},"enabled":{"type":"boolean"},"providerMode":{"enum":["platform","byok"],"type":"string"},"systemPrompt":{"type":"string","maxLength":8000,"minLength":1},"greetingMessage":{"type":"string","maxLength":2000}}},"title":"Configure AI agent","logicalName":"configure_agent","displayName":"Configure AI agent","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_keywords","description":"Add a keyword auto-reply rule: when an inbound message matches any of the keywords, the bot replies with the given text. Good for canned FAQ-style triggers (e.g. keyword 'invoice' -> 'Download it from the billing page').","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["keywords","reply"],"properties":{"reply":{"type":"string","maxLength":2000,"minLength":1},"keywords":{"type":"array","items":{"type":"string","maxLength":80,"minLength":1},"maxItems":20,"minItems":1},"matchType":{"enum":["CONTAINS","EXACT"],"type":"string"}}},"title":"Add keyword auto-reply","logicalName":"set_keywords","displayName":"Add keyword auto-reply","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"manage_faq","description":"List, create, update, or delete this workspace's FAQ items (shown in the chat widget and usable by the AI agent). Set `action` to 'list' | 'create' | 'update' | 'delete'. 'create' needs `question` + `answer`; 'update' and 'delete' need `id`.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["action"],"properties":{"id":{"type":"string"},"action":{"enum":["list","create","update","delete"],"type":"string"},"answer":{"type":"string","maxLength":4000,"minLength":1},"enabled":{"type":"boolean"},"question":{"type":"string","maxLength":500,"minLength":1}}},"title":"Manage FAQ","logicalName":"manage_faq","displayName":"Manage FAQ","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_analytics","description":"Return a compact analytics summary for this workspace over the last `days` days (default 30): conversation counts + resolution rate, message volume + AI share, plus a live snapshot of today (UTC).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"days":{"type":"integer","default":30,"maximum":365,"minimum":1}}},"title":"Get Analytics","logicalName":"get_analytics","displayName":"Get Analytics","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search","description":"Search SingChat for relevant documents. When called with a workspace API key, this searches that workspace knowledge base; without a key it searches SingChat's own help content (what SingChat is, adding the chat widget, MCP setup, free tier, AI training, channels, white label, pricing). Returns a list of results with id, title, and url. Use the fetch tool with a result id to read the full text.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"query":{"type":"string"}}},"title":"Search","logicalName":"search","displayName":"Search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"fetch","description":"Fetch the full text of a single document by id, using an id returned by the search tool. With a workspace API key this reads a knowledge document from that workspace; without a key it reads a SingChat help article. Returns id, title, text, url, and optional metadata.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string"}}},"title":"Fetch","logicalName":"fetch","displayName":"Fetch","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=SingChat&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Auc2luZ2NoYXQub3JnIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22SingChat%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.singchat.org%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22SingChat%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.singchat.org%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=SingChat&connectorUrl=https%3A%2F%2Fmcp.singchat.org"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"SingChat\" --url \"https://mcp.singchat.org\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/singchat-mcp-39352d69e8","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/singchat-mcp-39352d69e8/tools/{tool}","mcpServerUrl":"https://mcp.singchat.org","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/singchat-mcp-39352d69e8?live=1"}