{"ref":"artifact:marianfoo-mcp-sap-docs","page":"/artifacts/marianfoo-mcp-sap-docs","json":"/artifacts/marianfoo-mcp-sap-docs.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"marianfoo-mcp-sap-docs","name":"mcp-sap-docs","artifact_type":"mcp-server","ecosystem":"cap","serves_ecosystems":["abap","ui5","btp"],"domain":"ai-and-agents","secondary_domains":["learning-and-reference"],"origin_ring":"independent","description":{"one_line":"An MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion.","short":"MCP server searching seventeen SAP documentation repositories","what_it_solves":"An agent asked an SAP question answers from training data unless something puts the documentation in front of it. This clones the documentation rather than scraping it: seventeen repositories carried as git submodules — ABAP keyword documentation in standard and cloud variants, ABAP cheat sheets and RAP tutorials, capire, OpenUI5, Cloud SDK, the SAP style guides, the BTP Terraform provider — indexed at build time into a SQLite file holding both an FTS5 keyword index and precomputed all-MiniLM-L6-v2 embeddings. `search` fuses the two rankings with reciprocal rank fusion and returns document ids; `fetch` returns the text behind one. Three online sources sit on top and are on by default — SAP Help, SAP Community through the Khoros LiQL API, and Software Heroes — and `includeOnline=false`, or a container run with `--network none`, removes them. Beside search it carries a version axis: `abap_feature_matrix` reports whether an ABAP feature is available from 7.40 to LATEST, and `ui5_version_diff` lists FEATURE, FIX and DEPRECATED entries between UI5 versions. One codebase ships two profiles, `sap-docs` and `abap`, selected by the `MCP_VARIANT` environment variable or an `.mcp-variant` file; the ABAP profile adds `abap_lint`. Local stdio is the default, and both profiles also run as streamable HTTP and are published as public read-only endpoints on the maintainer's own domain.","when_not_to_use":"It reads documentation, never a system: nothing in it opens a package.json, a CDS model or an ABAP client, so a question about what your own project does has to be answered elsewhere. The offline half is only as fresh as the submodules the last build pinned, and the index answers where something is written down rather than which of two packages fits a task."},"links":{"repo":"https://github.com/marianfoo/mcp-sap-docs"},"identity":{"license":"Apache-2.0"},"maintainers":["actor:marianfoo"],"compat":{"runtimes":["node"],"deployment":["cf","local"]},"provides":[{"capability":"capability:documentation","what_it_does":"Packages seventeen cloned documentation repositories as one index an agent can call — hybrid BM25 and embedding retrieval fused by reciprocal rank fusion in a prebuilt SQLite file, with SAP Help, SAP Community and Software Heroes queried live beside it.","sources":[{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-09","quote":"Hybrid BM25 + Semantic (embedding) search"}]}],"provenance":{"discovered_via":[{"source":"source:github","channel":"marianfoo"}],"first_seen":"2026-09-09"},"history":[{"date":"2026-09-09","field":"entry","from":null,"to":"created","reason":"Named in docs/NEIGHBOURS.md §3.1 as a project of the bestofcapjs author but never entered. It is a documentation retrieval server, not an index of options — the complement posture the same section assigns ARC-1, and hard rule 5 makes it exist here only as an attached entry."},{"date":"2026-09-11","field":"description.one_line, description.what_it_solves, provides[0].what_it_does","from":null,"to":"corrected against the README","reason":"Corrected against the README: its offline-sources table lists seventeen repositories, abap-docs-standard through wdi5."}],"type_properties":{"runs":{"value":["vendor-hosted","central-server"],"sources":[{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"`https://mcp-abap.marianzeis.de/mcp`"},{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"For BTP CF, the recommended `sap-docs` path is to deploy the maintained"}]},"transports":{"value":["stdio","http"],"sources":[{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"# MCP stdio"},{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"# MCP streamable HTTP"}]},"read_only":{"value":true,"source":{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"No API key or login required — the server is public and read-only."}},"guardrails":[{"source":{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"`includeOnline=false` in each `search` request"}},{"source":{"url":"https://github.com/marianfoo/mcp-sap-docs","title":"mcp-sap-docs — README","checked":"2026-09-11","quote":"With `--network none`, online fetches are impossible by runtime isolation."}}]},"drafted_with_ai":true,"contributors":["actor:actions-user","actor:geert-janklaps","actor:jkelonen","actor:juriz889","actor:kts982","actor:marcxgambit","actor:marianfoo","actor:mbtools"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"13 contributors"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"good","evidence":"Release Please green, 2026-10-23"}],"practice":[{"label":"Tests","tier":"good","evidence":"82 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 36 pages, README 17 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":247,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","majors":{},"license":null,"first_release":null,"last_release":null,"releases":0,"cadence_days":null,"maintainers":null,"repository":null,"peer_cds":null,"test_script":false,"types":false,"downloads_weekly":null,"stars":247,"forks":50,"open_issues":1,"archived":false,"pushed_at":"2026-10-23","license_spdx":"Apache-2.0","org_owned":false,"default_branch":"main","contributors":13,"tree_truncated":false,"test_files":82,"workflows":6,"other_ci":false,"readme_bytes":17747,"docs_files":36,"changelog":true,"license_file":true,"dts_files":3,"ci_status":"success","ci_run_at":"2026-10-23","ci_workflow":"Release Please","ci_event":"push","readme_path":"README.md","readme_sha":"5a6fffaec90c4a30b7790393b42978aae570efb3","repository_directory":null,"dependencies":0,"node_engine":null,"downloads_monthly":null,"created_at":"2025-06-12T19:35:12Z","open_prs":1,"first_commit":"2025-06-12","last_commit":"2026-10-23","commits":220,"repo_read":"2026-10-25"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md"},"format":"conventional","releases":[{"version":"0.3.64","date":"2026-10-23","date_source":"heading","heading":"0.3.64 (2026-10-23)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0364-2026-10-23","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"2e239e4a08561c39"},{"version":"0.3.63","date":"2026-10-19","date_source":"heading","heading":"0.3.63 (2026-10-19)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0363-2026-10-19","sections":[{"kind":"feature","heading":"Features","items":1}],"hash":"1cdec83ca51d5e02"},{"version":"0.3.62","date":"2026-10-18","date_source":"heading","heading":"0.3.62 (2026-10-18)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0362-2026-10-18","sections":[{"kind":"fix","heading":"Bug Fixes","items":2}],"hash":"4b52c740f217a77a"},{"version":"0.3.61","date":"2026-10-18","date_source":"heading","heading":"0.3.61 (2026-10-18)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0361-2026-10-18","sections":[{"kind":"fix","heading":"Bug Fixes","items":2}],"hash":"a1182d9cb851f2ff"},{"version":"0.3.60","date":"2026-10-18","date_source":"heading","heading":"0.3.60 (2026-10-18)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0360-2026-10-18","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"635000f892f9539c"},{"version":"0.3.59","date":"2026-10-17","date_source":"heading","heading":"0.3.59 (2026-10-17)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0359-2026-10-17","sections":[{"kind":"feature","heading":"Features","items":2}],"hash":"105f2fdacb2e8153"},{"version":"0.3.58","date":"2026-10-17","date_source":"heading","heading":"0.3.58 (2026-10-17)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0358-2026-10-17","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"26d29d384e151976"},{"version":"0.3.57","date":"2026-10-14","date_source":"heading","heading":"0.3.57 (2026-10-14)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0357-2026-10-14","sections":[{"kind":"fix","heading":"Bug Fixes","items":3}],"hash":"75f54b6bac2b60ad"},{"version":"0.3.56","date":"2026-10-14","date_source":"heading","heading":"0.3.56 (2026-10-14)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0356-2026-10-14","sections":[{"kind":"fix","heading":"Bug Fixes","items":3}],"hash":"7284578f4644ead6"},{"version":"0.3.55","date":"2026-09-09","date_source":"heading","heading":"0.3.55 (2026-09-09)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0355-2026-09-09","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"d30666929cb5f77e"},{"version":"0.3.54","date":"2026-09-05","date_source":"heading","heading":"0.3.54 (2026-09-05)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0354-2026-09-05","sections":[{"kind":"performance","heading":"Performance Improvements","items":1}],"hash":"d08229683029ac72"},{"version":"0.3.53","date":"2026-08-18","date_source":"heading","heading":"0.3.53 (2026-08-18)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0353-2026-08-18","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"33b1f154cb6ba4a0"},{"version":"0.3.52","date":"2026-07-22","date_source":"heading","heading":"0.3.52 (2026-07-22)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0352-2026-07-22","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"b0ae500df3737583"},{"version":"0.3.51","date":"2026-07-10","date_source":"heading","heading":"0.3.51 (2026-07-10)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0351-2026-07-10","sections":[{"kind":"feature","heading":"Features","items":1},{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"b5d018c6df78cf17"},{"version":"0.3.50","date":"2026-06-24","date_source":"heading","heading":"0.3.50 (2026-06-24)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0350-2026-06-24","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"81d802ea54d97284"},{"version":"0.3.49","date":"2026-06-24","date_source":"heading","heading":"0.3.49 (2026-06-24)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0349-2026-06-24","sections":[{"kind":"feature","heading":"Features","items":2},{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"5fe31f3fb66a07dc"},{"version":"0.3.48","date":"2026-06-16","date_source":"heading","heading":"0.3.48 (2026-06-16)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0348-2026-06-16","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"21121e85851bdac2"},{"version":"0.3.47","date":"2026-06-16","date_source":"heading","heading":"0.3.47 (2026-06-16)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0347-2026-06-16","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"ea982bbb2e9944ce"},{"version":"0.3.46","date":"2026-06-16","date_source":"heading","heading":"0.3.46 (2026-06-16)","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0346-2026-06-16","sections":[{"kind":"feature","heading":"Features","items":3},{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"f9cb3fca60e8f48b"},{"version":"0.3.32","heading":"0.3.32","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0332","sections":[{"kind":"feature","heading":"Features","items":2},{"kind":"other","heading":"Miscellaneous","items":1}],"hash":"38e4c48bd153c10c"},{"version":"0.3.31","heading":"0.3.31","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0331","sections":[{"kind":"feature","heading":"Features","items":3}],"hash":"e9f3e45c8d25bf4f"},{"version":"0.3.30","heading":"0.3.30","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0330","sections":[{"kind":"feature","heading":"Features","items":1},{"kind":"other","heading":"Miscellaneous","items":2}],"hash":"e59f6eea6a96584c"},{"version":"0.3.29","heading":"0.3.29","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0329","sections":[{"kind":"feature","heading":"Features","items":1}],"hash":"932df9612e23ca38"},{"version":"0.3.28","heading":"0.3.28","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0328","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"2a584b091873f216"},{"version":"0.3.27","heading":"0.3.27","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0327","sections":[{"kind":"feature","heading":"Features","items":1},{"kind":"other","heading":"Miscellaneous","items":2}],"hash":"1be9364ddf866ff8"},{"version":"0.3.26","heading":"0.3.26","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0326","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"776bd19a6264fffc"},{"version":"0.3.25","heading":"0.3.25","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0325","sections":[{"kind":"feature","heading":"Features","items":2},{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"c934f1e2f6143247"},{"version":"0.3.24","heading":"0.3.24","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0324","sections":[{"kind":"feature","heading":"Features","items":1},{"kind":"other","heading":"Tests","items":1}],"hash":"d0fbd8cc66b3165c"},{"version":"0.3.23","heading":"0.3.23","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0323","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"028d2d845c2d0441"},{"version":"0.3.22","heading":"0.3.22","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0322","sections":[{"kind":"fix","heading":"Bug Fixes","items":1},{"kind":"other","heading":"Miscellaneous","items":1}],"hash":"c8a9322657d3f71a"},{"version":"0.3.21","heading":"0.3.21","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0321","sections":[{"kind":"fix","heading":"Bug Fixes","items":1},{"kind":"other","heading":"Miscellaneous","items":2}],"hash":"d9e84287c17240d5"},{"version":"0.3.20","heading":"0.3.20","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0320","sections":[{"kind":"feature","heading":"Features","items":1}],"hash":"9faa9d7eb58425a4"},{"version":"0.3.19","heading":"0.3.19","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0319","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"52283d0806375824"},{"version":"0.3.18","heading":"0.3.18","url":"https://github.com/marianfoo/mcp-sap-docs/blob/main/CHANGELOG.md#0318","sections":[{"kind":"feature","heading":"Features","items":1}],"hash":"58ed4038d7f5dbd7"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"contributors":[{"ref":"actor:actions-user","name":"actions-user","json":"/actors/actions-user.json"},{"ref":"actor:geert-janklaps","name":"Geert-Jan Klaps","json":"/actors/geert-janklaps.json"},{"ref":"actor:jkelonen","name":"Jere Kelonen","json":"/actors/jkelonen.json"},{"ref":"actor:juriz889","name":"Juri Zeisler","json":"/actors/juriz889.json"},{"ref":"actor:kts982","name":"Kostas T.","json":"/actors/kts982.json"},{"ref":"actor:marcxgambit","name":"M̷̱̥̳͔̖̠̙͈̫͕͔̳͉̱̣̭̮̠̰̄͊̒̈͛͗̈̇͆͗͆͋̾̋̅ͅͅẠ̴̡̬̭͓̟̠̣̤̓̽͛̋̌̆̆̔́̊̋́͜Ŕ̶͈̹̯̹͈̠̮̰̓̈́̐̊͐̕̕͝C̷̨̡̖̱̭͉̞̗̳͈̩͚̏͛̓̃͂͌̀̆͊̅̃̒̄͐̿̽̚͝","json":"/actors/marcxgambit.json"},{"ref":"actor:mbtools","name":"Marc Bernard","json":"/actors/mbtools.json"},{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"explained_by":[{"ref":"content:devtoberfest-2026-ai-assisted-sap-development-with-mcp","name":"AI-assisted SAP development with MCP","json":"/content/devtoberfest-2026-ai-assisted-sap-development-with-mcp.json"},{"ref":"content:before-you-upgrade-s4hana-static-ui5-checks-with-mcp","name":"Before You Upgrade S/4HANA: Static UI5 Checks with MCP","json":"/content/before-you-upgrade-s4hana-static-ui5-checks-with-mcp.json"},{"ref":"content:how-i-use-ai-for-development-and-why-context-matters","name":"How I Use AI for Development and Why Context Matters","json":"/content/how-i-use-ai-for-development-and-why-context-matters.json"},{"ref":"content:building-an-enterprise-ready-sap-ai-agent-with-open-source","name":"Building an Enterprise-Ready SAP AI Agent with Open Source","json":"/content/building-an-enterprise-ready-sap-ai-agent-with-open-source.json"},{"ref":"content:finally-an-mcp-server-for-abap","name":"Finally: An MCP Server for ABAP","json":"/content/finally-an-mcp-server-for-abap.json"}],"alternative_to_this":[],"needed_by":[{"ref":"artifact:arc-mcp-arc-1-skills","name":"ARC-1 Skills","json":"/artifacts/arc-mcp-arc-1-skills.json"},{"ref":"artifact:coveles-claude-abap-dev","name":"claude-abap-dev","json":"/artifacts/coveles-claude-abap-dev.json","requirement":"conditional","role":"documentation","condition":"the clean-core-check skill is used"},{"ref":"artifact:marianfoo-sap-api-policy-skill","name":"SAP API Policy Evidence Skill","json":"/artifacts/marianfoo-sap-api-policy-skill.json","requirement":"conditional","role":"evidence-source","condition":"the assessment rests on SAP Help, Architecture Center or released-object status"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}