Skip to main content
Glama
Elfsight AI Chatbot MCP Server

Elfsight AI Chatbot MCP Server

Official
by elfsight
README.md
# Elfsight AI Chatbot — MCP Server

[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/elfsight/ai-chatbot-mcp)
[![GitHub MCP Registry](https://img.shields.io/badge/GitHub-MCP_Registry-181717?logo=github)](https://github.com/mcp/com.elfsight/ai-chatbot)

> This repository holds the documentation and the registry manifest (`server.json`) of the
> Elfsight AI Chatbot MCP server. The server itself is hosted by Elfsight; there is nothing to
> build or run here. For help, contact [Elfsight Help Center](https://help.elfsight.com/).

A remote [Model Context Protocol](https://modelcontextprotocol.io) server over your
[Elfsight AI Chatbot](https://elfchatbot.com/) widget data. Point an MCP-capable
AI agent at it and it can read your conversations, leads, knowledge base and analytics —
and add answers to your knowledge base — without you copy-pasting anything into a chat window.

The server is account-scoped: once you sign in, the agent can reach every AI Chatbot widget on
your Elfsight account, and nothing else (no other Elfsight products or data).

Server URL: `https://mcp.elfchatbot.com/mcp` (Streamable HTTP).

## Connect

Sign-in is OAuth. Add the server URL to your MCP client; the client opens a browser window,
you sign in to Elfsight and approve access. There is no key to copy.

### Claude (claude.ai, Desktop, mobile)

Elfsight AI Chatbot is listed in the Claude connectors directory. In Claude, open
**Settings → Connectors**, find **Elfsight AI Chatbot** and select **Connect**, then sign in to
Elfsight and approve access. On Team and Enterprise plans an organization Owner may need to add
the connector first. You can also add it as a custom connector with the server URL
`https://mcp.elfchatbot.com/mcp`.

Claude lists seven tools as read-only and `answer_knowledge_gap` as a write tool; on the connector's
page you choose for each group whether Claude asks before calling it.

### Claude Code

```bash
claude mcp add --transport http elfsight-ai-chatbot https://mcp.elfchatbot.com/mcp
```

Then run `/mcp` inside Claude Code and choose **Authenticate** for `elfsight-ai-chatbot`.

### Cursor

This repository is also a [Cursor plugin](https://cursor.com/docs/plugins/building): the manifest
is in [`.cursor-plugin/plugin.json`](./.cursor-plugin/plugin.json), the server connection in
[`mcp.json`](./mcp.json), and a rule with usage notes for the agent in [`rules/`](./rules).

To connect without the plugin, add the server to `.cursor/mcp.json` and authenticate it when
Cursor prompts:

```json
{
  "mcpServers": {
    "elfsight-ai-chatbot": {
      "url": "https://mcp.elfchatbot.com/mcp"
    }
  }
}
```

### Cline

In Cline, open **MCP Servers → Remote Servers** and add:

- Server Name: `elfsight-ai-chatbot`
- Server URL: `https://mcp.elfchatbot.com/mcp`
- Transport: **Streamable HTTP**

Then choose **Authenticate** for the server and sign in to Elfsight in the browser.

The same in Cline's own settings file, `cline_mcp_settings.json`. Recent versions keep it in
`~/.cline/data/settings/`, older ones in the editor's
`User/globalStorage/saoudrizwan.claude-dev/settings/`. Keep `type`: without it Cline falls
back to the legacy SSE transport. `.vscode/mcp.json` belongs to VS Code's built-in MCP
support; Cline does not read it.

```json
{
  "mcpServers": {
    "elfsight-ai-chatbot": {
      "type": "streamableHttp",
      "url": "https://mcp.elfchatbot.com/mcp"
    }
  }
}
```

### Other clients

Any client that supports remote MCP servers with OAuth (dynamic client registration and
PKCE) should connect with the server URL alone. **We have tested Claude, Claude Code, Cursor
(through the plugin), Cline and VS Code only**; the VS Code snippet below is verified, the
Windsurf one is the usual shape of its config.

VS 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%2Fmcp.elfchatbot.com%2Fmcp%22%7D)
or add it to `.vscode/mcp.json`:

```json
{
  "servers": {
    "elfsight-ai-chatbot": {
      "type": "http",
      "url": "https://mcp.elfchatbot.com/mcp"
    }
  }
}
```

Windsurf (`mcp_config.json`):

```json
{
  "mcpServers": {
    "elfsight-ai-chatbot": {
      "serverUrl": "https://mcp.elfchatbot.com/mcp"
    }
  }
}
```

## What you can ask it

- **`list_assistants`** — "Which AI Chatbot widgets do I have?"
- **`get_analytics`** — "How did my AI Chatbot perform over the last 30 days?"
- **`search_conversations`** — "Show me conversations from last week about shipping."
- **`get_conversation`** — "What happened in conversation `<id>`?"
- **`list_leads`** — "List the new leads from this week that I haven't reviewed yet."
- **`search_knowledge`** — "Does my knowledge base say anything about refunds?"
- **`list_knowledge_gaps`** — "What do visitors ask that my assistant can't answer?"
- **`answer_knowledge_gap`** — "Add this as a knowledge base answer and close that gap."

`answer_knowledge_gap` is the only tool that writes. Three ready-made prompts wrap common
workflows end to end: `weekly_report`, `knowledge_gaps_review`, `lead_followup`.

## Privacy

Everything a tool returns can be sent to your AI provider (Anthropic, OpenAI, etc.) as part
of your conversation with the agent. Keep that in mind:

- **Lead contact fields are always masked.** A lead's name, email and phone come back masked
  (e.g. `j***@example.com`, `+7***4567`) in `list_leads` and `get_conversation`. Full contacts
  are available only in the Elfsight dashboard.
- **The same values are masked in text too.** Wherever the lead's own name, email or phone
  appears in message text, topics or summaries, it comes back masked as well. Anything else
  is returned as visitors wrote it: a phone typed in another format or someone else's contact
  stays visible. Treat everything a tool returns as possibly containing personal data.
- **Attachments are type and file name only.** No file contents and no links to the files.
- **Page URLs are returned without query strings or fragments.**

Internal and test conversations are not filtered out of any tool — if you use your own widget
for testing, expect to see that traffic in the results too.

## Limits and rate limiting

- `search_conversations`, `list_leads`, `search_knowledge` and `list_knowledge_gaps` return
  20 items by default, 100 at most. A truncated result says so and reports the total.
  `search_conversations` and `list_leads` page with `cursor`; for the other two, narrow the
  query.
- `get_conversation` returns the 100 most recent messages by default, 500 at most.
- Periods are rolling windows ending now — `7d`, `30d` or `90d`. Arbitrary date ranges are
  not supported. `list_leads` also accepts no period at all, which means the whole history.
- Requests are rate-limited per account and client. Going over the limit returns a `429` with
  a `Retry-After` header — wait and retry.

## Support

Questions or issues — contact [Elfsight Help Center](https://help.elfsight.com/) or your
account manager.