Chainlit과 ClickHouse MCP 서버로 AI 에이전트 빌드하기

Chainlit과 ClickHouse MCP 서버로 AI 에이전트 빌드하기

Chainlit의 강력한 채팅 인터페이스 프레임워크와 ClickHouse MCP 서버를 결합해 대화형 데이터 애플리케이션을 만드는 방법을 소개해요.

출처: 문서

본문

이 가이드는 Chainlit의 강력한 채팅 인터페이스 프레임워크를 ClickHouse MCP(Model Context Protocol) 서버와 결합해 대화형 데이터 애플리케이션을 만드는 방법을 탐구해요. Chainlit은 최소한의 코드로 AI 애플리케이션용 대화형 인터페이스를 구축할 수 있게 해주고, ClickHouse MCP 서버는 ClickHouse의 고성능 컬럼 지향 데이터베이스와의 원활한 통합을 제공해요.

전제 조건 (Prerequisites)

  • Anthropic API 키가 있어야 해요
  • uv가 설치되어 있어야 해요

기본 Chainlit 앱

다음을 실행해 기본 채팅 앱의 예제를 볼 수 있어요:

uv run --with anthropic --with chainlit chainlit run chat_basic.py -w -h

그런 다음 http://localhost:8000으로 이동해요.

ClickHouse MCP 서버 추가하기

ClickHouse MCP 서버를 추가하면 더 흥미진진해져요. uv 명령을 사용할 수 있도록 .chainlit/config.toml 파일을 업데이트해야 해요:

[features.mcp.stdio]
    enabled = true
    # Only the executables in the allow list can be used for MCP stdio server.
    # Only need the base name of the executable, e.g. "npx", not "/usr/bin/npx".
    # Please don't comment this line for now, we need it to parse the executable name.
    allowed_executables = [ "npx", "uvx", "uv" ]

config.toml 전체 config.toml 파일은 examples 리포지토리에서 찾을 수 있어요.

MCP 서버를 Chainlit과 함께 작동시키기 위한 글루 코드가 있으므로, Chainlit을 실행하려면 대신 다음 명령을 실행해야 해요:

uv run --with anthropic --with chainlit chainlit run chat_mcp.py -w -h

MCP 서버를 추가하려면 채팅 인터페이스에서 플러그 아이콘을 클릭하고, ClickHouse SQL 플레이그라운드를 연결하는 데 다음과 같은 명령을 추가해요:

CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com CLICKHOUSE_USER=demo CLICKHOUSE_PASSWORD= CLICKHOUSE_SECURE=true uv run --with mcp-clickhouse --python 3.13 mcp-clickhouse

자체 ClickHouse 인스턴스를 사용하려면 환경 변수의 값을 조정할 수 있어요. 그런 다음 다음과 같은 질문을 할 수 있어요:

  • 쿼리할 수 있는 테이블에 대해 알려줘
  • 뉴욕 택시에 대해 흥미로운 점이 뭐야?

더 알아보기 (Learn more)