sap-btp-destination-mcp
Allows reading and calling SAP BTP destinations via the Destination Service with OAuth2ClientCredentials authentication, enabling interactions with SAP backend systems through the MCP interface.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sap-btp-destination-mcplist my SAP BTP destinations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SAP BTP Destination MCP
App en Python para consumir un destination SAP BTP con OAuth2ClientCredentials, exponer un endpoint HTTP y publicar tools MCP sobre FastMCP.
Que hace
Pide un access token al
Token Service URL.Lee un destination usando
GET /destination-configuration/v1/destinations/<name>.Expone endpoints REST para healthcheck y prueba del destination.
Expone las mismas operaciones como tools MCP en
/mcp.
Related MCP server: odata-mcp-proxy
Variables de entorno
Modo manual, tomando los datos del destination que pasaste:
SAP_DESTINATION_NAME=mcp-destination
SAP_DESTINATION_SERVICE_URL=https://destination-configuration.cfapps.us10.hana.ondemand.com
SAP_TOKEN_URL=https://mcp-test.authentication.us10.hana.ondemand.com/oauth/token
SAP_CLIENT_ID=sb-clone6ab3984cf18e4ae991b5b02eab972d9b!b646663|destination-xsappname!b62
SAP_CLIENT_SECRET=<tu-secret>Podés copiarlas a un .env.
Credenciales correctas para Destination Service
Para consumir el Destination Service de forma estándar en SAP BTP:
clientid,clientsecretyurisalen del service key del Destination Service.urlsale del service key del XSUAA.
Las credenciales de XSUAA por sí solas pueden emitir token, pero no necesariamente tienen autorización para llamar al Destination Service. Si pasa eso, SAP responde 403 Forbidden.
La app ahora soporta estos formatos además del .env manual:
VCAP_SERVICESSAP_DESTINATION_SERVICE_KEYcon el JSON del service key del Destination ServiceSAP_XSUAA_CREDENTIALScon el JSON del service key del XSUAA
Ejemplo:
export SAP_DESTINATION_SERVICE_KEY='{"clientid":"...","clientsecret":"...","uri":"https://destination-configuration.cfapps.us10.hana.ondemand.com"}'
export SAP_XSUAA_CREDENTIALS='{"url":"https://mcp-test.authentication.us10.hana.ondemand.com"}'Ejecutar local
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reloadEndpoints
GET /healthGET /destination/{destination_name}GET /destination/{destination_name}/call?path=destination-configuration/v1/subaccountDestinationsMCP endpoint:
GET/POST /mcp
Deploy a Cloud Foundry
cf push
cf set-env sap-btp-mcp-python SAP_DESTINATION_SERVICE_URL https://destination-configuration.cfapps.us10.hana.ondemand.com
cf set-env sap-btp-mcp-python SAP_TOKEN_URL https://mcp-test.authentication.us10.hana.ondemand.com/oauth/token
cf set-env sap-btp-mcp-python SAP_CLIENT_ID 'sb-clone6ab3984cf18e4ae991b5b02eab972d9b!b646663|destination-xsappname!b62'
cf set-env sap-btp-mcp-python SAP_CLIENT_SECRET '<tu-secret>'
cf restart sap-btp-mcp-pythonSi la app está bindeada a destination y xsuaa, también puede resolver credenciales automáticamente desde VCAP_SERVICES.
Deploy estilo tutorial (recomendado)
Este flujo replica la idea del video de deploy en BTP pero usando tu app actual en Python.
Logueate y selecciona org/space:
cf login
cf target -o "<tu-org>" -s "<tu-space>"Crea servicios (si no existen):
cf create-service destination lite mcp-destination
cf create-service xsuaa application mcp-xsuaa -c xs-security.jsonPrepara variables de despliegue:
cp vars.btp.example.yml vars.btp.ymlDeploy con binding automatico a servicios:
./scripts/deploy_btp.shVerifica que la app quedo arriba:
cf app sap-btp-mcp-pythonNotas:
manifest.btp.ymldefine bindings adestinationyxsuaa.La app toma credenciales desde
VCAP_SERVICES, asi que no necesitas setearSAP_CLIENT_SECRETmanualmente en CF.
Referencias
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
- StytchOAuthdev.stytch.mcp
The Stytch MCP server is a reference implementation that demonstrates remote MCP server authentication and authorization using Stytch Connected Apps. It provides OAuth 2.1-compliant authorization (including PKCE), Dynamic Client Registration, and validates Stytch-issued access tokens to enable AI agents to securely interact with external services through permissioned access, supporting scopes like openid, email, profile, and manage:project_data.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
An MCP server that provides access to Testiny projects, test cases and test runs
Related MCP Servers
- AlicenseAqualityAmaintenanceA read-only MCP server that bridges AI assistants to SAP Cloud ALM, exposing read APIs through four intent-based tools. It runs locally over stdio or remotely over Streamable HTTP, and can be deployed to SAP BTP Cloud Foundry.42MIT
- AlicenseNot gradedqualityBmaintenanceA config-driven MCP server that exposes OData and REST APIs as MCP tools, enabling AI assistants to query, manage, and monitor SAP backends through natural language.43 npm31MIT
- AlicenseAqualityDmaintenanceAn MCP server for searching SAP Help Portal documentation, enabling AI assistants to search, browse, and retrieve SAP documentation programmatically.48 npmMIT
- AlicenseBqualityDmaintenanceAn MCP server for automating SAP BTP Cloud Foundry operations, providing tools for deploying, managing, and monitoring applications.293 npmMIT