{"ref":"artifact:marianfoo-local-llm-client-for-sap-consultants-librechat","page":"/artifacts/marianfoo-local-llm-client-for-sap-consultants-librechat","json":"/artifacts/marianfoo-local-llm-client-for-sap-consultants-librechat.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"marianfoo-local-llm-client-for-sap-consultants-librechat","name":"local-llm-client-for-sap-consultants-librechat","artifact_type":"sample","ecosystem":"abap","domain":"ai-and-agents","origin_ring":"independent","use_as":"starting-point","description":{"one_line":"A fork of [LibreChat](https://github.com/danny-avila/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.","short":"LibreChat fork with four SAP MCP servers preconfigured","what_it_solves":"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."},"links":{"repo":"https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat","title":"local-llm-client-for-sap-consultants-librechat — README","checked":"2026-10-18","quote":"transform it into a **supercharged, privacy-focused AI assistant for SAP consultants**."}]}},"identity":{"license":"MIT"},"source_available":true,"demonstrates":["capability:agent-code-access"],"maintainers":["actor:marianfoo"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:github-orgs","channel":"marianfoo"}],"first_seen":"2026-09-25"},"contributors":["actor:abhishekag03","actor:ablizorukov","actor:adaptivegarage","actor:alessiopelliccione","actor:alfo-dev","actor:anthony-jhoiro","actor:arthurian","actor:atefbellaaj-at-slalom","actor:berry-13","actor:bhat-ganesh","actor:busla","actor:calkeo","actor:catmeme","actor:chrisdoyle","actor:constanttime","actor:danny-avila","actor:darthhexx","actor:dlew","actor:dobernike","actor:dustinhealy","actor:educg550","actor:ethanlaj","actor:fahleen1","actor:flyinggrizzly","actor:gerald-m","actor:h31nz3l","actor:hellojaccc","actor:ineiti","actor:jannikmaierhoefer","actor:joelhirzel","actor:juliettech13","actor:karthidreamr","actor:kenzaelk98","actor:leondape","actor:lurkercha","actor:marianfoo","actor:maxesse","actor:mdutkin","actor:michnovka","actor:mludvig","actor:mohamedmagdy17593","actor:nalinnair","actor:nealedj","actor:nhtruong","actor:nk-rodrigues","actor:odrec","actor:owengo","actor:papasaidfine","actor:paulustm","actor:pedrojreis","actor:peeeteeer","actor:poornapragnyah","actor:risingorange","actor:rossbg","actor:ruggishop","actor:samuelpath","actor:saneroen","actor:seung-myung","actor:sharplu","actor:shtayeb","actor:spectralone","actor:unixfox","actor:usnavy13","actor:whammyleaf","actor:wipash","actor:ynori7","actor:zihaozhou"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"67 contributors"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-02, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"poor","evidence":"Publish `librechat-data-provider` to NPM failure, 2025-10-28"}],"practice":[{"label":"Tests","tier":"good","evidence":"344 test files"},{"label":"Docs","tier":"good","evidence":"README 13 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":21,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":21,"forks":9,"open_issues":0,"archived":false,"pushed_at":"2026-02-25","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":67,"tree_truncated":false,"test_files":344,"workflows":22,"other_ci":false,"readme_bytes":13013,"docs_files":0,"changelog":true,"license_file":true,"dts_files":2,"first_commit":"2022-10-20","last_commit":"2026-02-25","commits":3773,"ci_status":"failure","ci_run_at":"2025-10-28","ci_workflow":"Publish `librechat-data-provider` to NPM","ci_event":"push","readme_path":"README.md","readme_sha":"285ebd84c5458a98e7f9b7aeff0313c430c910d6","created_at":"2025-10-28T10:00:17Z","contributors_since":"2025-10-28","open_prs":0,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat/blob/main/CHANGELOG.md"},"format":"headings","releases":[{"version":"0.7.8","heading":"[v0.7.8] -","url":"https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat/blob/main/CHANGELOG.md#v078--","sections":[{"kind":"feature","heading":"✨ New Features","items":3},{"kind":"fix","heading":"🔧 Fixes","items":8},{"kind":"other","heading":"⚙️ Other Changes","items":9}],"hash":"ff9a2afc9defe2cd"},{"version":"0.7.8-rc1","heading":"[v0.7.8-rc1] -","url":"https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat/blob/main/CHANGELOG.md#v078-rc1--","sections":[{"kind":"feature","heading":"✨ New Features","items":35},{"kind":"other","heading":"🌍 Internationalization","items":12},{"kind":"other","heading":"👐 Accessibility","items":5},{"kind":"fix","heading":"🔧 Fixes","items":36},{"kind":"other","heading":"⚙️ Other Changes","items":30}],"hash":"97d0f81964789348"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"contributors":[{"ref":"actor:juliettech13","name":"_juliettech","json":"/actors/juliettech13.json"},{"ref":"actor:abhishekag03","name":"Abhishek Agarwal","json":"/actors/abhishekag03.json"},{"ref":"actor:adaptivegarage","name":"Adaptive Garage","json":"/actors/adaptivegarage.json"},{"ref":"actor:alessiopelliccione","name":"Alessio Pelliccione","json":"/actors/alessiopelliccione.json"},{"ref":"actor:alfo-dev","name":"alfo-dev","json":"/actors/alfo-dev.json"},{"ref":"actor:ablizorukov","name":"Andrei Blizorukov","json":"/actors/ablizorukov.json"},{"ref":"actor:anthony-jhoiro","name":"Anthony Quéré","json":"/actors/anthony-jhoiro.json"},{"ref":"actor:arthurian","name":"Arthur Barrett","json":"/actors/arthurian.json"},{"ref":"actor:spectralone","name":"Artyom Bogachenko","json":"/actors/spectralone.json"},{"ref":"actor:atefbellaaj-at-slalom","name":"Atef Bellaaj","json":"/actors/atefbellaaj-at-slalom.json"},{"ref":"actor:calkeo","name":"Callum Keogan","json":"/actors/calkeo.json"},{"ref":"actor:catmeme","name":"catmeme","json":"/actors/catmeme.json"},{"ref":"actor:lurkercha","name":"Cha","json":"/actors/lurkercha.json"},{"ref":"actor:saneroen","name":"Chiranjeevisantosh Madugundi","json":"/actors/saneroen.json"},{"ref":"actor:dlew","name":"Dan Lew","json":"/actors/dlew.json"},{"ref":"actor:paulustm","name":"Daniel Paulus","json":"/actors/paulustm.json"},{"ref":"actor:danny-avila","name":"Danny Avila","json":"/actors/danny-avila.json"},{"ref":"actor:nealedj","name":"David Neale","json":"/actors/nealedj.json"},{"ref":"actor:darthhexx","name":"David Newman","json":"/actors/darthhexx.json"},{"ref":"actor:chrisdoyle","name":"Doyle","json":"/actors/chrisdoyle.json"},{"ref":"actor:dustinhealy","name":"Dustin Healy","json":"/actors/dustinhealy.json"},{"ref":"actor:educg550","name":"Eduardo Cruz Guedes","json":"/actors/educg550.json"},{"ref":"actor:unixfox","name":"Émilien (perso)","json":"/actors/unixfox.json"},{"ref":"actor:ethanlaj","name":"ethanlaj","json":"/actors/ethanlaj.json"},{"ref":"actor:fahleen1","name":"Fahleen Arif","json":"/actors/fahleen1.json"},{"ref":"actor:ruggishop","name":"Federico Ruggi","json":"/actors/ruggishop.json"},{"ref":"actor:bhat-ganesh","name":"Ganesh Bhat","json":"/actors/bhat-ganesh.json"},{"ref":"actor:gerald-m","name":"Gerald M.","json":"/actors/gerald-m.json"},{"ref":"actor:hellojaccc","name":"hellojaccc","json":"/actors/hellojaccc.json"},{"ref":"actor:leondape","name":"heptapod","json":"/actors/leondape.json"},{"ref":"actor:risingorange","name":"Jakub Fidler","json":"/actors/risingorange.json"},{"ref":"actor:jannikmaierhoefer","name":"Jannik Maierhöfer","json":"/actors/jannikmaierhoefer.json"},{"ref":"actor:joelhirzel","name":"Joel Hirzel","json":"/actors/joelhirzel.json"},{"ref":"actor:busla","name":"Jón Levy","json":"/actors/busla.json"},{"ref":"actor:usnavy13","name":"Joseph Licata","json":"/actors/usnavy13.json"},{"ref":"actor:karthidreamr","name":"Karthikeyan N","json":"/actors/karthidreamr.json"},{"ref":"actor:kenzaelk98","name":"kenzaelk98","json":"/actors/kenzaelk98.json"},{"ref":"actor:ineiti","name":"Linus Gasser","json":"/actors/ineiti.json"},{"ref":"actor:berry-13","name":"Marco Beretta","json":"/actors/berry-13.json"},{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"},{"ref":"actor:maxesse","name":"Max Sanna","json":"/actors/maxesse.json"},{"ref":"actor:mdutkin","name":"Maxim","json":"/actors/mdutkin.json"},{"ref":"actor:mludvig","name":"Michael Ludvig","json":"/actors/mludvig.json"},{"ref":"actor:michnovka","name":"michnovka","json":"/actors/michnovka.json"},{"ref":"actor:mohamedmagdy17593","name":"mohamed magdy","json":"/actors/mohamedmagdy17593.json"},{"ref":"actor:sharplu","name":"MyGitHub","json":"/actors/sharplu.json"},{"ref":"actor:nalinnair","name":"NalinNair","json":"/actors/nalinnair.json"},{"ref":"actor:nk-rodrigues","name":"NK","json":"/actors/nk-rodrigues.json"},{"ref":"actor:odrec","name":"Odrec","json":"/actors/odrec.json"},{"ref":"actor:owengo","name":"owengo","json":"/actors/owengo.json"},{"ref":"actor:papasaidfine","name":"papasaidfine","json":"/actors/papasaidfine.json"},{"ref":"actor:dobernike","name":"Pavel Fediushin","json":"/actors/dobernike.json"},{"ref":"actor:pedrojreis","name":"Pedro Reis","json":"/actors/pedrojreis.json"},{"ref":"actor:peeeteeer","name":"Peter","json":"/actors/peeeteeer.json"},{"ref":"actor:poornapragnyah","name":"poornapragnyah","json":"/actors/poornapragnyah.json"},{"ref":"actor:constanttime","name":"Rakshit","json":"/actors/constanttime.json"},{"ref":"actor:h31nz3l","name":"Rene Heijdens","json":"/actors/h31nz3l.json"},{"ref":"actor:rossbg","name":"rossbg","json":"/actors/rossbg.json"},{"ref":"actor:samuelpath","name":"Samuel Path","json":"/actors/samuelpath.json"},{"ref":"actor:ynori7","name":"Scott Finlay","json":"/actors/ynori7.json"},{"ref":"actor:flyinggrizzly","name":"Sean DMR","json":"/actors/flyinggrizzly.json"},{"ref":"actor:wipash","name":"Sean McGrath","json":"/actors/wipash.json"},{"ref":"actor:seung-myung","name":"Seung Hyun Myung","json":"/actors/seung-myung.json"},{"ref":"actor:shtayeb","name":"Shahryar Tayeb","json":"/actors/shtayeb.json"},{"ref":"actor:nhtruong","name":"Theo N. Truong","json":"/actors/nhtruong.json"},{"ref":"actor:whammyleaf","name":"WhammyLeaf","json":"/actors/whammyleaf.json"},{"ref":"actor:zihaozhou","name":"Zihao Zhou","json":"/actors/zihaozhou.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}