Dataddo Data to AI
Securely connect AI assistants to business data from 400+ sources through a semantic layer, with fewer confidently wrong answers, added security and control…
Что умеет
- List Models: List the semantic models available - each covers one source system and contains MANY entities - and which is the default. (A model here is a whole semantic layer, not a single table as in
- List Entities: List the business entities and blessed metrics in ONE model. Entities are business nouns (customer, invoice, deal), not source tables. This is what can be ASKED, which is narrower than
- Describe Entity: Show an entity's selectable fields and its declared relationships to other entities. An entity modelled automatically can carry hundreds of fields, so the most-filled ones are returne
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Securely connect AI assistants to business data from 400+ sources through a semantic layer, with fewer confidently wrong answers, added security and control over what the agents can access. Supports masking of sensitive data.
Как подключить
Как подключить Dataddo Data to AI к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://data-to-ai--dataddo.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Dataddo Data to AI к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://data-to-ai--dataddo.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 откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Dataddo Data to AI к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://data-to-ai--dataddo.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (12)
Технические названия из tools/list. Нужны только разработчикам.
| list_models | List the semantic models available - each covers one source system and contains MANY entities - and which is the default. (A model here is a whole semantic layer, not a single table as in dbt.) Use it when you are about to ASK something and need to know which world to ask in. Do NOT answer "what data do we have" from this: models cover only the fraction of the account that has been modelled. That question is list_flows. |
| list_entities | List the business entities and blessed metrics in ONE model. Entities are business nouns (customer, invoice, deal), not source tables. This is what can be ASKED, which is narrower than what the account HAS - for that, use list_flows. declared_rows is what the PLATFORM says a flow holds, not a measurement. Returns a PAGE: 40 by default, at most 200, answerable first, with 'counts.entities_in_model' giving the true total - advance 'offset' rather than concluding the model ends there, and read 'counts.answerable_in_model' before judging from one page how much can be queried. A page can come back SHORTER than you asked when the response budget trims it; 'entities_truncated' says so, and you then advance by the number you RECEIVED, never by the limit you requested. Metrics are listed once, on the first page, and are model-wide. |
| describe_entity | Show an entity's selectable fields and its declared relationships to other entities. An entity modelled automatically can carry hundreds of fields, so the most-filled ones are returned by default and 'fields_selection' says how many were not - use 'matching' to search by name, 'fields' to name the ones you want, or 'offset' to page. A field not shown is not thereby absent. Call this before query so you use real field names. Relationships listed here are the ONLY joins available - they are declared by the data model, never inferred. |
| search | Find entities, fields, relationships and metrics by keyword across a model (or all models). Faster than calling describe_entity repeatedly when you are looking for 'the overdue one' or 'whatever holds revenue'. |
| report_problem | Record that an ANSWER was wrong: a figure a person says is off or contradicts what they know. Not for refusals or errors, which are already logged. Returns what is known about the entity - unreviewed fields, what its flow is scoped to - which is often the explanation, so call it before re-running the query another way. |
| known_gaps | List questions this data CANNOT answer, and why. Check this before answering anything involving trends over time, forecasts, or systems that may not be connected. If the question you were asked appears here, say so plainly instead of approximating an answer. An empty inventory is not evidence there are no gaps: gaps are written by hand and derivation produces none. |
| sample_values | Show the most common values of a field, with counts. Use this before filtering on a categorical field - filters fail silently when the value you guessed is not how the source system spells it. |
| query | Query an entity. Select fields by name and traverse relationships with dots (e.g. 'account_manager.full_name'); filters, grouping and ordering use the same names. Prefer blessed metrics over summing fields yourself: terms like revenue have several defensible definitions and the metrics encode which one is correct. A metric answers what the business means; an aggregate answers exactly what you asked and nothing more. describe_entity gives this entity's fields and how to write filters against them. Set dry_run to compile and return the SQL without executing it. This tool does not accept SQL. |
| data_status | Report how current an entity's data is: when it was last written, how many rows, and the freshness policy the model declares. Call this before presenting figures a person will act on. |
| list_flows | START HERE for "what business data do we have", "what are we connected to", or "what systems feed this account". Lists the Dataddo FLOWS this account is connected to and which ones a model covers, so they can actually be queried. Each flow reports how many columns it has, not the columns themselves - call describe_flow for one flow's inventory. Check columns_from: source_row_count and source_column_count describe the SOURCE behind a flow and are upper bounds, because a flow may filter rows or emit fewer columns. What those columns MEAN still requires a model: a flow with columns listed but queryable=false is connected and inspectable, NOT answerable - report it as connected, never as available, and use list_entities for what can be asked. Returns a page: 20 by default, at most 200, with counts.matched_filter giving the true total - advance 'offset' rather than concluding the account ends there. A page can come back SHORTER than you asked when the response budget trims it; 'flows_truncated' says so, and you then advance by the number you RECEIVED, never by the limit you requested. |
| describe_flow | Describe ONE flow in depth: how many rows carry a value per column, which are empty, which could identify a row, and the period the data covers. Use it after list_flows to judge whether a flow can answer a question before anyone models it. Reports MEASURED facts, not the schema's claims - a column can be declared and hold nothing. The most-filled columns are returned by default and 'columns_selection' says how many were not; use 'matching' to search by name or 'offset' to page. |
| refresh | Request fresh data for an entity from its upstream system. Reports honestly whether the running backend can do this at all, and is asynchronous when it can. |