Gnosari MCP
Create AI chatbots that collect structured data from conversations, publish them as joina.chat links, embeds or QR codes, and read the typed records they…
Что умеет
- Gnosari Create: Create a fully-configured, data-collecting AI agent in one call. Welcome screen (empty_state_title + empty_state_description) and a data_collection template are REQUIRED — this produce
- Gnosari Get: Get a complete overview of an agent's configuration. Returns identity, instructions preview, access settings, appearance, knowledge, traits, data collection, and a structured readiness bl
- Gnosari Update: Update an agent's identity and model settings. Only modifies provided fields. For instructions, access, appearance, knowledge, traits, and data collection, use dedicated tools. At leas
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Create AI chatbots that collect structured data from conversations, publish them as joina.chat links, embeds or QR codes, and read the typed records they capture, all from your AI assistant.
Most chatbots just chat. This one collects data.
The Gnosari MCP server lets Claude, ChatGPT, Cursor or any MCP client create and run your Gnosari chatbots through natural conversation. Create Gnosaris, define what data to collect, share conversation links, and review the structured data your conversations capture, without leaving your AI chat. Everything you do here shows up instantly in the Gnosari dashboard, because both write to the same account.
Как подключить
Как подключить Gnosari MCP к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://gnosari-mcp--gnosari.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Gnosari MCP к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://gnosari-mcp--gnosari.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Gnosari MCP к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://gnosari-mcp--gnosari.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (19)
Технические названия из tools/list. Нужны только разработчикам.
| gnosari_create | Create a fully-configured, data-collecting AI agent in one call. Welcome screen (empty_state_title + empty_state_description) and a data_collection template are REQUIRED — this produces a live-ready intake agent, not a bare shell. Optionally set a greeting, suggested prompts, and publish=True to go live immediately. ALL inputs are validated before any write; on failure every error is reported at once and nothing is created. The agent, welcome config, data-collection template + assignment, and optional publish all commit atomically. Raises: ValueError: If any input is invalid (all errors reported at once), or if publish=True and the URI is already taken (the message suggests an available alternative). |
| gnosari_get | Get a complete overview of an agent's configuration. Returns identity, instructions preview, access settings, appearance, knowledge, traits, data collection, and a structured readiness block (percent + missing keys + next steps). Set include_instructions=True for the full instructions text. |
| gnosari_update | Update an agent's identity and model settings. Only modifies provided fields. For instructions, access, appearance, knowledge, traits, and data collection, use dedicated tools. At least one field must be provided. Interactive buttons: set ``interactive_buttons_enabled`` to turn the feature on/off, and ``interactive_buttons_behavior`` to customize WHEN the agent shows buttons. To drop a custom behavior and fall back to the canonical default, pass ``clear_fields=["interactive_buttons_behavior"]`` (never send an empty string). Supplying that field in ``clear_fields`` AND as ``interactive_buttons_behavior`` at the same time is rejected. Instructions are managed by ``gnosari_manage_instructions``. Clearing them is the single exception that lives here: pass ``clear_fields=["instructions"]`` to empty the agent's system prompt. Raises: ValueError: If no update fields are provided, or if a field appears in both ``clear_fields`` and as a value param. |
| gnosari_delete | Delete an agent and all its associated data. When confirmed=False (default), returns agent details and a warning. When confirmed=True, permanently deletes the agent, its public link, collected data, and all configuration. This cannot be undone. |
| gnosari_manage_instructions | Update an agent's system instructions. Prefer ``action="edit"`` with anchored ``edits`` for any change to existing text: only the changed span is sent, everything else stays byte-identical, and the response's ``applied[].excerpt`` shows what landed so no second read is needed. Use ``replace`` only to write a whole new instruction set, ``append``/``prepend`` to add at either end. The usual flow is ``gnosari_create`` → ``gnosari_get`` (read ``instructions_version``) → this tool with ``expected_version`` set; every response returns the new ``instructions_version`` for the next call. The agent's behavior is defined entirely by its instructions, so craft them carefully. Raises: ValueError: VALIDATION_ERROR for a malformed call, ANCHOR_NOT_FOUND or ANCHOR_AMBIGUOUS for an unusable anchor, CONFLICT for a stale ``expected_version``, or a wizard-guardrail rejection. |
| gnosari_manage_access | Configure an agent's access level and public URL. Controls who can access the agent and how. PUBLIC makes the agent available at joina.chat/{uri}. PASSWORD_PROTECTED adds a password gate. PRIVATE restricts to API/embed access only. The publishing domain (joina.chat) is resolved automatically. Raises: ValueError: If PASSWORD_PROTECTED without password, or password with non-PASSWORD_PROTECTED access level. |
| gnosari_manage_appearance | Configure an agent's visual appearance and welcome experience. Two kinds of setting reach the chat: * CONTENT (per-agent) — greeting, empty-state title/description, and suggested prompts. Set via greeting / empty_state_* / suggested_prompts. greeting is an overlay: when set, the welcome screen (empty state + prompts) is configured but hidden. * VISUAL identity — pick ONE curated ``style_preset`` (color preset + background pattern). The preset is written to the agent's chat theme, REUSING the agent's existing theme row in place so repeated calls never create duplicate themes. See the ``style_preset`` schema for the full list and which agent purpose each fits. Only provided fields are changed; at least one is required. Raises: ValueError: If no appearance fields are provided. ChatThemeConfigurationError: If the resolved theme blob is invalid — the message names the exact offending key to fix. |
| gnosari_manage_traits | Create, list, get, update, delete, assign, or remove personality traits. Traits shape how an agent communicates. Use assign/remove to link traits to an agent. To change a trait's behavioral instructions, prefer ``action="update"`` with anchored ``instructions_edits``: only the changed span is sent, everything else stays byte-identical, and the response's ``applied[].excerpt`` shows what landed so no second read is needed. Pass whole ``instructions`` only to write a completely new set. The usual flow is ``action="get"`` (read ``instructions_version``) → ``action="update"`` with ``expected_version`` set; every read and write returns the ``instructions_version`` for the next call. Raises: ValueError: VALIDATION_ERROR for a malformed call, ANCHOR_NOT_FOUND or ANCHOR_AMBIGUOUS for an unusable anchor, or CONFLICT for a stale ``expected_version``. |
| gnosari_manage_knowledge | Create, list, get, update, delete, assign, or remove knowledge sources. Knowledge sources are documents or websites that give agents expertise. |
| gnosari_manage_data_collection | Create, list, get, update, delete, assign, or remove data collection templates. Templates define what structured data agents extract from conversations. Also controls whether visitors can upload files (photos/PDFs) for the agent to read — pass enable_attachments (requires gnosari_id). Assigning a template (action='assign', or create with gnosari_id) turns data collection ON for that agent. Removing a template never turns it off — the enable state is the owner's setting, changed only through the agent's own configuration. Identity: pass ``identity_field`` (create/update) to name the field that holds the person's display name. On update, omitted fields are preserved (preserve-on-omit); to drop the designation pass ``clear_fields=["identity_field"]`` — never an empty string. Listing a field in ``clear_fields`` AND passing it as a value is rejected. |
| gnosari_search | Search across Gnosari entities with optional text query and filters. When entity='all', searches agents, traits, templates, and knowledge sources in parallel and groups results by type. When a specific entity is selected, returns only that type. Uses OpenSearch hybrid search when available, with transparent SQL fallback. The ``search_mode`` field in the response indicates which backend produced the results. The access_level filter applies only to agents and is silently ignored for other entity types. |
| gnosari_check_uri | Check whether a URI is available for publishing an agent. Verifies that the given URI slug is not already taken on the account's default domain (joina.chat). When the URI is taken, the response suggests a concrete available alternative so the agent can publish without guessing. |
| gnosari_manage_link | Create and manage shareable links for an agent. Each link gets a unique URL (joina.chat/l/{slug}) and a downloadable QR code, and renders the agent either as a classic chat or as an immersive conversation page. Multiple links can point to the same agent with different greetings, topics, themes, and expiry -- one link per channel (poster, email campaign, personal invitation) so each is tracked separately. Returns the link with ready-to-use URLs -- ``urls.public`` (share this), ``urls.embed`` (iframe src), ``urls.qr_image`` (printable QR). |
| gnosari_collected_data | List, fetch, or summarise data your agents have collected from conversations. action='list': Browse collected records (leads, feedback, candidates, orders). Filter by agent, template, date range, status, or search text. action='get': Fetch ONE record's full detail by entity_id, including the per-attribute provenance (which conversation message + verbatim quote each value came from) and a session_excerpt of the surrounding conversation messages. Use this after 'list' to drill into a record. action='stats': Dashboard totals -- counts by template, status breakdown, trends. Use group_by_agent=True for per-agent breakdown. Tip: call with action='stats' first to see the big picture, then action='list' to find records, then action='get' for a single record's evidence. Tip: for a full, filter-aware CSV download of collected data (all matching records, not a single page), use the REST endpoint GET /api/v1/entities/export instead of paging this list action. Args: action: 'list' to browse records, 'get' for one record's detail, 'stats' for dashboard totals. agent_id: Filter by a specific agent. entity_id: Id of the record to fetch (required for action='get'). template_name: Filter by template name (list only). days: Relative date filter in days. Omit for all-time (no cutoff). status: Filter by data status (list only). search: Search within collected data attributes, agent name, or data type name (list only). skip: Pagination offset (list only). limit: Pagination limit (list only). include_facets: Include filter-aware per-type and per-status facet counts on the response (list only). group_by_agent: Per-agent stats breakdown (stats only). |
| gnosari_collected_data_delete | Permanently delete collected data records (leads, feedback, etc.). When confirmed=False (default), returns a confirmation summary — the count of records that would be removed plus an irreversibility warning. NO deletion happens. When confirmed=True, permanently deletes the records. Account-scoped: ids that do not belong to your account are silently skipped, so ``deleted`` reflects only your own rows. This cannot be undone. Args: entity_ids: Ids of the records to delete. confirmed: Must be True to actually delete. |
| gnosari_extraction_status | Whether any conversation capture is still being extracted. Answers "has the data landed yet?" without guessing from an empty list: a conversation's structured records appear a couple of minutes after the conversation ends, so an empty collected-data list means "still processing" while this reports processing=True, and "genuinely nothing was captured" once it reports processing=False. Args: agent_id: Optional narrowing to one agent. |
| gnosari_manage_webhooks | Manage outbound webhook destinations for the account. Actions: list, get, create, update, activate, deactivate, delete, deliveries (the paginated, newest-first attempt history with outcome and failure reason per attempt -- use it to diagnose failures). Event kinds are returned with a display name and one-line description each, so they can be reported to the user without interpreting raw topic ids. The signing secret is NEVER returned by this tool and cannot be read through it -- view and copy it in the dashboard destination view at /settings/webhooks/{id}. |
| gnosari_embed_code | Generate an HTML embed snippet for the Gnosari chat widget. Returns a ready-to-paste HTML snippet that adds the chat widget to any website. The snippet carries the Gnosari's public URI -- the only value the widget loader resolves an agent by -- so the Gnosari must have a public URI before it can be embedded. Only settings that differ from the loader's own defaults are printed, which keeps the snippet to the smallest thing that renders a working widget. Paste it right before the closing ``</body>`` tag of every page that should show the chat. Raises: AgentNotFoundError: The Gnosari does not exist, or belongs to another account. AgentValidationError: The Gnosari has no public URI yet. |
| gnosari_health | Health check for monitoring Gnosari Manager MCP server status. Returns server health status, name, version, and configured API URL. |