MCP serverMCP servertypeExposes tools to a coding agent over MCP.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

BTP CF MCP Server

The Cloud Foundry V3 API on SAP BTP as MCP tools — apps, orgs, spaces, services, routes and quotas — declared in one JSON config file and run by odata-mcp-proxy.

The btp-cf-api-config.json file is the whole of it: it names the Cloud Foundry V3 entity sets and the operations allowed on each, and odata-mcp-proxy registers the matching MCP tools at startup. The surface runs from apps, builds, droplets and tasks through organisations, spaces, roles and users to service instances and bindings, routes, security groups, buildpacks, feature flags, stacks and the org and space quotas, each with the operations the API permits — Jobs is get only, Processes has list, get and update and nothing else. Calls leave over REST with OAuth2 through a BTP Destination named CF_API, so token handling sits in the platform and not in the repository. The README puts it beside the SAP Application Router: a ready-made runtime you configure, not code you write.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Agent access to your systemsBTPAgent access to your systemscapabilityGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. [Serving your application over MCP](capability:mcp-servers) exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to [agent access to your code](capability:agent-code-access).
Runs
Cloud Foundrylocal
Requires
odata-mcp-proxyodata-mcp-proxyartifactthe runtime that reads the config and registers the tools; the repository holds no application code, and npm start runs the proxy binary against the config fileSAP Destination serviceSAP Destination serviceartifactthe named address of the Cloud Foundry V3 API, CF_API, and the OAuth2 token handling behind every callSAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceartifactthe OAuth2 authentication in front of the server and the three role templates that separate read, write and administrative accessSAP Connectivity serviceSAP Connectivity serviceartifactone of the three service instances the MTA deployment provisions, and one of the bindings a local run needs in default-env.jsonSAP BTP, Cloud Foundry RuntimeSAP BTP, Cloud Foundry Runtimeartifactthe Cloud Foundry environment whose V3 API every tool calls, and where the MTA archive is deployed

Who is behind it

Wouter LemaireWouter LemairePersonMaintains this
In the atlas: maintains 25, contributes to 39, wrote 12
@lemaiwo
maintainer

Before choosing this

Conditions

PracticalFunctional boundary

It administers a live Cloud Foundry landscape: Apps, Organizations, Spaces, ServiceInstances and SecurityGroups all carry create, update and delete alongside list and get. What a caller can reach is set by the role they hold, and the three templates in xs-security.json are MCPViewer for read, MCPEditor for read and write, and MCPAdmin for full administrative access.

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your systemsAn MCP server uses SAP APIs to supply tools, resources or data to an agent.
  • § 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.

MCP does not replace the API's documented-use boundary. Check that every endpoint is published for the intended use and whether the policy's AI-call or extraction provisions apply to the design.

SAP API Policy 4.2026a →

What it declares

Every artifact

Type
MCP server
Origin
Independently maintained
Runtime
Node.js
Runs on
Cloud Foundrylocal

As an MCP server

Runs as
central serverlocal process
Transport
HTTPstdio
Authentication
OAuth / OIDCBTP destination
Guardrails
1 quoted from README show all
  • XSUAA (application) -- handles OAuth2 authentication with role-based access control

Connections7

