{"ref":"artifact:markwury168-sap-mcp","page":"/artifacts/markwury168-sap-mcp","json":"/artifacts/markwury168-sap-mcp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"markwury168-sap-mcp","name":"MarkWuRY168/SAP_MCP","artifact_type":"mcp-server","ecosystem":"abap","domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"Publishes SAP system functions as MCP tools from configuration tables held inside the SAP system, so adding a tool is a configuration change rather than a code change.","short":"MCP server publishing SAP functions as tools from config tables","what_it_solves":"The inversion is the point: rather than a fixed tool set decided by the server's author, the tool list lives in configuration tables in the SAP system, and the server reads it. Deploy once and extend by configuring — a shape that suits a team exposing its own custom transactions and function modules rather than the standard surface everything else here covers. A FastAPI service with a web management interface for service status, logs, port conflicts and the configuration itself, and documentation in Chinese, Japanese and English.","when_not_to_use":"What it exposes is whatever somebody put in the configuration table, which moves the governance question inside the SAP system and out of the server — an advantage if that table is controlled and a hazard if it is not. The web management interface is a second surface to secure alongside the MCP one."},"links":{"repo":"https://github.com/MarkWuRY168/SAP_MCP"},"identity":{"license":"MIT"},"provides":[{"capability":"capability:mcp-servers","what_it_does":"Makes the tool list configuration rather than code — the SAP system holds the table that decides what is published, so a team's own functions become tools without the server changing.","sources":[{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"SAP MCP Server — README","checked":"2026-09-10","quote":"Manage tool lists through configuration tables in SAP system without needing to update code each time"}]}],"provenance":{"discovered_via":[{"source":"source:sap-ai-mcp-servers"}],"first_seen":"2026-09-10"},"history":[{"date":"2026-09-10","field":"entry","from":null,"to":"created","reason":"Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README. Filed on the BTP door because there is no door for the SAP product it fronts and hard rule 9 allows one — the same strain recorded on the LeanIX entries."}],"type_properties":{"runs":{"value":["local-process"],"sources":[{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"**MCP Server**: http://localhost:6688/mcp"}]},"transports":{"value":["http"],"sources":[{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"**MCP Server**: http://localhost:6688/mcp"}]},"auth":{"value":["basic"],"sources":[{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"SAP system configuration (Base URL, Client ID, username, password, timeout)"}]},"guardrails":[{"source":{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"Manage tool lists through configuration tables in SAP system without needing to update code each time"}},{"source":{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"Configuration files added to `.gitignore`, will not be committed to version control"}},{"source":{"url":"https://github.com/MarkWuRY168/SAP_MCP","title":"MarkWuRY168/SAP_MCP — README","checked":"2026-09-11","quote":"Support configuring sensitive information through environment variables"}}]},"drafted_with_ai":true,"maintainers":["actor:markwury168"],"contributors":["actor:markwury168"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-03, 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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 4 pages, README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":2,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-03-11","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":1,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":3365,"docs_files":4,"changelog":false,"license_file":true,"dts_files":0,"readme_path":"README.MD","readme_sha":"ba3aa05f3e44214ffa4839036673066b92215607","repo":"not reachable","unreachable_since":"2026-10-20","unreachable_crawls":3},"edges":{"maintainers":[{"ref":"actor:markwury168","name":"MarkWuRY168","json":"/actors/markwury168.json"}],"contributors":[{"ref":"actor:markwury168","name":"MarkWuRY168","json":"/actors/markwury168.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}