> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Using ClickHouse MCP server with Jan.ai

> This guide explains how to set up Jan.ai with a ClickHouse MCP server.

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

> This guide explains how to use the ClickHouse MCP server with [Jan.ai](https://jan.ai/docs).

<Steps>
  <Step title="Install Jan.ai" id="install-janai">
    Jan.ai is an open source ChatGPT-alternative that runs 100% offline.
    You can download Jan.ai for [Mac](https://jan.ai/docs/desktop/install/mac), [Windows](https://jan.ai/docs/desktop/windows), or [Linux](https://jan.ai/docs/desktop/linux).

    It's a native app, so once it's downloaded, you can launch it.
  </Step>

  <Step title="Add LLM to Jan.ai" id="add-llm-to-janai">
    We can enabled models via the settings menu.

    To enable OpenAI, we need to provide an API key, as shown below:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/FK17EgxaHf1vQ3q-/images/use-cases/AI_ML/MCP/0_janai_openai.webp?fit=max&auto=format&n=FK17EgxaHf1vQ3q-&q=85&s=e944c8aafe8f78b3bff91b2dd0b3f44d" alt="Enable OpenAI models" size="md" width="938" height="359" data-path="images/use-cases/AI_ML/MCP/0_janai_openai.webp" />
  </Step>

  <Step title="Enable MCP servers" id="enable-mcp-servers">
    At the time of writing, MCP servers are an experimental feature in Jan.ai.
    We can enable them by toggling experimental features:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/FK17EgxaHf1vQ3q-/images/use-cases/AI_ML/MCP/1_janai_mcp_servers.webp?fit=max&auto=format&n=FK17EgxaHf1vQ3q-&q=85&s=2b62f10e2c8eb98a57da462d52299ccd" alt="Enable MCP servers" size="md" width="1320" height="325" data-path="images/use-cases/AI_ML/MCP/1_janai_mcp_servers.webp" />

    Once that toggle is pressed, we'll see `MCP servers` on the left menu.
  </Step>

  <Step title="Configure ClickHouse MCP server" id="configure-clickhouse-mcp-server">
    If we click on the `MCP servers` menu, we'll see a list of MCP servers that we can connect to:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/FK17EgxaHf1vQ3q-/images/use-cases/AI_ML/MCP/2_janai_mcp_servers_list.webp?fit=max&auto=format&n=FK17EgxaHf1vQ3q-&q=85&s=a47e5a4c2ee376d173f3bf43ce59f949" alt="MCP servers list" size="md" width="1061" height="793" data-path="images/use-cases/AI_ML/MCP/2_janai_mcp_servers_list.webp" />

    There servers are all disabled by default, but we can able them by clicking the toggle.

    To install the ClickHouse MCP server, we need to click on the `+` icon and then populate the form with the following:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/3_janai_add_mcp_server.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=2df76252a187ce9f6ef7dd1543ae07b6" alt="Add MCP server" size="md" width="543" height="551" data-path="images/use-cases/AI_ML/MCP/3_janai_add_mcp_server.webp" />

    Once we've done that, we'll need to toggle the ClickHouse Server if it's not already toggled:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/4_janai_toggle.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=528dd7597a1acbea9428fe830a4ab972" alt="Enable MCP server" size="md" width="759" height="147" data-path="images/use-cases/AI_ML/MCP/4_janai_toggle.webp" />

    The ClickHouse MCP server's tools will now be visible on the chat dialog:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/5_jani_tools.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=fe03392681f3814bcddbbacdd68c6df8" alt="ClickHouse MCP server tools" size="md" width="625" height="367" data-path="images/use-cases/AI_ML/MCP/5_jani_tools.webp" />
  </Step>

  <Step title="Chat to ClickHouse MCP server with Jan.ai" id="chat-to-clickhouse-mcp-server">
    It's time to have a conversation about some data stored in ClickHouse!
    Let's ask a question:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/6_janai_question.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=21d831c687e83a23ed38e33724042557" alt="Question" size="md" width="830" height="183" data-path="images/use-cases/AI_ML/MCP/6_janai_question.webp" />

    Jan.ai will ask confirmation before calling a tool:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/7_janai_tool_confirmation.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=d91d9390284a5999998a18620c66bbe6" alt="Tool confirmation" size="md" width="538" height="274" data-path="images/use-cases/AI_ML/MCP/7_janai_tool_confirmation.webp" />

    It will then show us the list of tool calls that were made:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/8_janai_tools_called.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=72b5afa0fe5d6621d42c42d452437f0e" alt="Tools called" size="md" width="1174" height="577" data-path="images/use-cases/AI_ML/MCP/8_janai_tools_called.webp" />

    If we click on the tool call, we can see the details of the call:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/5P3XC057x52AgxFj/images/use-cases/AI_ML/MCP/9_janai_tools_called_expanded.webp?fit=max&auto=format&n=5P3XC057x52AgxFj&q=85&s=41b318e4a6dbfa142805def0e54a28a5" alt="Tools called expanded" size="md" width="1139" height="1418" data-path="images/use-cases/AI_ML/MCP/9_janai_tools_called_expanded.webp" />

    And then underneath, we have our result:

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/FK17EgxaHf1vQ3q-/images/use-cases/AI_ML/MCP/10_janai_result.webp?fit=max&auto=format&n=FK17EgxaHf1vQ3q-&q=85&s=4a0957b917a57d6cb60830fbe838559a" alt="Result" size="md" width="1122" height="679" data-path="images/use-cases/AI_ML/MCP/10_janai_result.webp" />
  </Step>
</Steps>
