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 "Install 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.
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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/facusada/mcp-btp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server