Note: This project was co-authored with Cursor/Codex 5.3.
LibreChat-based web app suite for browser chat with:
- AWS Bedrock model routing
- Multiple MCP servers (streamable HTTP)
- Local non-Docker startup
- Environment-driven configuration
- Browser -> LibreChat Web UI (
apiservice) - LibreChat -> AWS Bedrock
- LibreChat -> MCP servers (remote streamable HTTP)
- Node.js
20.19+and npm - Git
- Local MongoDB (or Atlas connection via
MONGO_URI) - AWS credentials available to LibreChat (env vars in
environment.env) - MCP server endpoints reachable from this host
- Copy env template:
cp environment.env.example environment.env- Generate required secrets:
bash scripts/gen_secrets.sh- Edit
environment.env:
BEDROCK_AWS_DEFAULT_REGION- Bedrock credentials or rely on host credential chain
BEDROCK_AWS_MODELS(your Bedrock model IDs)BEDROCK_INFERENCE_PROFILE_*values if neededMCP_API_KEY(used forX-API-Keyheader on remote MCP servers)- optional: ports and MCP URLs
-
Edit
librechat.yamlMCP entries to match your servers. -
Setup local LibreChat source + dependencies:
bash scripts/setup_local.sh- Start everything (MongoDB + webserver + app):
bash scripts/start_all.sh- Open:
https://localhost:3080(defaultstart_all.shmode)
From project root:
make upAvailable commands:
make up # restart local app stack
make down # stop local app stack
make status # check local app stack statusNo org cert is required. This starts LibreChat on an internal port and exposes TLS via nginx.
bash scripts/start_suite_ssl.shDefaults:
- HTTPS:
https://localhost:3080 - backend internal:
127.0.0.1:3081
Override ports if needed:
BACKEND_PORT=3181 HTTPS_PROXY_PORT=3443 bash scripts/start_suite_ssl.shbash scripts/stop_suite.shbash scripts/restart_all.shOptions:
bash scripts/restart_all.shenvironment.env.example- env templatelibrechat.yaml- endpoint + MCP configscripts/setup_local.sh- clone/install/build LibreChat locallyscripts/sync_config.sh- sync env/yaml into local LibreChat sourcescripts/start_all.sh- starts MongoDB + app stackscripts/restart_all.sh- stop then start all servicesscripts/stop_suite.sh- one-command shutdownscripts/gen_secrets.sh- generate JWT/credential keys
- Default consolidated log file:
logs/ai_agent_librechat.log - Launcher + backend + nginx entries are written to one app-specific file.
- Startup log filtering keeps config JSON blocks compact:
Mongo Connection options [omitted JSON]Custom config file loaded [omitted JSON]
make up
make status
curl -k -i https://localhost:3080/Expected:
- HTTPS frontend responds on
3080 - MCP servers are initialized in LibreChat startup logs when
librechat.yamlpoints to active remotes
This suite keeps the same concepts from your previous app:
- Browser-first chat UI
- Bedrock-based assistant
- MCP tool execution
- Multiple MCP server support
- Env-first deployment
The UI and orchestration are now handled by LibreChat itself.