v3.23 - LibreChat upload strategy (not yet usable)
⚠️ LibreChat integration is not usable yet
This release ships the server side of the LibreChat integration only. It cannot be used
in production yet: it depends on a /api/service/files service endpoint and matching
MCP_SERVICE_TOKEN handling that LibreChat has not implemented and released yet.
Thanks to @geodanchev for his contribution in #86!
Until that lands upstream, UPLOAD_STRATEGY=LIBRECHAT will fail to upload. Keep your
existing LOCAL / S3 / GCS / AZURE / MINIO strategy. Treat this as a preview so
that the MCP side is ready the day LibreChat support arrives.
Highlights
🔌 New upload strategy: LIBRECHAT
With UPLOAD_STRATEGY=LIBRECHAT, generated documents (DOCX, XLSX, PPTX, EML, XML) are
uploaded straight to LibreChat's internal file service and surface as downloadable
attachments in the chat UI — no external cloud storage needed. Tools return a file artifact
with file_id, filename and mimeType.
👤 User context from HTTP headers
Files are associated with the calling user via headers passed by LibreChat:
X-User-Id(required) — associates the file with the userX-User-Email(optional) — audit loggingX-Conversation-Id(optional) — conversation-scoped access
🔐 Service-token authentication
Server-to-server calls are authenticated with an X-Service-Token header, which must match
the MCP_SERVICE_TOKEN configured on the LibreChat side.
🔢 Optional UUID prefix control
All tools now accept add_unique_prefix (default false). LibreChat adds its own UUID
prefix at storage time, so the server-side prefix is off by default to avoid doubling up.
Configuration
# .env
UPLOAD_STRATEGY=LIBRECHAT
LIBRECHAT_SERVICE_URL=http://api:3080/api/service/files
LIBRECHAT_SERVICE_TOKEN=<must-match-MCP_SERVICE_TOKEN-in-LibreChat># librechat.yaml
mcpServers:
Office-documents:
type: streamable-http
url: http://mcp-office-docs:8958/mcp
headers:
X-User-Id: "{{LIBRECHAT_USER_ID}}"
X-User-Email: "{{LIBRECHAT_USER_EMAIL}}"Backward compatibility
Fully opt-in. Existing deployments on LOCAL, S3, GCS, AZURE or MINIO are
unaffected and need no changes.
Upgrade
Pull the new image and restart — no template or configuration changes required.
What's Changed
- Feature/librechat integration in #86
Full Changelog: v3.22...v3.23