{"id":"faa8548f-64e8-4776-9c60-54956badac47","slug":"ai-chatbot-mcp","kind":"mcp","name":"ai-chatbot-mcp","summary":"Elfsight AI Chatbot MCP server: read conversations, leads, knowledge base and analytics from any AI agent","owner":"elfsight","repoUrl":"https://github.com/elfsight/ai-chatbot-mcp","license":"MIT","licenseTier":"permissive","trust":"community","stars":2,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-12T12:34:49.000Z","addedAt":"2026-10-13T22:04:22.452Z","logoUrl":"https://avatars.githubusercontent.com/u/4402134?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","data-analytics","memory-knowledge"],"tags":["ai-chatbot","elfsight"],"runtime":"remote","local":false,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T12:05:48.120Z","sample":false,"url":"https://conduits.dev/tools/ai-chatbot-mcp","language":"","transports":["http"],"install":{"remoteUrl":"https://widget-data.service.elfsight.com/mcp/ai_chat"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Elfsight AI Chatbot — MCP Server\n\n[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/elfsight/ai-chatbot-mcp)\n[![GitHub MCP Registry](https://img.shields.io/badge/GitHub-MCP_Registry-181717?logo=github)](https://github.com/mcp/com.elfsight/ai-chatbot)\n\n> This repository holds the documentation and the registry manifest (`server.json`) of the\n> Elfsight AI Chatbot MCP server. The server itself is hosted by Elfsight; there is nothing to\n> build or run here. For help, contact [Elfsight Help Center](https://help.elfsight.com/).\n\nA remote [Model Context Protocol](https://modelcontextprotocol.io) server over your\n[Elfsight AI Chatbot](https://elfchatbot.com/) widget data. Point an MCP-capable\nAI agent at it and it can read your conversations, leads, knowledge base and analytics —\nand add answers to your knowledge base — without you copy-pasting anything into a chat window.\n\nThe server is account-scoped: once you sign in, the agent can reach every AI Chatbot widget on\nyour Elfsight account, and nothing else (no other Elfsight products or data).\n\nServer URL: `https://widget-data.service.elfsight.com/mcp/ai_chat` (Streamable HTTP).\n\n## Connect\n\nSign-in is OAuth. Add the server URL to your MCP client; the client opens a browser window,\nyou sign in to Elfsight and approve access. There is no key to copy.\n\n### Claude Code\n\n```bash\nclaude mcp add --transport http elfsight-ai-chatbot https://widget-data.service.elfsight.com/mcp/ai_chat\n```\n\nThen run `/mcp` inside Claude Code and choose **Authenticate** for `elfsight-ai-chatbot`.\n\n### Cursor\n\nThis repository is also a [Cursor plugin](https://cursor.com/docs/plugins/building): the manifest\nis in [`.cursor-plugin/plugin.json`](./.cursor-plugin/plugin.json), the server connection in\n[`mcp.json`](./mcp.json), and a rule with usage notes for the agent in [`rules/`](./rules).\n\nTo connect without the plugin, add the server to `.cursor/mcp.json` and authenticate it when\nCursor prompts:\n\n```json\n{\n  \"mcpServers\": {\n    \"elfsight-ai-chatbot\": {\n      \"url\": \"https://widget-data.service.elfsight.com/mcp/ai_chat\"\n    }\n  }\n}\n```\n\n### Cline\n\nIn Cline, open **MCP Servers → Remote Servers** and add:\n\n- Server Name: `elfsight-ai-chatbot`\n- Server URL: `https://widget-data.service.elfsight.com/mcp/ai_chat`\n- Transport: **Streamable HTTP**\n\nThen choose **Authenticate** for the server and sign in to Elfsight in the browser.\n\nThe same in Cline's own settings file, `cline_mcp_settings.json`. Recent versions keep it in\n`~/.cline/data/settings/`, older ones in the editor's\n`User/globalStorage/saoudrizwan.claude-dev/settings/`. Keep `type`: without it Cline falls\nback to the legacy SSE transport. `.vscode/mcp.json` belongs to VS Code's built-in MCP\nsupport; Cline does not read it.\n\n```json\n{\n  \"mcpServers\": {\n    \"elfsight-ai-chatbot\": {\n      \"type\": \"streamableHttp\",\n      \"url\": \"https://widget-data.service.elfsight.com/mcp/ai_chat\"\n    }\n  }\n}\n```\n\n### Other clients\n\nAny client that supports remote MCP servers with OAuth (dynamic client registration and\nPKCE) should connect with the server URL alone. **We have tested Claude Code, Cursor\n(through the plugin), Cline and VS Code only**; the VS Code snippet below is verified, the\nWindsurf one is the usual shape of its config.\n\nVS Code: [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=elfsight-ai-chatbot&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwidget-data.service.elfsight.com%2Fmcp%2Fai_chat%22%7D)\nor add it to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"elfsight-ai-chatbot\": {\n      \"type\": \"http\",\n      \"url\": \"https://widget-data.service.elfsight.com/mcp/ai_chat\"\n    }\n  }\n}\n```\n\nWindsurf (`mcp_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"elfsight-ai-chatbot\": {\n      \"serverUrl\": \"https://widget-data.service.elfsight.com/mcp/ai_chat\"\n    }\n  }\n}\n```\n\n## What you can ask it\n\n- **`list_assistants`** — \"Which AI Chatbot widgets do I have?\"\n- **`get_analytics`** — \"How did my AI Chatbot perform over the last 30 days?\"\n- **`search_conversations`** — \"Show me conversations from last week about shipping.\"\n- **`get_conversation`** — \"What happened in conversation `<id>`?\"\n- **`list_leads`** — \"List the new leads from this week that I haven't reviewed yet.\"\n- **`search_knowledge`** — \"Does my knowledge base say anything about refunds?\"\n- **`list_knowledge_gaps`** — \"What do visitors ask that my assistant can't answer?\"\n- **`answer_knowledge_gap`** — \"Add this as a knowledge base answer and close that gap.\"\n\n`answer_knowledge_gap` is the only tool that writes. Three ready-made prompts wrap common\nworkflows end to end: `weekly_report`, `knowledge_gaps_review`, `lead_followup`.\n\n## Privacy\n\nEverything a tool returns can be sent to your AI provider (Anthropic, OpenAI, etc.) as part\nof your conversation with the agent. Keep that in mind:\n\n- **Lead contact fields are masked by default.** A lead's name, email and phone come back\n  masked (e.g. `j***@example.com`, `+7***4567`). Pass `contacts: \"full\"` on `get_conversation`\n  or `list_leads` to get the real values in that call.\n- **Masking covers those fields only.** Message text, page URLs and attachment links are\n  returned as they are. Visitors often type their email or phone into the chat, so\n  `get_conversation` can show contact details even when the lead fields are masked. Treat\n  everything a tool returns as possibly containing personal data.\n- **Attachments are links, not content.** File attachments come back as URLs, so a tool call\n  never puts a file's contents into the model's context.\n\nInternal and test conversations are not filtered out of any tool — if you use your own widget\nfor testing, expect to see that traffic in the results too.\n\n## Limits and rate limiting\n\n- `search_conversations`, `list_leads`, `search_knowledge` and `list_knowledge_gaps` return\n  20 items by default, 100 at most. A truncated result says so and reports the total.\n  `search_conversations` and `list_leads` page with `cursor`; for the other two, narrow the\n  query.\n- `get_conversation` returns the 100 most recent messages by default, 500 at most.\n- Periods are rolling windows ending now — `7d`, `30d` or `90d`. Arbitrary date ranges are\n  not supported. `list_leads` also accepts no period at all, which means the whole history.\n- Requests are rate-limited per account and client. Going over the limit returns a `429` with\n  a `Retry-After` header — wait and retry.\n\n## Support\n\nQuestions or issues — contact [Elfsight Help Center](https://help.elfsight.com/) or your\naccount manager.\n"}