BTP CF MCP Server connectionsBTP CF MCP ServerPROVIDES→ provides1provides stated Puts the Cloud Foundry V3 API of a BTP account in front of an assistant as MCP tools, declared as entity sets and operations in one config file rather than written as a server. BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-server BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverAgent access to your systemsNEEDS→ connects to1connects to stated Calling the Cloud Foundry V3 API for every tool an agent invokes, over REST, with the endpoint and the OAuth2 token resolved by a BTP destination named `CF_API`. BTP CF MCP Server — README, architecture: https://raw.githubusercontent.com/lemaiwo/btp-cf-mcp-server/c1f29c54c3912b9a58dc6622c6b2f9e9682e8e99/README.md BTP CF MCP Server — README, services: https://raw.githubusercontent.com/lemaiwo/btp-cf-mcp-server/c1f29c54c3912b9a58dc6622c6b2f9e9682e8e99/README.mdSAP BTP, Cloud Foundry Runtime→ needs5needs stated the runtime that reads the config and registers the tools; the repository holds no application code, and `npm start` runs the proxy binary against the config file BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverodata-mcp-proxyneeds stated the OAuth2 authentication in front of the server and the three role templates that separate read, write and administrative access BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverSAP Authorization and Trust Managementserviceneeds stated the Cloud Foundry environment whose V3 API every tool calls, and where the MTA archive is deployed BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverSAP BTP, Cloud Foundry Runtimeneeds stated one of the three service instances the MTA deployment provisions, and one of the bindings a local run needs in `default-env.json` BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-server BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverSAP Connectivity serviceneeds stated the named address of the Cloud Foundry V3 API, `CF_API`, and the OAuth2 token handling behind every call BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-server BTP CF MCP Server — README: https://github.com/lemaiwo/btp-cf-mcp-serverSAP Destination service
Where BTP CF MCP Server runsYour SAP BTP subaccountBTP CF MCP Server — README, checked 2026-09-19: “MCP Protocol (HTTP or stdio)”HTTP or stdiodocumentedrequiresdocumentedrequiresdocumentedrequiresdocumentedrequiresdocumentedHTTPOAuth 2.0, outbound, via SAPDestination serviceYour MCP client, actorYour MCP clientBTP CF MCP Server, moduleBTP CF MCP Serverodata-mcp-proxy, moduleodata-mcp-proxySAP Destination service, service instanceSAP DestinationserviceSAP Authorization and Trust Management service, service instanceSAP Authorizationand TrustManagement serviceSAP Connectivity service, service instanceSAP ConnectivityserviceSAP BTP, Cloud Foundry Runtime, service instanceSAP BTP, CloudFoundry Runtime
SAPnot SAP's, or the project's ownstated in the documentdocumented only

README

quoted from lemaiwo/btp-cf-mcp-server under MIT, read
lemaiwo/btp-cf-mcp-server/README.mdOn GitHub

BTP CF MCP Server

An MCP (Model Context Protocol) server for the Cloud Foundry V3 API on SAP BTP, powered by odata-mcp-proxy. It exposes the CF V3 API as MCP tools, allowing AI assistants like Claude to manage your Cloud Foundry landscape through natural language.

The entire server is defined through a single JSON config file -- no custom code required.

How It Works

This project uses the odata-mcp-proxy npm package, which maps OData/REST services to MCP tools based on a configuration file. You provide a config describing your APIs and entity sets, and the proxy generates the corresponding MCP tools automatically.

AI Assistant (Claude, Cursor, etc.)
        |
        | MCP Protocol (HTTP or stdio)
        v
  odata-mcp-proxy
        |
        | REST + OAuth2 (via BTP Destination Service)
        v
  Cloud Foundry V3 API

Think of it like the SAP Application Router -- a ready-made runtime you configure, not code you write.

Exposed CF V3 APIs

The config file (btp-cf-api-config.json) exposes the Cloud Foundry V3 API, organized by category:

Apps & Processes
ToolOperationsDescription
Appslist, get, create, update, deleteDeploy, manage, start, and stop CF applications
Buildslist, get, createStage a package into a droplet
Deploymentslist, get, createRolling deployments and canary releases
Dropletslist, get, deleteStaged, runnable artifacts produced from builds
Packageslist, get, create, deleteApplication source code or Docker images for staging
Processeslist, get, updateRunning instances of an app (web, worker, etc.)
Taskslist, get, createOne-off processes like database migrations or batch jobs
Orgs & Spaces
ToolOperationsDescription
Organizationslist, get, create, update, deleteTop-level containers for spaces, apps, and users
Spaceslist, get, create, update, deleteSubdivisions within an org for deploying apps and services
Roleslist, get, create, deleteUser role assignments (OrgManager, SpaceDeveloper, etc.)
Userslist, get, create, update, deleteUser accounts in the CF deployment
Services
ToolOperationsDescription
ServiceInstanceslist, get, create, update, deleteProvisioned instances of marketplace services
ServiceCredentialBindingslist, get, create, update, deleteService keys and app bindings for accessing service instances
ServiceOfferingslist, get, update, deleteServices available in the marketplace
ServicePlanslist, get, update, deletePricing/feature tiers for each service offering
ServiceBrokerslist, get, create, update, deleteBroker applications that advertise and provision services
ServiceRouteBindingslist, get, create, deleteBind a service instance to a route for request interception
ServiceUsageEventslist, getHistorical record of service instance events for billing/auditing
Networking
ToolOperationsDescription
Domainslist, get, create, update, deleteShared or private domain names used to create routes
Routeslist, get, create, update, deleteURL mappings that direct traffic to apps
SecurityGroupslist, get, create, update, deleteEgress firewall rules controlling outbound app connectivity
Platform
ToolOperationsDescription
Buildpackslist, get, create, update, deleteRuntimes and frameworks for staging applications
FeatureFlagslist, get, updatePlatform-level toggles for CF features
Stackslist, get, create, update, deleteRoot filesystems (OS base images) for running apps
IsolationSegmentslist, get, create, update, deleteDedicated compute pools for running apps in isolated Diego cells
JobsgetTrack status of long-running async operations
Quotas
ToolOperationsDescription
OrganizationQuotaslist, get, create, update, deleteResource limits (memory, instances, routes, services) for orgs
SpaceQuotaslist, get, create, update, deleteResource limits for individual spaces within an org

