Это пример того, как создать агентное приложение на основе данных, хранящихся в ClickHouse. В нем используется MCP-сервер ClickHouse, чтобы выполнять запросы к ClickHouse и строить диаграммы на основе полученных данных.
CopilotKit используется для создания интерфейса и предоставления пользователю чат-интерфейса.
Предварительные требования
Node.js >= 20.14.0uv >= 0.1.0
Установите зависимости
Клонируйте проект локально: git clone https://github.com/ClickHouse/examples и
перейдите в каталог ai/mcp/copilotkit.
Пропустите этот раздел и запустите скрипт ./install.sh, чтобы установить зависимости. Если
вы хотите установить зависимости вручную, следуйте инструкциям ниже.
Установите зависимости вручную
- Установите зависимости:
Выполните npm install, чтобы установить зависимости Node.js.
- Установите mcp-clickhouse:
Создайте новую папку external и клонируйте в неё repository mcp-clickhouse.
mkdir -p external
git clone https://github.com/ClickHouse/mcp-clickhouse external/mcp-clickhouseУстановите зависимости для Python и добавьте CLI-инструмент fastmcp.
cd external/mcp-clickhouse
uv sync
uv add fastmcpНастройте приложение
Скопируйте файл env.example в .env и укажите в нём свой ANTHROPIC_API_KEY.
Используйте свою LLM
Если вместо Anthropic вы хотите использовать другого провайдера LLM, можно изменить runtime Copilotkit, чтобы он работал с другим адаптером LLM. Здесь приведён список поддерживаемых провайдеров.
Используйте свой кластер ClickHouse
По умолчанию пример настроен на подключение к демо-кластеру ClickHouse. Вы также можете использовать свой кластер ClickHouse, задав следующие переменные окружения:
CLICKHOUSE_HOSTCLICKHOUSE_PORTCLICKHOUSE_USERCLICKHOUSE_PASSWORDCLICKHOUSE_SECURE
Запустите приложение
Запустите npm run dev, чтобы запустить сервер для разработки.
Вы можете протестировать Agent, используя, например, такой промпт:
"Покажи мне динамику цен в Манчестере за последние 10 лет."
Откройте http://localhost:3000 в браузере, чтобы увидеть результат.