{"id":50754575,"url":"https://github.com/clickhouse/agentic-data-stack","last_synced_at":"2026-06-11T04:00:57.968Z","repository":{"id":340212660,"uuid":"1162722805","full_name":"ClickHouse/agentic-data-stack","owner":"ClickHouse","description":"Official ClickHouse Agentic Data Stack - self-host with ClickHouse, LibreChat, Langfuse, and ClickHouse MCP.","archived":false,"fork":false,"pushed_at":"2026-06-09T17:30:48.000Z","size":202,"stargazers_count":67,"open_issues_count":3,"forks_count":13,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-09T19:13:54.806Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClickHouse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T16:04:56.000Z","updated_at":"2026-06-04T19:42:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ClickHouse/agentic-data-stack","commit_stats":null,"previous_names":["clickhouse/agentic-data-stack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ClickHouse/agentic-data-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClickHouse%2Fagentic-data-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClickHouse%2Fagentic-data-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClickHouse%2Fagentic-data-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClickHouse%2Fagentic-data-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClickHouse","download_url":"https://codeload.github.com/ClickHouse/agentic-data-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClickHouse%2Fagentic-data-stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34181555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T04:00:25.710Z","updated_at":"2026-06-11T04:00:57.941Z","avatar_url":"https://github.com/ClickHouse.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agentic Data Stack\n\nThe open-source stack for ClickHouse's suite of agentic analytic tools — your chat, your models, your data.  \nPowered by [ClickHouse](https://clickhouse.com), [LibreChat](https://librechat.ai), and [Langfuse](https://langfuse.com).\n\n\u003e Learn more at [clickhouse.ai](https://clickhouse.ai)\n\n## Overview\n\nThis project runs a fully self-hosted agentic analytics environment with Docker Compose. It connects a chat UI (LibreChat) to your data (ClickHouse) via MCP, with full LLM observability (Langfuse) — all in a single `docker compose up` command.\n\n### What's included\n\n| Component | Purpose | Port |\n|---|---|---|\n| **LibreChat** | Modern Chat UI with multi-model / provider support (OpenAI, Anthropic, Google) | `3080` |\n| **Admin Panel** | Browser-based configuration UI for LibreChat | `3081` |\n| **ClickHouse MCP** | MCP server that gives agents access to ClickHouse | `8000` |\n| **Langfuse** | LLM observability — traces, evals, prompt management | `3000` |\n| **ClickHouse** | World's fastest analytical database | `8123` |\n| **PostgreSQL** | Transactional database for Langfuse | `5432` |\n| **MongoDB** | Transactional database for LibreChat | `27017` |\n| **MinIO** | S3-compatible object storage | `9090` |\n| **Redis** | Caching and queue | `6379` |\n| **Meilisearch** | Full-text search for LibreChat | `7700` |\n| **pgvector** | Vector database for RAG | `5433` |\n| **RAG API** | Retrieval-augmented generation service for LibreChat | `8001` |\n\n## Quick Start\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/) and Docker Compose v2+\n\n### 1. Prepare the environment\n\n```bash\n./scripts/prepare-demo.sh\n```\n\nThis is your fastest way to get started with the Agentic Data Stack. It generates a `.env` file with random credentials for all services, then presents an interactive menu to optionally configure API keys for OpenAI, Anthropic, and/or Google. Any providers you skip will remain as `user_provided`, letting users enter their own keys in the LibreChat UI.\n\nYou can also generate credentials separately and customize the initial administrator account credentials:\n\n```bash\nUSER_EMAIL=\"you@example.com\" USER_PASSWORD=\"supersecret\" USER_NAME=\"YourName\" ./scripts/generate-env.sh\n```\n\nLearn more about configuring your LibreChat instance at https://librechat.ai/docs.\n\n\u003e **Note:** To use LibreChat's **file search / RAG** features, the RAG API needs a real API key for embeddings — `user_provided` won't work because the RAG API calls the embeddings endpoint directly. If `OPENAI_API_KEY` is set to `user_provided`, set `RAG_OPENAI_API_KEY` to a valid OpenAI key (it overrides `OPENAI_API_KEY` for RAG only). You can also switch embedding providers via `EMBEDDINGS_PROVIDER` (`openai`, `azure`, `huggingface`, `huggingfacetei`, `ollama`). See the [RAG API docs](https://librechat.ai/docs/configuration/rag_api) for details.\n\n### 2. Start the stack\n\n```bash\ndocker compose up -d\n```\n\n### 3. Access the services\n\n- **LibreChat** — [http://localhost:3080](http://localhost:3080)\n- **Admin Panel** — [http://localhost:3081](http://localhost:3081)\n- **Langfuse** — [http://localhost:3000](http://localhost:3000)\n- **MinIO Console** — [http://localhost:9091](http://localhost:9091) (Find credentials in `.env` under MINIO_ROOT_* fields)\n\nAn admin user is created automatically on first startup using the credentials from your `.env` file.\n\n## Architecture\n\n![Architecture](assets/architecture.png)\n\nLibreChat connects to ClickHouse through the MCP server, allowing AI agents to query and analyze your data. All LLM interactions are traced in Langfuse for observability, evaluation, and prompt management. The Admin Panel provides a browser-based UI for LibreChat configuration without editing `librechat.yaml` by hand.\n\n## Scripts\n\n| Script | Description |\n|---|---|\n| `scripts/prepare-demo.sh` | Generate `.env` and interactively configure API keys |\n| `scripts/generate-env.sh` | Generate `.env` with random credentials |\n| `scripts/reset-all.sh` | Stop all containers and wipe all data/volumes |\n| `scripts/create-librechat-user.sh` | Manually create a LibreChat admin user |\n| `scripts/init-librechat-user.sh` | Auto-init user on container startup (used internally) |\n\n## Configuration\n\n- **LibreChat** — `librechat.yaml` configures endpoints, MCP servers, and agent capabilities. The Admin Panel ([http://localhost:3081](http://localhost:3081)) offers a browser-based alternative for most of these settings.\n- **Environment** — `.env` holds all credentials and service configuration (see `.env.example` for reference).\n- **Docker** — `docker-compose.yml` includes the four compose files:\n  - `langfuse-compose.yml` — Langfuse, ClickHouse, PostgreSQL, Redis, MinIO\n  - `clickhouse-mcp-compose.yml` — ClickHouse MCP server\n  - `librechat-compose.yml` — LibreChat, MongoDB, Meilisearch, pgvector, RAG API\n  - `admin-panel-compose.yml` — LibreChat Admin Panel\n\n## Reset Everything\n\nTo tear down all containers and delete all data:\n\n```bash\n./scripts/reset-all.sh\n```\n\nThen set up again and start fresh:\n\n```bash\n./scripts/prepare-demo.sh\ndocker compose up -d\n```\n\n## Links\n\n- [clickhouse.ai](http://clickhouse.ai) — Project homepage\n- [Documentation](https://clickhouse.com/docs/use-cases/AI/MCP/librechat) — Full setup guide for adding ClickHouse MCP to LibreChat\n- [ClickHouse MCP](https://github.com/ClickHouse/mcp-clickhouse) — MCP server for ClickHouse\n- [LibreChat](https://github.com/danny-avila/LibreChat) — Chat UI\n- [LibreChat Admin Panel](https://github.com/ClickHouse/librechat-admin-panel) — Browser-based configuration UI for LibreChat\n- [Langfuse](https://langfuse.com) — LLM observability\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclickhouse%2Fagentic-data-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclickhouse%2Fagentic-data-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclickhouse%2Fagentic-data-stack/lists"}