{"ref":"artifact:arc-mcp-arc-1-lsp","page":"/artifacts/arc-mcp-arc-1-lsp","json":"/artifacts/arc-mcp-arc-1-lsp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"arc-mcp-arc-1-lsp","name":"arc-1-lsp","artifact_type":"mcp-server","ecosystem":"abap","flavors":[{"key":"abap-cloud","source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-mcp/arc-1-lsp — README","checked":"2026-09-13","quote":"**Modern ABAP-Cloud types only** (class, interface, CDS, behavior def, service def/binding, …)"}}],"domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"An edition of [ARC-1](artifact:arc-mcp-arc-1) that hands every ADT interaction to SAP's own embedded adt-ls language server instead of a hand-rolled HTTP client.","short":"Edition of ARC-1 that runs ADT calls through adt-ls","what_it_solves":"The split is the design: arc-1-lsp owns the MCP front end, authentication and scopes, write safety and orchestration, and `adt-ls` — SAP's language server, the headless core of the Eclipse tooling — owns CSRF, locking, XML, activation and transports, everything that is system-specific and easy to get subtly wrong. Thirty-nine tools, including LSP code intelligence such as hover, ATC and ABAP Unit with coverage, a create-edit-activate-test-delete authoring loop, RAP generation, run-application and service-binding publish. Runs locally over stdio or as a Docker application on BTP Cloud Foundry.","when_not_to_use":"Single-tenant today, one technical user, with per-user principal propagation on the roadmap — so a shared deployment cannot yet act as the developer who asked. The sibling edition [ARC-1](artifact:arc-mcp-arc-1) speaks ADT directly if you would rather not depend on the language server."},"links":{"npm":"https://www.npmjs.com/package/@arc-mcp/arc-1-lsp","repo":"https://github.com/arc-mcp/arc-1-lsp"},"maintainers":["actor:arc-mcp","actor:marianfoo"],"alternative_to":["artifact:arc-mcp-arc-1"],"compat":{"runtimes":["node"],"deployment":["cf","local"]},"provides":[{"capability":"capability:agent-code-access","what_it_does":"Delegates the system-specific half — CSRF, locking, XML, activation, transports — to SAP's own adt-ls, and keeps the MCP surface, auth and write safety on its side of the line.","sources":[{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-10","quote":"delegates all ABAP/ADT interaction to SAP's own embedded adt-ls language server"}],"facets":[{"key":"activate","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`activate_object`, `run_unit_tests`, `delete_object`"}},{"key":"atc","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`run_atc` (ABAP Test Cockpit static analysis"}},{"key":"cds","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"(class, interface, CDS, behavior def, service def/binding, …)"}},{"key":"create_objects","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`create_object`, `update_source`,"}},{"key":"ddic_metadata","value":false,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"**Out of scope here (use main ARC-1):** classic object types (program/table/"}},{"key":"git","value":false,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"function group/domain/…), free SQL, transport *release/delete*, and git."}},{"key":"read_source","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`get_service_details`, `read_source`, `validate_object`, `find_transport`."}},{"key":"run_code","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`run_application` (run an `if_oo_adt_classrun`"}},{"key":"search_objects","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`search_objects`, `list_inactive_objects`, `list_users`, `list_generators`,"}},{"key":"syntax_check","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`check_syntax` (the ABAP syntax check, no activation needed)"}},{"key":"table_data","value":false,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"function group/domain/…), free SQL, transport *release/delete*, and git."}},{"key":"transports","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`assign_transport` pins an existing TR to an object"}},{"key":"unit_tests","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`run_unit_tests_with_coverage` (test result + statement/branch/procedure coverage)"}},{"key":"where_used","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"references/where-used, type hierarchy, diagnostics/syntax check,"}},{"key":"write_source","value":true,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`create_object`, `update_source`,"}}]}],"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; the catalogue is credited as where it was found and its words are not reused."}],"type_properties":{"runs":{"value":["central-server","local-process"],"sources":[{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"The image deploys to CF as a docker app"},{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"npm install -g @arc-mcp/arc-1-lsp"}]},"transports":{"value":["stdio","http"],"sources":[{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"MCP (stdio | http-streamable)"}]},"auth":{"value":["basic","browser-sso","x509","api-key","destination"],"sources":[{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`basic` (user + password, default), `sso` (interactive browser"},{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"or `clientcert` (**passwordless X.509 mutual TLS**"},{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"http-streamable behind an API key"},{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"BTP Destination Service name; resolved when `connectivity` is bound"}]},"tool_count":{"value":39,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"exposes 39 MCP tools (the categorised list counts 14+9+3+3+5+5=39)"}},"read_only":{"value":false,"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`ARC1_ALLOW_WRITES` / `--allow-writes` | `false` | enable mutating tools"}},"guardrails":[{"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`ARC1_ALLOWED_PACKAGES` / `--allowed-packages` | `$TMP` | packages writes may target"}},{"source":{"url":"https://github.com/arc-mcp/arc-1-lsp","title":"arc-1-lsp — README","checked":"2026-09-11","quote":"`ARC1_ALLOW_TRANSPORT_WRITES` / `--allow-transport-writes` | `false` | enable CTS transport creation"}}]},"drafted_with_ai":true,"contributors":["actor:marianfoo"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"fair","evidence":"5 months since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-06, 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":"good","evidence":"release-please green, 2026-06-17"}],"practice":[{"label":"Tests","tier":"good","evidence":"13 test files, npm test"},{"label":"Docs","tier":"good","evidence":"docs/ with 34 pages, README 21 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":2,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.0.1","majors":{"0.0":{"version":"0.0.1","date":"2026-05-30"}},"license":"MIT","first_release":"2026-05-30","last_release":"2026-05-30","releases":1,"cadence_days":null,"maintainers":1,"repository":"git+https://github.com/marianfoo/arc-1-lsp.git","peer_cds":null,"test_script":true,"types":false,"downloads_weekly":2,"stars":2,"forks":0,"open_issues":1,"archived":false,"pushed_at":"2026-06-17","license_spdx":null,"org_owned":true,"default_branch":"main","contributors":2,"tree_truncated":false,"test_files":13,"workflows":2,"other_ci":false,"readme_bytes":21040,"docs_files":34,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"success","ci_run_at":"2026-06-17","ci_workflow":"release-please","ci_event":"push","readme_path":"README.md","readme_sha":"1b3211f2c7338bc5cc27e4f1cb906ddcbf537d68","months_since_release":5,"dormant":false,"repository_directory":null,"first_commit":"2026-05-29","last_commit":"2026-06-17","commits":74,"dependencies":4,"node_engine":">=22","downloads_monthly":6,"created_at":"2026-05-30T20:43:41Z","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/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md"},"format":"conventional","releases":[{"version":"0.4.0","date":"2026-06-17","date_source":"heading","heading":"0.4.0 (2026-06-17)","url":"https://github.com/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md#040-2026-06-17","sections":[{"kind":"feature","heading":"Features","items":1},{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"d730e415776f7d82"},{"version":"0.3.0","date":"2026-06-11","date_source":"heading","heading":"0.3.0 (2026-06-11)","url":"https://github.com/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md#030-2026-06-11","sections":[{"kind":"feature","heading":"Features","items":1}],"hash":"c70fb9f4fa95a6d2"},{"version":"0.2.1","date":"2026-06-08","date_source":"heading","heading":"0.2.1 (2026-06-08)","url":"https://github.com/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md#021-2026-06-08","sections":[{"kind":"fix","heading":"Bug Fixes","items":1}],"hash":"9293a34a93ae160e"},{"version":"0.2.0","date":"2026-06-08","date_source":"heading","heading":"0.2.0 (2026-06-08)","url":"https://github.com/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md#020-2026-06-08","sections":[{"kind":"feature","heading":"Features","items":6},{"kind":"fix","heading":"Bug Fixes","items":7}],"hash":"5f87c209c0a917fd"},{"version":"0.1.0","date":"2026-06-01","date_source":"heading","heading":"0.1.0 (2026-06-01)","url":"https://github.com/arc-mcp/arc-1-lsp/blob/main/CHANGELOG.md#010-2026-06-01","sections":[{"kind":"feature","heading":"Features","items":16},{"kind":"fix","heading":"Bug Fixes","items":2}],"hash":"0a03ddec21daa87a"}],"versions":[{"version":"0.0.1","date":"2026-05-30","deprecated":"moved to @arc-mcp/arc-1-lsp"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:arc-mcp","name":"ARC MCP","json":"/actors/arc-mcp.json"},{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"contributors":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}