Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Как создать AI Agent с CopilotKit и MCP-сервером ClickHouse

Это пример того, как создать агентное приложение на основе данных, хранящихся в ClickHouse. В нем используется MCP-сервер ClickHouse, чтобы выполнять запросы к ClickHouse и строить диаграммы на основе полученных данных.

CopilotKit используется для создания интерфейса и предоставления пользователю чат-интерфейса.

Предварительные требования

  • Node.js >= 20.14.0
  • uv >= 0.1.0

Установите зависимости

Клонируйте проект локально: git clone https://github.com/ClickHouse/examples и перейдите в каталог ai/mcp/copilotkit.

Пропустите этот раздел и запустите скрипт ./install.sh, чтобы установить зависимости. Если вы хотите установить зависимости вручную, следуйте инструкциям ниже.

Установите зависимости вручную

  1. Установите зависимости:

Выполните npm install, чтобы установить зависимости Node.js.

  1. Установите 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_HOST
  • CLICKHOUSE_PORT
  • CLICKHOUSE_USER
  • CLICKHOUSE_PASSWORD
  • CLICKHOUSE_SECURE

Запустите приложение

Запустите npm run dev, чтобы запустить сервер для разработки.

Вы можете протестировать Agent, используя, например, такой промпт:

"Покажи мне динамику цен в Манчестере за последние 10 лет."

Откройте http://localhost:3000 в браузере, чтобы увидеть результат.

Navigation