LibreChat Integration
Configure LibreChat to connect with your StarTree MCP Server and AWS Bedrock for natural language analytics with powerful foundation models.
Prerequisites
- Docker and Docker Compose installed
- AWS Account with Bedrock access and appropriate IAM permissions
- StarTree MCP Server installed and running
- Node.js 18+ (for MCP Supergateway)
- LibreChat repository cloned locally
Configuration Steps
1. Clone and Setup LibreChat
# Clone the repository
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
# Copy environment file
cp .env.example .env
Edit the .env
file with your AWS Bedrock credentials:
# Basic Settings
HOST=localhost
PORT=3080
MONGO_URI=mongodb://mongodb:27017/LibreChat
# User/Group IDs (to avoid Docker warnings)
UID=1000
GID=1000
# AWS Bedrock Configuration
BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id
BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key
# Specify available Bedrock models
BEDROCK_AWS_MODELS=anthropic.claude-3-5-haiku-20241022-v1:0,anthropic.claude-3-sonnet-20240229-v1:0,meta.llama3-70b-instruct-v1:0
# Application Settings
APP_TITLE="LibreChat with Pinot Analytics"
ALLOW_REGISTRATION=true
3. Setup MCP Supergateway
Since mcp-pinot is Python-based, we use MCP Supergateway to bridge it to LibreChat:
# Install supergateway globally
npm install -g supergateway
# Start the gateway (from your mcp-pinot directory)
cd /path/to/mcp-pinot
supergateway --stdio "uv --directory . run mcp_pinot/server.py" --port 8110
# Alternative: Run in background using screen
screen -S pinot-gateway
supergateway --stdio "uv --directory . run mcp_pinot/server.py" --port 8110
# Press Ctrl+A, then D to detach
4. Create LibreChat Configuration
Create librechat.yaml
in your LibreChat root directory:
# LibreChat Configuration
version: 1.1.5
cache: true
# Interface settings
interface:
privacyPolicy:
externalUrl: 'https://librechat.ai/privacy-policy'
openNewTab: true
termsOfService:
externalUrl: 'https://librechat.ai/tos'
openNewTab: true
# Enable registration and social logins
registration:
socialLogins: ['github', 'google']
# AWS Bedrock endpoint configuration
endpoints:
bedrock:
titleModel: 'anthropic.claude-3-5-haiku-20241022-v1:0'
streamRate: 35
availableRegions:
- "us-east-1"
- "us-west-2"
modelDisplayLabel: "AWS Bedrock"
# MCP Server configurations
mcpServers:
# StarTree Pinot MCP Server via Supergateway
pinot:
type: sse
url: "http://host.docker.internal:8110/sse"
timeout: 30000
initTimeout: 10000
iconPath: "/app/client/public/assets/logo.svg"
# Optional: Additional MCP servers
memory:
command: npx
args:
- -y
- "@modelcontextprotocol/server-memory"
timeout: 30000
filesystem:
command: npx
args:
- -y
- "@modelcontextprotocol/server-filesystem"
- "/app/uploads"
timeout: 30000
5. Create Docker Override Configuration
Create docker-compose.override.yml
:
version: '3.4'
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
extra_hosts:
# Allow container to access host services
- "host.docker.internal:host-gateway"
environment:
# Pass AWS credentials to container
- BEDROCK_AWS_DEFAULT_REGION=${BEDROCK_AWS_DEFAULT_REGION}
- BEDROCK_AWS_ACCESS_KEY_ID=${BEDROCK_AWS_ACCESS_KEY_ID}
- BEDROCK_AWS_SECRET_ACCESS_KEY=${BEDROCK_AWS_SECRET_ACCESS_KEY}
- BEDROCK_AWS_MODELS=${BEDROCK_AWS_MODELS}
6. Start LibreChat
# Launch the application
docker compose down # Stop any existing containers
docker compose up -d # Start in detached mode
# Verify startup
docker compose logs -f api
Look for these success messages in the logs:
LibreChat | 2025-06-04 13:58:17 info: Server listening on all interfaces at port 3080. Use http://localhost:3080 to access it
LibreChat | 2025-06-04 13:58:36 info: [MCP][User: 68404ef09963a7b64176c39b][pinot] Establishing new connection
LibreChat | 2025-06-04 13:58:36 info: [MCP][User: 68404ef09963a7b64176c39b][pinot] Creating SSE transport: http://host.docker.internal:8110/sse
LibreChat | 2025-06-04 13:58:36 info: [MCP][User: 68404ef09963a7b64176c39b][pinot] Connection successfully established
Verify Connection
Access LibreChat Interface
-
Open your browser and go to http://localhost:3080
-
Register a new account or login with existing credentials
-
Look for “AWS Bedrock” in the model provider dropdown
-
Look for pinot mcp in the chat dialog
Start Querying
You’re ready to analyze your data! Try these sample prompts:
"What tables are available in my Pinot cluster?"
"Show me the schema for the airlineStats table"
"How many records are in the GitHub events table?"