agenticbi
AgenticBI подключает BigQuery, Salesforce, SAP и Google Drive к ассистенту и отвечает на бизнес-вопросы без SQL
Что умеет
- Искать нужные датасеты и документы по запросу
- Строить SQL-запросы и возвращать результат с визуализацией
- Создавать дашборды, виджеты и отчёты
- Настраивать алерты и проверять их срабатывание
- Выгружать данные в PDF и CSV
Какие данные видит
Ассистент обращается к подключённым источникам данных и репозиторию AgenticBI в рамках прав пользователя, включая структурированные данные и загруженные документы.
Нужен ли аккаунт
Не нужен: сервер работает без входа
AgenticBI — MCP-сервер аналитической платформы, которая находит нужные данные среди подключённых источников (BigQuery, Salesforce, SAP, Google Drive, Trino и другие), сама строит запросы и возвращает ответ с визуализацией. Можно задать вопрос на естественном языке или настроить регулярный отчёт — например, ежедневную сводку продаж в Slack или почту. Работает с Claude, Cursor, VS Code и ChatGPT.
Как подключить
Как подключить agenticbi к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://agenticbi--sanskriti-tqrg.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить agenticbi к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://agenticbi--sanskriti-tqrg.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 откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить agenticbi к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://agenticbi--sanskriti-tqrg.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (33)
Технические названия из tools/list. Нужны только разработчикам.
| do | Execute any operation via natural language. Creates dashboards, widgets, queries, configures alerts, generates reports, and more. Routes to the appropriate internal agents automatically. |
| ask | Ask a data question in natural language. Finds relevant datasets via schema search, generates SQL, and returns results. Results are limited to 500 rows by default (use maxRows to adjust). Use get_data for full dataset access. |
| search | Search across all assets -- dashboards, widgets, datasets, queries, reports, alerts, and documents. |
| list_dashboards | List all dashboards accessible to the current user. |
| get_data | Get data from a widget or dataset. Returns rows as JSON. |
| push_data | Push data rows to a dataset. Creates the dataset if it doesn't exist. |
| export_pdf | Export a dashboard or widget as a PDF document. Returns a base64-encoded PDF and widget configuration details. |
| export_csv | Export a dashboard or widget data as CSV. For dashboards, exports ALL widgets as separate CSV files in a single response — each widget becomes its own CSV with the correct widget name. Use this tool whenever the user asks to export data to CSV, download data, or get a spreadsheet export. Do NOT write custom scripts to export data — always use this tool instead. |
| get_embed_url | Generate an embeddable share URL for a dashboard or widget. |
| delete | Delete an asset. Requires explicit asset type, ID, and confirmation. This is the only tool that can perform destructive operations. |
| run | Execute a saved query (refresh its data) or trigger a saved email report to send immediately. Use this to send an existing report right now — it will deliver to all configured recipients via email, Slack, Teams, or webhook. Provide exactly one of queryId or reportId. |
| get_details | Get full details for any asset by type and ID. |
| explain_lineage | Explain how an answer, visualization, dataset, query, or dashboard is built. Returns an on-demand lineage recipe with upstream sources, transformations, field traces, impact, warnings, and redactions. Provide assetType plus assetId, or one of widgetId, datasetId, queryId, or dashboardId. |
| create_datasource | Start a new datasource connection for the user's account. Returns a one-time secure web URL where the user enters host, port, credentials, and tests the connection in a browser. DO NOT ask the user for host, port, username, password, connection string, or any credentials — the returned URL is the only credential surface and it expires after 30 minutes. Just call this tool with the connector type, then relay the URL message back verbatim. |
| create_query | Create a new query against a datasource. Optionally run it immediately to populate a dataset. |
| find_widget | Find widgets by name. Optionally scope to a specific dashboard. Returns matching widget IDs, names, chart types, and dataset info. |
| create_widget | Create a widget (chart/visualization) on a dataset. IMPORTANT: Before calling this tool, use get_data with a small limit (e.g. 5) to inspect the dataset's field names and types. Then provide the exact field names for xAxis and yAxis — the widget will show 'No Data' if these are missing or wrong. For charts (column, line, bar, pie, area, etc.), xAxis and yAxis are required. For data grids (datagrid2), they are optional. |
| layout_dashboard | Set widget positions and sizes on a dashboard. Grid is 24 columns wide, 1-based. Typical widget: sizeX=12, sizeY=6. |
| import_file | Import file data (CSV, JSON, XML, or Excel) into a dataset. Pass text content as a string for CSV/JSON/XML, or base64-encoded content for Excel (.xlsx/.xls). Creates or updates a dataset. |
| create_report | Create a scheduled report that sends a dashboard or widget(s) via Email, Slack, or Teams at a given frequency. DELIVERY: Use 'recipients' for email, 'slackName' for Slack (e.g., 'testing', '#general'), or both. At least one delivery channel is required — email is NOT required if Slack or Teams is specified. When the user says 'send to Slack' or mentions a Slack channel/config name, use the slackName parameter — the server resolves the config automatically. Set sendNow=true to also send immediately after creating the schedule. |
| create_alert | Create a new alert on a dataset. Supports conditional alerts (trigger when C9QL condition matches), data-not-updated alerts (trigger when dataset hasn't been updated within schedule interval), and query error alerts (trigger when a query execution fails). |
| list_alerts | List alerts accessible to the current user. Optionally filter by dataset ID or widget ID. |
| test_alert | Test an existing alert by triggering it immediately. The alert executes as if its condition was checked now, and sends notifications if the condition matches. Results are not persisted in the alert's execution history. |
| update_alert | Update an existing alert. Can change the alert name, condition, schedule, email recipients, real-time mode, or pause/resume the alert. Only specified fields are updated; others remain unchanged. |
| ingest_document | Ingest a document (PDF, Word, CSV, Excel, images, text) for Q&A and data extraction. Documents are chunked, embedded, and stored in the vector database for semantic search. Supported formats: PDF, DOCX, DOC, CSV, XLS, XLSX, TXT, MD, PNG, JPG, GIF, BMP, TIFF, WEBP. |
| ask_document | Ask a question against ingested documents. Performs semantic search across document embeddings, retrieves relevant chunks, and returns an LLM-generated answer with source citations. Can target specific documents or search across all. |
| extract_document_data | Extract structured data from documents into a dataset. Define the fields to extract and the server will parse matching documents, returning structured rows. The resulting dataset can be used with ask, create_widget, etc. Turns unstructured documents into queryable data. |
| list_documents | List documents ingested into a document datasource. Returns document names and IDs. Use this to find document IDs for ask_document, extract_document_data, or delete_document. |
| delete_document | Delete an ingested document from the vector store and remove its query. Use list_documents to find document IDs. Requires confirmation. |
| get_insights | Generate AI-powered insights and recommendations for a widget or dashboard. Analyzes the data and returns observations, trends, anomalies, and actionable recommendations. Provide either a widgetId (single widget analysis) or dashboardId (analyzes all widgets). |
| cloud9ql_assist | Generate, fix, explain, convert, validate, or preview Cloud9QL using dataset context. |
| update_widget | Update an existing widget's data transformations (add/remove filters, change aggregations, modify sorting) and/or display settings (chart type, name). Changes are saved server-side — no UI interaction needed. Use get_details with the widgetId first to see current configuration, then apply modifications. IMPORTANT: For filters, use exact field names from the dataset. Use get_data with the widget's datasetId to discover available fields. |
| update_report | Update an existing scheduled report's configuration. Can change frequency, recipients, delivery channels (email, Slack, Teams), export options, and email body. Use search with assetType='report' to find report IDs. |