arc-mcp-hub
A hub on SAP BTP that puts several arc-1arc-1An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects.independent, abap instances, one per SAP system, behind one login and a route each, exchanging the caller's token through a destinationSAP Destination serviceNamed, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape.sap official, btp so each system still sees the real user.
Running arc-1 against DEV, QA and PROD means three MCP servers configured separately in every client, each with its own login. The hub is one Cloud Foundry application in the same subaccount, which mounts /dev/mcp, /qa/mcp and /prod/mcp from a list of destinations, validates the caller once as an OAuth 2.1 resource server, exchanges that token through an OAuth2JWTBearer destination for one scoped to the backend, and bridges the Streamable HTTP session to it with the backend's tools unchanged. Which system a call lands on is decided by the endpoint the client connected to rather than by the model; an optional /all endpoint trades that for one connection where every tool carries a required system parameter. Nothing reasons in the middle and no shared service account is involved, since the backend propagates the user to SAP, so a developer who authenticates but lacks the role collection can connect to /prod/mcp and do nothing. Adding a system is a destination and one more entry in HUB_BACKENDS, and any XSUAA-protected Streamable HTTP MCP server qualifies as a backend.
Facts
Where it sits
Who is behind it
In the atlas: maintains 9@arc-mcpmaintainerMarian ZeisContributes to this
In the atlas: maintains 35, contributes to 86, wrote 25@marianfoo1 contributor
Before choosing this
Signals
RepositoryArchivedThe declared repository is archived
GitHub reports the repository as archived. The package may remain installable, but its source is no longer open for normal maintenance.
Conditions
PracticalFunctional boundary
With one SAP system the README says to point the client at that arc-1 directly. Version 1 exchanges tokens within a single subaccount, so backends spread across subaccounts are out; it keeps its session map in memory, so more than one instance needs sticky sessions or a shared store. It routes deterministically and runs no model, which is a different thing from an assistant that reasons across systems. The /all endpoint drops the per-connection isolation, and the maintainer's answer to that is a PROD backend set read-only at the SAP end rather than a tool surface that hides the writes.
PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2, 3from Tool governanceAn agent tool calls SAP APIs, or a governance workflow assesses whether a proposed SAP API use is within the policy's documented-use boundary.
- § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
- § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
- § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.
- § 3 Monitoring and remedies. SAP states that it may monitor API use and take enforcement actions when use does not comply with the documentation and policy.
Technical controls decide what an agent can call; the SAP API Policy separately governs whether the API is published for the intended use and identifies special AI-call and extraction cases. An evidence-gathering tool can assess against that policy but cannot issue a binding compliance decision.
SAP API Policy 4.2026a →What it declares
Every artifact
- Type
- MCP server
- Origin
- Independently maintained
- Runtime
- Node.js
- Runs on
- Cloud Foundry
As an MCP server
- Runs as
- central server
- Transport
- HTTP
- Authentication
- OAuth / OIDCBTP destinationprincipal propagation
- Guardrails
4 quoted from README show all
Connection-scoped systems. A session on
/dev/mcpcan only ever see DEV's tools.PROD is read-only at the backend.
Each MCP session is bound to the principal that created it
The hub has no local authorization gate — by design.
Connections
Controlling what an agent may call, with an audit trail
Cloud Foundry runtime of SAP BTP for polyglot applications
Named, credentialed addresses of other systems resolved at runtime
MCP server over the ADT REST API for ABAP objects
Download
Architecture
Download
https://<hub>/dev/mcp (or /qa/mcp, /prod/mcp).”OAuth2JWTBearer exchange that produces the per-user tokenREADME
quoted from arc-mcp/mcp-hub under MIT, readarc-mcp-hub — retired
Superseded by ARC-1's Multi-System Setup. This project is retired and retained for historical reference. No further features, bug fixes, dependency updates, or security fixes are planned. Use ARC-1 for new SAP multi-system deployments.
The hub originally placed several ARC-1 instances behind one MCP host, with a separate application for routing and token exchange. ARC-1 now handles SAP system/client routing directly through its built-in multi-target mode, removing the need for this hub in that deployment model.
Move to ARC-1
Start with the migration guide, then follow the maintained ARC-1 docs:
- BTP deployment overview — choose the topology.
- Multi-System Setup — deploy and configure targets.
- Multi-Target Administration — operate the service.
- ARC-1 repository — maintained code and issue tracker.
| Former hub interface | ARC-1 multi-target interface |
|---|---|
https://<hub>/dev/mcp | https://<arc1-route>/<SYSTEM>/<CLIENT>/mcp, for example /A4H/001/mcp |
https://<hub>/all/mcp with system: "dev" | https://<arc1-route>/multi/mcp with target: "A4H/001" |
HUB_BACKENDS pointing to ARC-1 MCP backends | Marked BTP subaccount destinations pointing to SAP systems |
Map each old environment name to its actual SAP system/client; these examples are not automatic aliases. Update client URLs and prompts/tool calls, then authenticate against ARC-1.
Check the replacement's scope before migrating: multi-target v1 is experimental, default-off, and mutation-free. It runs on SAP BTP Cloud Foundry with XSUAA and on-premise SAP targets. Principal Propagation is recommended. Shared Basic authentication is a separate opt-in with a one-instance limit. Writes, activation, and transport/Git mutations are unavailable on multi-target routes. Use separate ARC-1 instances and direct MCP connections for writable access or stronger isolation. Other MCP server backends need their own direct connections; ARC-1 is not a general proxy.
Historical material
The source, tests, and deployment files are retained to explain existing installations. The following documents describe the former hub and are not instructions for new deployments:
- Previous README
- Architecture
- Operator setup
- MCP server integration
- Closed roadmap
- Original implementation record
Repository archival does not stop a deployed hub or migrate its users. Existing operators should follow the cutover and retirement steps.
License
MIT
Others providing
Compare all 9 on the Tool governance page →- a2a-plugina2a-pluginExposes an annotated CDS service as an Agent-to-Agent protocol agent — @a2a opts the service in, @a2a.Skill declares what it offers, and an agent handler answers.independent, capExposes an annotated CDS service as an Agent-to-Agent agentfrom CAP
- SuperClaude for SAPSuperClaude for SAPA Claude Code plugin that installs and wires its own ABAP MCP server, then puts a two-layer write guard between the agent and any system profile marked QA or production.independent, abapClaude Code plugin with an ABAP MCP server and write guardsfrom ABAP
- API ManagementAPI ManagementAPI proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe.sap official, btpAPI proxies with security and traffic policies and Developer Hubfrom BTP/BAIP
- bw-modeling-mcpbw-modeling-mcpReads, creates and modifies BW/4HANA modelling objects through the same internal APIs Eclipse BWMT and the BW/4HANA Cockpit use — and can run centrally on BTP with each caller reaching BW as themselves.independent, btpMCP server for BW/4HANA modelling objectsfrom BTP/BAIP
- Maherd18/sap-mcp-serverMaherd18/sap-mcp-serverAn MCP server for ABAP development over the ADT resources: eight tools, each checked against a JSON policy file before the call reaches the system, with activation and transport release held for a person to approve.independent, abapPolicy-checked MCP server for ABAP development over ADTfrom ABAP
- SAP API Policy Evidence SkillSAP API Policy Evidence SkillAssesses whether a described SAP API usage aligns with the SAP API Policy, gathering live evidence from SAP's own sources and returning a sourced assessment with a stated confidence — and routing the legal questions away from itself.independent, btpSkill assessing API usage against the SAP API Policyfrom BTP/BAIP
- cds-agentscds-agentsTurns a CAP service into a tool layer for agent frameworks — a CAPToolkit bound to a named service, with a tool strategy controlling how much of it becomes callable.independent, capToolkit turning a CAP service into tools for agent frameworksfrom CAP
- pyrfc-mcppyrfc-mcpAn MCP server for calling an SAP system's RFC-enabled function modules from an agent, built so that discovering a function does not authorise calling it: a read or a write is denied unless the function name matches an allowlist the server is configured with.independent, abapMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP
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
History in the atlas
- First seen.
For your agent
- Ref
artifact:arc-mcp-hub- JSON
- /artifacts/arc-mcp-hub.json
- MCP
- Connecting an agent