All _list tools support query parameters for filtering and pagination (page, per_page, and entity-specific filters).

Prerequisites

  • Node.js 18+ (20+ recommended)
  • SAP BTP account with a Cloud Foundry environment
  • BTP Destination configured for the CF V3 API (CF_API) with OAuth2 authentication
  • Cloud Foundry CLI (cf) and MBT Build Tool (mbt) for deployment

Project Structure

btp-cf-mcp-server/
├── package.json              # Start script + odata-mcp-proxy dependency
├── btp-cf-api-config.json    # API configuration (defines all MCP tools)
├── mta.yaml                  # BTP Cloud Foundry deployment descriptor
├── xs-security.json          # XSUAA OAuth2 configuration
├── default-env.json          # Local dev credentials (gitignored)
└── LICENSE

Getting Started

1. Install dependencies
npm install
2. Configure BTP destination

Create a BTP Destination pointing to the Cloud Foundry V3 API:

DestinationURL
CF_APIhttps://api.cf.<region>.hana.ondemand.com

The destination should use OAuth2 client credentials authentication.

3. Local development

Create a default-env.json with your BTP service bindings (XSUAA, Destination, Connectivity) to run locally:

npm start

This runs odata-mcp-proxy --config btp-cf-api-config.json.

4. Deploy to BTP
npm run build:btp     # Build MTA archive
npm run deploy:btp    # Deploy to Cloud Foundry

The MTA deployment provisions three service instances:

  • Destination (lite) -- resolves the CF API endpoint and manages OAuth2 tokens
  • Connectivity (lite) -- enables secure backend connectivity
  • XSUAA (application) -- handles OAuth2 authentication with role-based access control

Security

The XSUAA configuration (xs-security.json) defines three role templates:

RoleScopesDescription
MCPViewerreadRead-only access
MCPEditorread, writeRead and write access
MCPAdminread, write, adminFull administrative access

OAuth2 redirect URIs are pre-configured for Claude.ai, Cursor, Microsoft Teams, and local development.

Creating Your Own MCP Server

This project demonstrates how easy it is to create a custom MCP server using odata-mcp-proxy. To build your own:

  1. Create a new project and install the dependency:

    mkdir my-mcp-server && cd my-mcp-server
    npm init -y
    npm install odata-mcp-proxy
  2. Add a start script to package.json:

    {
      "scripts": {
        "start": "odata-mcp-proxy --config my-api-config.json"
      }
    }
  3. Define your APIs in a config file (my-api-config.json):

    {
      "server": {
        "name": "my-mcp-server",
        "version": "1.0.0",
        "description": "My custom MCP server"
      },
      "apis": [
        {
          "name": "my-api",
          "destination": "MY_BTP_DESTINATION",
          "pathPrefix": "/api/v1",
          "csrfProtected": true,
          "entitySets": [
            {
              "entitySet": "Products",
              "description": "Product catalog",
              "category": "master-data",
              "keys": [{ "name": "Id", "type": "string" }],
              "operations": { "list": true, "get": true, "create": false, "update": false, "delete": false }
            }
          ]
        }
      ]
    }
  4. Add your mta.yaml, xs-security.json, and BTP Destinations, then deploy. That's it -- no code to write.

License

MIT

