local-llm-client-for-sap-consultants-librechat
A fork of LibreChat that ships four SAP MCP servers pre-configured: documentation, SAP Notes, S/4HANA OData and ABAP ADT, so the chat client a consultant runs on their own machine can reach a customer system.
An SAP consultant asking a cloud assistant about a customer system gets an answer drawn from public documentation, because nothing in the chat client can reach the system. This fork wires four MCP servers into LibreChat's configuration and leaves the client self-hosted: SAP Docs MCP for documentation and community search, SAP Notes MCP for the knowledge base, S/4HANA OData MCP for live OData services, and ABAP ADT MCP for ABAP source code and structures. Its stated claim is about where the data stays: the fork's own words are that it keeps sensitive customer data on the machine, with no cloud uploads. The fork's own part is that configuration and the README section describing it, since the model providers, the agents and the code interpreter are LibreChat's, and the four servers are named in a table without being identified by repository. The repository describes itself as a fork published to showcase the use of an MCP server for SAP data.
Facts
Where it sits
Who is behind it
In the atlas: maintains 35, contributes to 86, wrote 25@marianfoomaintainerAbhishek AgarwalContributes to this
In the atlas: contributes to 1@abhishekag03Andrei BlizorukovContributes to this
In the atlas: contributes to 1@ablizorukovAdaptive GarageContributes to this
In the atlas: contributes to 1@adaptivegarageAlessio PelliccioneContributes to this
In the atlas: contributes to 1@alessiopelliccionealfo-devContributes to this
In the atlas: contributes to 1@alfo-devAnthony QuéréContributes to this
In the atlas: contributes to 1@Anthony-JhoiroArthur BarrettContributes to this
In the atlas: contributes to 1@arthurianAtef BellaajContributes to this
In the atlas: contributes to 1@atefbellaaj-at-slalomMarco BerettaContributes to this
In the atlas: contributes to 1@berry-13Ganesh BhatContributes to this
In the atlas: contributes to 1@bhat-ganesh66 contributors
What it declares
Every artifact
- Type
- Sample
- Origin
- Independently maintained
As a sample
- Form
- A reference application
Connections
Letting a coding agent read and act on your project or system
Download
README
quoted from marianfoo/local-llm-client-for-sap-consultants-librechat under MIT, readLibreChat
🚀 SAP MCP Servers Integration
This LibreChat fork includes pre-configured SAP MCP (Model Context Protocol) servers that transform it into a supercharged, privacy-focused AI assistant for SAP consultants. Unlike cloud-based assistants that stop at public documentation, this integration provides secure access to live SAP systems and sensitive customer data.
🎯 What Makes This Special
- 🔒 Complete Privacy: Keep sensitive customer data on your machine - no cloud uploads
- 🔄 Live System Access: Direct integration with S/4HANA OData services and ABAP systems
- 📚 Unified SAP Knowledge: Search SAP Help, Community, Notes, and your own systems in one interface
- 🛠️ Real Development Context: Analyze ABAP code, DDIC structures, and live configurations without copy-paste
🛠️ Available MCP Servers
| Server | Purpose | Requirements |
|---|---|---|
| SAP Docs MCP | Documentation & Community search | None (always available) |
| SAP Notes MCP | Official Knowledge Base access | S-User certificate |
| S/4HANA OData MCP | Live system OData services | SAP system credentials |
| ABAP ADT MCP | ABAP source code & structures | SAP development access |
📖 Documentation
- 🚀 Quick Setup Guide - Get running in 10 minutes
- ⚙️ Environment Variables - Complete configuration reference
- 🎯 Use Cases Showcase - Real-world consultant scenarios
- 📋 Comprehensive Guide - Production setup & troubleshooting
- 📁 Complete Documentation Folder - All guides and resources
Perfect for SAP consultants who need to work with customer systems, analyze code, and research solutions while maintaining complete data privacy.
✨ Features
-
🖥️ UI & Experience inspired by ChatGPT with enhanced design and features
-
🤖 AI Model Selection:
- Anthropic (Claude), AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI, OpenAI Responses API (incl. Azure)
- Custom Endpoints: Use any OpenAI-compatible API with LibreChat, no proxy required
- Compatible with Local & Remote AI Providers:
- Ollama, groq, Cohere, Mistral AI, Apple MLX, koboldcpp, together.ai,
- OpenRouter, Helicone, Perplexity, ShuttleAI, Deepseek, Qwen, and more
-
- Secure, Sandboxed Execution in Python, Node.js (JS/TS), Go, C/C++, Java, PHP, Rust, and Fortran
- Seamless File Handling: Upload, process, and download files directly
- No Privacy Concerns: Fully isolated and secure execution
-
🔦 Agents & Tools Integration:
- LibreChat Agents:
- No-Code Custom Assistants: Build specialized, AI-driven helpers
- Agent Marketplace: Discover and deploy community-built agents
- Collaborative Sharing: Share agents with specific users and groups
- Flexible & Extensible: Use MCP Servers, tools, file search, code execution, and more
- Compatible with Custom Endpoints, OpenAI, Azure, Anthropic, AWS Bedrock, Google, Vertex AI, Responses API, and more
- Model Context Protocol (MCP) Support for Tools
- 🏢 SAP MCP Integration: Pre-configured SAP development tools including documentation search, SAP Notes access, S4/HANA OData services, and ABAP system integration. Quick Setup Guide →
- LibreChat Agents:
-
🔍 Web Search:
- Search the internet and retrieve relevant information to enhance your AI context
- Combines search providers, content scrapers, and result rerankers for optimal results
- Customizable Jina Reranking: Configure custom Jina API URLs for reranking services
- Learn More →
-
🪄 Generative UI with Code Artifacts:
- Code Artifacts allow creation of React, HTML, and Mermaid diagrams directly in chat
-
🎨 Image Generation & Editing
- Text-to-image and image-to-image with GPT-Image-1
- Text-to-image with DALL-E (3/2), Stable Diffusion, Flux, or any MCP server
- Produce stunning visuals from prompts or refine existing images with a single instruction
-
💾 Presets & Context Management:
- Create, Save, & Share Custom Presets
- Switch between AI Endpoints and Presets mid-chat
- Edit, Resubmit, and Continue Messages with Conversation branching
- Create and share prompts with specific users and groups
- Fork Messages & Conversations for Advanced Context control
-
💬 Multimodal & File Interactions:
- Upload and analyze images with Claude 3, GPT-4.5, GPT-4o, o1, Llama-Vision, and Gemini 📸
- Chat with Files using Custom Endpoints, OpenAI, Azure, Anthropic, AWS Bedrock, & Google 🗃️
-
🌎 Multilingual UI:
- English, 中文 (简体), 中文 (繁體), العربية, Deutsch, Español, Français, Italiano
- Polski, Português (PT), Português (BR), Русский, 日本語, Svenska, 한국어, Tiếng Việt
- Türkçe, Nederlands, עברית, Català, Čeština, Dansk, Eesti, فارسی
- Suomi, Magyar, Հայերեն, Bahasa Indonesia, ქართული, Latviešu, ไทย, ئۇيغۇرچە
-
🧠 Reasoning UI:
- Dynamic Reasoning UI for Chain-of-Thought/Reasoning AI models like DeepSeek-R1
-
🎨 Customizable Interface:
- Customizable Dropdown & Interface that adapts to both power users and newcomers
-
- Never lose a response: AI responses automatically reconnect and resume if your connection drops
- Multi-Tab & Multi-Device Sync: Open the same chat in multiple tabs or pick up on another device
- Production-Ready: Works from single-server setups to horizontally scaled deployments with Redis
-
🗣️ Speech & Audio:
- Chat hands-free with Speech-to-Text and Text-to-Speech
- Automatically send and play Audio
- Supports OpenAI, Azure OpenAI, and Elevenlabs
-
📥 Import & Export Conversations:
- Import Conversations from LibreChat, ChatGPT, Chatbot UI
- Export conversations as screenshots, markdown, text, json
-
🔍 Search & Discovery:
- Search all messages/conversations
-
👥 Multi-User & Secure Access:
- Multi-User, Secure Authentication with OAuth2, LDAP, & Email Login Support
- Built-in Moderation, and Token spend tools
-
⚙️ Configuration & Deployment:
- Configure Proxy, Reverse Proxy, Docker, & many Deployment options
- Use completely local or deploy on the cloud
-
📖 Open-Source & Community:
- Completely Open-Source & Built in Public
- Community-driven development, support, and feedback
For a thorough review of our features, see our docs here 📚
🪶 All-In-One AI Conversations with LibreChat
LibreChat is a self-hosted AI chat platform that unifies all major AI providers in a single, privacy-focused interface.
Beyond chat, LibreChat provides AI Agents, Model Context Protocol (MCP) support, Artifacts, Code Interpreter, custom actions, conversation search, and enterprise-ready multi-user authentication.
Open source, actively developed, and built for anyone who values control over their AI infrastructure.
🌐 Resources
GitHub Repo:
- RAG API: github.com/danny-avila/rag_api
- Website: github.com/LibreChat-AI/librechat.ai
Other:
- Website: librechat.ai
- Documentation: librechat.ai/docs
- Blog: librechat.ai/blog
📝 Changelog
Keep up with the latest updates by visiting the releases page and notes:
⚠️ Please consult the changelog for breaking changes before updating.
⭐ Star History
✨ Contributions
Contributions, suggestions, bug reports and fixes are welcome!
For new features, components, or extensions, please open an issue and discuss before sending a PR.
If you'd like to help translate LibreChat into your language, we'd love your contribution! Improving our translations not only makes LibreChat more accessible to users around the world but also enhances the overall user experience. Please check out our Translation Guide.
💖 This project exists in its current state thanks to all the people who contribute
🎉 Special Thanks
We thank Locize for their translation management tools that support multiple languages in LibreChat.
History
Features 3, Fixes 8, Other 9
Notes
Changes from v0.7.8-rc1 to v0.7.8.
✨ New Features
- ✨ feat: Enhance form submission for touch screens by @berry-13 in #7198
- 🔍 feat: Additional Tavily API Tool Parameters by @glowforge-opensource in #7232
- 🐋 feat: Add python to Dockerfile for increased MCP compatibility by @technicalpickles in #7270
🔧 Fixes
- 🔧 fix: Google Gemma Support & OpenAI Reasoning Instructions by @danny-avila in #7196
- 🛠️ fix: Conversation Navigation State by @danny-avila in #7210
- 🔄 fix: o-Series Model Regex for System Messages by @danny-avila in #7245
- 🔖 fix: Custom Headers for Initial MCP SSE Connection by @danny-avila in #7246
- 🛡️ fix: Deep Clone
MCPOptionsfor User MCP Connections by @danny-avila in #7247 - 🔄 fix: URL Param Race Condition and File Draft Persistence by @danny-avila in #7257
- 🔄 fix: Assistants Endpoint & Minor Issues by @danny-avila in #7274
- 🔄 fix: Ollama Think Tag Edge Case with Tools by @danny-avila in #7275
⚙️ Other Changes
- 📜 docs: CHANGELOG for release v0.7.8-rc1 by @github-actions[bot] in #7153
- 🔄 refactor: Artifact Visibility Management by @danny-avila in #7181
- 📦 chore: Bump Package Security by @danny-avila in #7183
- 🌿 refactor: Unmount Fork Popover on Hide for Better Performance by @danny-avila in #7189
- 🧰 chore: ESLint configuration to enforce Prettier formatting rules by @mawburn in #7186
- 🎨 style: Improve KaTeX Rendering for LaTeX Equations by @andresgit in #7223
- 📝 docs: Update
.env.exampleGoogle models by @marlonka in #7254 - 💬 refactor: MCP Chat Visibility Option, Google Rates, Remove OpenAPI Plugins by @danny-avila in #7286
- 📜 docs: Unreleased Changelog by @github-actions[bot] in #7214
Features 35, Fixes 36, Other 47
Notes
Changes from v0.7.7 to v0.7.8-rc1.
✨ New Features
- 🔍 feat: Mistral OCR API / Upload Files as Text by @danny-avila in #6274
- 🤖 feat: Support OpenAI Web Search models by @danny-avila in #6313
- 🔗 feat: Agent Chain (Mixture-of-Agents) by @danny-avila in #6374
- ⌛ feat:
initTimeoutfor Slow Starting MCP Servers by @perweij in #6383 - 🚀 feat:
S3Integration for File handling and Image uploads by @rubentalstra in #6142 - 🔒feat: Enable OpenID Auto-Redirect by @leondape in #6066
- 🚀 feat: Integrate
Azure Blob Storagefor file handling and image uploads by @rubentalstra in #6153 - 🚀 feat: Add support for custom
AWSendpoint inS3by @rubentalstra in #6431 - 🚀 feat: Add support for LDAP STARTTLS in LDAP authentication by @rubentalstra in #6438
- 🚀 feat: Refactor schema exports and update package version to 0.0.4 by @rubentalstra in #6455
- 🔼 feat: Add Auto Submit For URL Query Params by @mjaverto in #6440
- 🛠 feat: Enhance Redis Integration, Rate Limiters & Log Headers by @danny-avila in #6462
- 💵 feat: Add Automatic Balance Refill by @rubentalstra in #6452
- 🗣️ feat: add support for gpt-4o-transcribe models by @berry-13 in #6483
- 🎨 feat: UI Refresh for Enhanced UX by @berry-13 in #6346
- 🌍 feat: Add support for Hungarian language localization by @rubentalstra in #6508
- 🚀 feat: Add Gemini 2.5 Token/Context Values, Increase Max Possible Output to 64k by @danny-avila in #6563
- 🚀 feat: Enhance MCP Connections For Multi-User Support by @danny-avila in #6610
- 🚀 feat: Enhance S3 URL Expiry with Refresh; fix: S3 File Deletion by @danny-avila in #6647
- 🚀 feat: enhance UI components and refactor settings by @berry-13 in #6625
- 💬 feat: move TemporaryChat to the Header by @berry-13 in #6646
- 🚀 feat: Use Model Specs + Specific Endpoints, Limit Providers for Agents by @danny-avila in #6650
- 🪙 feat: Sync Balance Config on Login by @danny-avila in #6671
- 🔦 feat: MCP Support for Non-Agent Endpoints by @danny-avila in #6775
- 🗃️ feat: Code Interpreter File Persistence between Sessions by @danny-avila in #6790
- 🖥️ feat: Code Interpreter API for Non-Agent Endpoints by @danny-avila in #6803
- ⚡ feat: Self-hosted Artifacts Static Bundler URL by @danny-avila in #6827
- 🐳 feat: Add Jemalloc and UV to Docker Builds by @danny-avila in #6836
- 🤖 feat: GPT-4.1 by @danny-avila in #6880
- 👋 feat: remove Edge TTS by @berry-13 in #6885
- feat: nav optimization by @berry-13 in #5785
- 🗺️ feat: Add Parameter Location Mapping for OpenAPI actions by @peeeteeer in #6858
- 🤖 feat: Support
o4-miniando3Models by @danny-avila in #6928 - 🎨 feat: OpenAI Image Tools (GPT-Image-1) by @danny-avila in #7079
- 🗓️ feat: Add Special Variables for Prompts & Agents, Prompt UI Improvements by @danny-avila in #7123
🌍 Internationalization
- 🌍 i18n: Add Thai Language Support and Update Translations by @rubentalstra in #6219
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6220
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6240
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6241
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6277
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6414
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6505
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6530
- 🌍 i18n: Add Persian Localization Support by @rubentalstra in #6669
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #6667
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #7126
- 🌍 i18n: Update translation.json with latest translations by @github-actions[bot] in #7148
👐 Accessibility
- 🎨 a11y: Update Model Spec Description Text by @berry-13 in #6294
- 🗑️ a11y: Add Accessible Name to Button for File Attachment Removal by @kangabell in #6709
- ⌨️ a11y: enhance accessibility & visual consistency by @berry-13 in #6866
- 🙌 a11y: Searchbar/Conversations List Focus by @danny-avila in #7096
- 👐 a11y: Improve Fork and SplitText Accessibility by @danny-avila in #7147
🔧 Fixes
- 🐛 fix: Avatar Type Definitions in Agent/Assistant Schemas by @danny-avila in #6235
- 🔧 fix: MeiliSearch Field Error and Patch Incorrect Import by #6210 by @rubentalstra in #6245
- 🔏 fix: Enhance Two-Factor Authentication by @rubentalstra in #6247
- 🐛 fix: Await saveMessage in abortMiddleware to ensure proper execution by @sh4shii in #6248
- 🔧 fix: Axios Proxy Usage And Bump
mongooseby @danny-avila in #6298 - 🔧 fix: comment out MCP servers to resolve service run issues by @KunalScriptz in #6316
- 🔧 fix: Update Token Calculations and Mapping, MCP
envInitialization by @danny-avila in #6406 - 🐞 fix: Agent "Resend" Message Attachments + Source Icon Styling by @danny-avila in #6408
- 🐛 fix: Prevent Crash on Duplicate Message ID by @Odrec in #6392
- 🔐 fix: Invalid Key Length in 2FA Encryption by @rubentalstra in #6432
- 🏗️ fix: Fix Agents Token Spend Race Conditions, Expand Test Coverage by @danny-avila in #6480
- 🔃 fix: Draft Clearing, Claude Titles, Remove Default Vision Max Tokens by @danny-avila in #6501
- 🔧 fix: Update username reference to use user.name in greeting display by @rubentalstra in #6534
- 🔧 fix: S3 Download Stream with Key Extraction and Blob Storage Encoding for Vision by @danny-avila in #6557
- 🔧 fix: Mistral type strictness for
usage& update token values/windows by @danny-avila in #6562 - 🔧 fix: Consolidate Text Parsing and TTS Edge Initialization by @danny-avila in #6582
- 🔧 fix: Ensure continuation in image processing on base64 encoding from Blob Storage by @danny-avila in #6619
- ✉️ fix: Fallback For User Name In Email Templates by @danny-avila in #6620
- 🔧 fix: Azure Blob Integration and File Source References by @rubentalstra in #6575
- 🐛 fix: Safeguard against undefined addedEndpoints by @wipash in #6654
- 🤖 fix: Gemini 2.5 Vision Support by @danny-avila in #6663
- 🔄 fix: Avatar & Error Handling Enhancements by @danny-avila in #6687
- 🔧 fix: Chat Middleware, Zod Conversion, Auto-Save and S3 URL Refresh by @danny-avila in #6720
- 🔧 fix: Agent Capability Checks & DocumentDB Compatibility for Agent Resource Removal by @danny-avila in #6726
- 🔄 fix: Improve audio MIME type detection and handling by @berry-13 in #6707
- 🪺 fix: Update Role Handling due to New Schema Shape by @danny-avila in #6774
- 🗨️ fix: Show ModelSpec Greeting by @berry-13 in #6770
- 🔧 fix: Keyv and Proxy Issues, and More Memory Optimizations by @danny-avila in #6867
- ✨ fix: Implement dynamic text sizing for greeting and name display by @berry-13 in #6833
- 📝 fix: Mistral OCR Image Support and Azure Agent Titles by @danny-avila in #6901
- 📢 fix: Invalid
engineTTSand Conversation State on Navigation by @berry-13 in #6904 - 🛠️ fix: Improve Accessibility and Display of Conversation Menu by @danny-avila in #6913
- 🔧 fix: Agent Resource Form, Convo Menu Style, Ensure Draft Clears on Submission by @danny-avila in #6925
- 🔀 fix: MCP Improvements, Auto-Save Drafts, Artifact Markup by @danny-avila in #7040
- 🐋 fix: Improve Deepseek Compatbility by @danny-avila in #7132
- 🐙 fix: Add Redis Ping Interval to Prevent Connection Drops by @peeeteeer in #7127
⚙️ Other Changes
- 📦 refactor: Move DB Models to
@librechat/data-schemasby @rubentalstra in #6210 - 📦 chore: Patch
axiosto address CVE-2025-27152 by @danny-avila in #6222 - ⚠️ refactor: Use Error Content Part Instead Of Throwing Error for Agents by @danny-avila in #6262
- 🏃♂️ refactor: Improve Agent Run Context & Misc. Changes by @danny-avila in #6448
- 📝 docs: librechat.example.yaml by @ineiti in #6442
- 🏃♂️ refactor: More Agent Context Improvements during Run by @danny-avila in #6477
- 🔃 refactor: Allow streaming for
o1models by @danny-avila in #6509 - 🔧 chore:
VitePlugin Upgrades & Config Optimizations by @rubentalstra in #6547 - 🔧 refactor: Consolidate Logging, Model Selection & Actions Optimizations, Minor Fixes by @danny-avila in #6553
- 🎨 style: Address Minor UI Refresh Issues by @berry-13 in #6552
- 🔧 refactor: Enhance Model & Endpoint Configurations with Global Indicators 🌍 by @berry-13 in #6578
- 💬 style: Chat UI, Greeting, and Message adjustments by @berry-13 in #6612
- ⚡ refactor: DocumentDB Compatibility for Balance Updates by @danny-avila in #6673
- 🧹 chore: Update ESLint rules for React hooks by @rubentalstra in #6685
- 🪙 chore: Update Gemini Pricing by @RedwindA in #6731
- 🪺 refactor: Nest Permission fields for Roles by @rubentalstra in #6487
- 📦 chore: Update
caniuse-litedependency to version 1.0.30001706 by @rubentalstra in #6482 - ⚙️ refactor: OAuth Flow Signal, Type Safety, Tool Progress & Updated Packages by @danny-avila in #6752
- 📦 chore: bump vite from 6.2.3 to 6.2.5 by @dependabot[bot] in #6745
- 💾 chore: Enhance Local Storage Handling and Update MCP SDK by @danny-avila in #6809
- 🤖 refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 by @danny-avila in #6850
- 💾 refactor: Enhance Memory In Image Encodings & Client Disposal by @danny-avila in #6852
- 🔁 refactor: Token Event Handler and Standardize
maxTokensKey by @danny-avila in #6886 - 🔍 refactor: Search & Message Retrieval by @berry-13 in #6903
- 🎨 style: standardize dropdown styling & fix z-Index layering by @berry-13 in #6939
- 📙 docs: CONTRIBUTING.md by @dblock in #6831
- 🧭 refactor: Modernize Nav/Header by @danny-avila in #7094
- 🪶 refactor: Chat Input Focus for Conversation Navigations & ChatForm Optimizations by @danny-avila in #7100
- 🔃 refactor: Streamline Navigation, Message Loading UX by @danny-avila in #7118
- 📜 docs: Unreleased changelog by @github-actions[bot] in #6265
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
Show 42 more
History in the atlas
- First seen.
For your agent
- Ref
artifact:marianfoo-local-llm-client-for-sap-consultants-librechat- JSON
- /artifacts/marianfoo-local-llm-client-for-sap-consultants-librechat.json
- MCP
- Connecting an agent