> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 在 AnythingLLM 中使用 ClickHouse MCP 服务器

> 本指南介绍如何使用 Docker 为 AnythingLLM 设置 ClickHouse MCP 服务器。

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

> 本指南介绍如何使用 Docker 配置 [AnythingLLM](https://anythingllm.com/) 与 ClickHouse MCP 服务器，
> 并将其连接到 ClickHouse 示例数据集。

<Steps>
  <Step title="安装 Docker" id="install-docker">
    你需要 Docker 来运行 LibreChat 和 MCP 服务器。获取 Docker 的方法如下：

    1. 访问 [docker.com](https://www.docker.com/products/docker-desktop)
    2. 下载适用于你的操作系统的 Docker Desktop
    3. 按照你的操作系统对应的说明安装 Docker
    4. 打开 Docker Desktop，并确保其正在运行

    <br />

    更多信息，请参阅 [Docker 文档](https://docs.docker.com/get-docker/)。
  </Step>

  <Step title="拉取 AnythingLLM Docker 镜像" id="pull-anythingllm-docker-image">
    运行以下命令，将 AnythingLLM Docker 镜像拉取到本机：

    ```bash theme={null}
    docker pull anythingllm/anythingllm
    ```
  </Step>

  <Step title="设置存储位置" id="setup-storage-location">
    创建用于存储的目录，并初始化环境文件：

    ```bash theme={null}
    export STORAGE_LOCATION=$PWD/anythingllm && \
    mkdir -p $STORAGE_LOCATION && \
    touch "$STORAGE_LOCATION/.env" 
    ```
  </Step>

  <Step title="配置 MCP 服务器配置文件" id="configure-mcp-server-config-file">
    创建 `plugins` 目录：

    ```bash theme={null}
    mkdir -p "$STORAGE_LOCATION/plugins"
    ```

    在 `plugins` 目录中创建一个名为 `anythingllm_mcp_servers.json` 的文件，并添加以下内容：

    ```json theme={null}
    {
      "mcpServers": {
        "mcp-clickhouse": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "mcp-clickhouse",
            "--python",
            "3.10",
            "mcp-clickhouse"
          ],
          "env": {
            "CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
            "CLICKHOUSE_USER": "demo",
            "CLICKHOUSE_PASSWORD": ""
          }
        }
      }
    }
    ```

    如果你想查看自己的数据，可以使用你自己的 ClickHouse Cloud 服务的
    [host、用户名和密码](/docs/zh/get-started/setup/cloud#connect-with-your-app)。
  </Step>

  <Step title="启动 AnythingLLM Docker 容器" id="start-anythingllm-docker-container">
    运行以下命令以启动 AnythingLLM Docker 容器：

    ```bash theme={null}
    docker run -p 3001:3001 \
    --cap-add SYS_ADMIN \
    -v ${STORAGE_LOCATION}:/app/server/storage \
    -v ${STORAGE_LOCATION}/.env:/app/server/.env \
    -e STORAGE_DIR="/app/server/storage" \
    mintplexlabs/anythingllm
    ```

    启动后，在浏览器中访问 `http://localhost:3001`。
    选择你要使用的模型，并提供你的 API 密钥。
  </Step>

  <Step title="等待 MCP 服务器启动" id="wait-for-mcp-servers-to-start-up">
    点击 UI 左下角的工具图标：

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/alm_tool-icon.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=e5451f3dd897d0102bc2e7cc0d5ea7fc" alt="工具图标" size="md" width="1025" height="617" data-path="images/use-cases/AI_ML/MCP/alm_tool-icon.webp" />

    点击 `Agent Skills`，然后查看 `MCP servers` 部分。
    等待直到你看到 `Mcp ClickHouse` 显示为 `On`

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/allm_mcp-servers.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=c073f4fed5e6c7d35d65a63b077335a2" alt="MCP servers 已就绪" size="md" width="690" height="933" data-path="images/use-cases/AI_ML/MCP/allm_mcp-servers.webp" />
  </Step>

  <Step title="使用 AnythingLLM 与 ClickHouse MCP 服务器聊天" id="chat-with-clickhouse-mcp-server-with-anythingllm">
    现在已经可以开始聊天了。
    要让 MCP 服务器可用于聊天，你需要在对话的第一条消息前加上 `@agent` 前缀。

    <Image img="https://mintcdn.com/private-7c7dfe99/F7iOqwDUBB9E2S65/images/use-cases/AI_ML/MCP/allm_conversation.webp?fit=max&auto=format&n=F7iOqwDUBB9E2S65&q=85&s=33c225adc816cbb72086d17a1dbfe3e8" alt="对话" size="md" width="1290" height="1575" data-path="images/use-cases/AI_ML/MCP/allm_conversation.webp" />
  </Step>
</Steps>