MIT, read
Agent access to your systems
  1. mcp-integration-suiteMCP server for the general Integration Suite functionsfrom BTP/BAIP
  2. mcp-is-tpmJava MCP server for Integration Suite Trading Partner Managementfrom BTP/BAIP
  3. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  4. abap2UI5 for VS CodeVS Code extension to preview, activate and lint abap2UI5 appsfrom ABAP
  5. SF-MCPMCP server with 62 tools over SAP SuccessFactors OData APIsfrom SAP SuccessFactors
  6. hybris-mcp-liteRead-only MCP server over a local SAP Commerce Cloud's HACfrom SAP Commerce
  7. calmcpMCP server with read tools over the SAP Cloud ALM APIsfrom BTP/BAIP
  8. CostingGeek/sap-mcpPython MCP server fetching sales orders from SAP's business data graphfrom BTP/BAIP
  9. mcp-sap-focusedrunMCP tools over SAP Focused Run's Landscape Management Databasefrom BTP/BAIP
  10. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  11. cloud-alm-itsm-mcpMCP server querying installations via the SAP Cloud ALM ITSM APIfrom BTP/BAIP
  12. hana-mcp-serverMCP server for schema discovery and guarded SQL on SAP HANAfrom BTP/BAIP
  13. sap_analytics_cloud_mcpMCP server for the SAP Analytics Cloud REST APIfrom BTP/BAIP
  14. mcp-sap-cpiMCP server for Cloud Integration runtime: messages, logs, deploymentfrom BTP/BAIP
  15. AI Core MCP ServerSAP AI Core APIs as MCP tools from one JSON config filefrom BTP/BAIP
  16. BTP MCP ServerBTP Core Services as MCP tools with in-chat dashboardsfrom BTP/BAIP
  17. btp-sap-odata-to-mcp-serverExposes S/4HANA or ECC OData services as MCP toolsfrom BTP/BAIP
  18. CI MCP ServerSAP Cloud Integration OData APIs as MCP toolsfrom BTP/BAIP
  19. odata-mcp-proxyConfig-driven proxy turning OData and REST endpoints into MCP toolsfrom BTP/BAIP
  20. sap-pi-mcp-serverMCP server for SAP PI and PO monitoring and directory metadatafrom BTP/BAIP
  21. sap-bdc-mcp-serverMCP server managing Delta shares in SAP Business Data Cloudfrom BTP/BAIP
  22. @mariodefe/sap-datasphere-mcpMCP server with forty-five tools across a Datasphere tenantfrom BTP/BAIP
  23. midasol/sap-mcp-serverPython MCP server for SAP Gateway OData operationsfrom BTP/BAIP
  24. odata_mcp_goGo binary bridging any OData v2 or v4 service to MCPfrom BTP/BAIP
  25. odata_mcpPython bridge generating MCP tools from OData v2 metadatafrom BTP/BAIP
  26. sap-bdc-mcpMCP tooling for SAP Business Data Cloud discovery and contractsfrom BTP/BAIP
  27. mcp-sap-datasphere-serverRead-only MCP server for exploring SAP Dataspherefrom BTP/BAIP
  28. sap-mcp-serverReads SAP ECC and S/4HANA for an agent over Gateway OData and RFC, with a Node bridge that speaks the RFC protocol without the proprietary SAP NetWeaver RFC SDK.from ABAP
  29. cap-mcp-bridgeMCP server generating tools from a CAP or OData V4 service's metadatafrom CAP
  30. MCP Server for SAP BTP AdministrationSAP-hosted MCP endpoint for BTP account administrationfrom BTP/BAIP
  31. SAP LeanIX MCP ServerHosted MCP endpoint onto an SAP LeanIX instancefrom BTP/BAIP
  32. SAP-samples/hana-cli-claude-pluginClaude Code plugin registering hana-cli's MCP serverfrom BTP/BAIP
  33. SAP-samples/hana-developer-cli-tool-exampleDeveloper-centric command line for SAP HANAfrom BTP/BAIP
  34. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  35. sap-security-mcpRead-only security analysis MCP server for SAP audits and SoD reviewfrom ABAP
  36. cpi-mcp-serverGo MCP server over Cloud Integration packages and integration flowsfrom BTP/BAIP
  37. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP
  38. pyrfc-mcpMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP

Details

Sources3
Added by handdiscovered herechecked
github.com/lemaiwo/btp-cf-mcp-servertree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
runtimesnode
deploymentCloud Foundry, local
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainbtp, ai-and-agents
History in the atlas3
  1. The concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
  2. The server required the Cloud Foundry runtime and the Destination service as two separate dependencies. The connection says how they relate: the calls go to the CF API and run through the destination.
  3. First seen.
For your agent
Ref
artifact:lemaiwo-btp-cf-mcp-server
JSON
/artifacts/lemaiwo-btp-cf-mcp-server.json
MCP
Connecting an agent