跳到主要内容
跳到主要内容

如何使用 CopilotKit 和 ClickHouse MCP 服务器构建 AI 代理

这是一个如何使用存储在 ClickHouse 中的数据构建代理应用的示例。它使用 ClickHouse MCP Server 从 ClickHouse 查询数据并根据数据生成图表。

CopilotKit 被用来构建用户界面并提供与用户的聊天接口。

示例代码

本示例的代码可以在 examples repository 中找到。

先决条件

  • 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 依赖。

  1. 安装 mcp-clickhouse:

创建一个新文件夹 external 并将 mcp-clickhouse 仓库克隆到该目录中。

mkdir -p external
git clone https://github.com/ClickHouse/mcp-clickhouse external/mcp-clickhouse

安装 Python 依赖并添加 fastmcp CLI 工具。

cd external/mcp-clickhouse
uv sync
uv add fastmcp

配置应用程序

env.example 文件复制到 .env 并编辑以提供您的 ANTHROPIC_API_KEY

使用您自己的 LLM

如果您更愿意使用 Anthropic 以外的 LLM 提供者,您可以修改 Copilotkit 运行时以使用不同的 LLM 适配器。 这里 是支持的提供者列表。

使用您自己的 ClickHouse 集群

默认情况下,该示例配置为连接到 ClickHouse 演示集群。您也可以通过设置以下环境变量来使用您自己的 ClickHouse 集群:

  • CLICKHOUSE_HOST
  • CLICKHOUSE_PORT
  • CLICKHOUSE_USER
  • CLICKHOUSE_PASSWORD
  • CLICKHOUSE_SECURE

运行应用程序

运行 npm run dev 启动开发服务器。

您可以使用如下提示来测试代理:

“给我显示曼彻斯特最近 10 年的价格演变。”

打开 http://localhost:3000 通过浏览器查看结果。