MCPInstall

sap-btp-service-manager

This skill provides comprehensive knowledge for SAP Service Manager on SAP Business Technology Platform (BTP). It should be used when managing service instances, bindings, brokers, and platforms across Cloud Foundry, Kyma, Kubernetes, and other environments. Use when provisioning services via SMCTL CLI, BTP CLI, or REST APIs, configuring OAuth2 authentication, working with the SAP BTP Service Operator in Kubernetes, troubleshooting service consumption issues, or implementing cross-environment service management. Keywords: SAP Service Manager, BTP, service instances, service bindings, SMCTL, service broker, OSBAPI, Cloud Foundry, Kyma, Kubernetes, service-manager, service-operator-access, subaccount-admin, OAuth2, X.509, service marketplace, service plans, rate limiting, cf create-service, btp create services/instance, ServiceInstance CRD, ServiceBinding CRD

Installs
658
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-service-manager
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads sap-btp-service-manager automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

SAP BTP Service Manager Skill

Related Skills

  • sap-btp-cloud-platform: Use for platform fundamentals, service understanding, and BTP integration
  • sap-btp-best-practices: Use for production deployment patterns and service management guidelines
  • sap-btp-connectivity: Use for destination configuration when services require connectivity setup
  • sap-cap-capire: Use for CAP service provisioning and binding management

Comprehensive skill for managing services across SAP BTP environments using SAP Service Manager.


Table of Contents

When to Use This Skill

Use this skill when working on tasks involving:

Service Instance Management:

  • Creating service instances in Cloud Foundry, Kyma, Kubernetes, or other environments
  • Provisioning services via SAP BTP cockpit, SMCTL CLI, or BTP CLI
  • Configuring service parameters and labels
  • Deleting service instances and managing lifecycle

Service Binding Management:

  • Creating bindings to deliver credentials to applications
  • Binding service instances to Cloud Foundry applications
  • Creating service keys for external client access
  • Managing Kubernetes ServiceBinding CRDs

Platform & Broker Management:

  • Registering platforms (OSBAPI-enabled systems)
  • Registering service brokers
  • Managing broker catalogs and offerings
  • Updating and deleting platform/broker registrations

Authentication & Authorization:

  • Configuring OAuth2 client credentials
  • Working with X.509 certificate authentication
  • Assigning Subaccount Service Administrator role
  • Managing service manager plans and scopes

Kubernetes/Kyma Integration:

  • Setting up SAP BTP Service Operator
  • Creating ServiceInstance and ServiceBinding CRDs
  • Migrating from Service Catalog (svcat) to SAP BTP Service Operator
  • Installing cert-manager for operator communication

API & CLI Operations:

  • Using SMCTL command-line interface
  • Using BTP CLI for service management
  • Working with Service Manager REST APIs
  • Filtering and querying service resources

Troubleshooting:

  • Debugging service provisioning failures
  • Resolving binding credential issues
  • Handling rate limiting (HTTP 429)
  • Checking async operation status

Quick Start

1. Install SMCTL CLI

⚠️ Important: The SMCLI repository was archived on September 30, 2025. While the tool remains functional, consider migration strategies for long-term SAP BTP workflows.

Recommended Method (Go):

# Install via Go (preferred approach)
go install github.com/Peripli/service-manager-cli@latest

# Add to PATH (if not already)
export PATH=$PATH:$(go env GOPATH)/bin
smctl --version

Alternative Method (Prebuilt Binary):

# Download from: https://github.com/Peripli/service-manager-cli/releases/latest
tar -xzf smctl-*.tar.gz && chmod +x smctl
sudo mv smctl /usr/local/bin/ && smctl --version

Note: While the prebuilt binary method remains functional, the Go installation approach is officially recommended. Consider evaluating SAP's native BTP CLI as an alternative for new deployments.

2. Login

# Interactive login
smctl login -a https://service-manager.cfapps.<region>.hana.ondemand.com \
  --param subdomain=<subdomain>

# Client credentials
smctl login -a https://service-manager.cfapps.<region>.hana.ondemand.com \
  --param subdomain=<subdomain> --auth-flow client-credentials \
  --client-id <id> --client-secret <secret>

3. Basic Operations

# Browse services
smctl marketplace

# Create instance (async)
smctl provision my-instance <service> <plan>

# Create binding
smctl bind my-instance my-binding

Core Concepts

Service Manager Architecture

SAP Service Manager is the central registry for service brokers and platforms in SAP BTP.

Primary Resources:

  • Platforms - OSBAPI-enabled systems where applications run
  • Service Brokers - Intermediaries advertising service catalogs
  • Service Instances - Individual service instantiations
  • Service Bindings - Access credentials for instances
  • Service Plans - Capability sets offered by services
  • Service Offerings - Service advertisements from brokers

Service Manager Plans

PlanPurposeScopes
subaccount-adminFull management10 scopes (manage + read)
subaccount-auditRead-only monitoring6 scopes
containerIsolated management7 scopes

Roles

  • Subaccount Service Administrator - Full CRUD on resources
  • Subaccount Service Viewer - Read-only access (Feature Set B)

Cloud Foundry Operations

Service Instance & Binding

Via Cockpit: Services > Instances > Create > Select service/plan > Cloud Foundry runtime

Via CF CLI:

# Create instance
cf create-service <service> <plan> <instance-name>

# Bind to app
cf bind-service <app-name> <instance-name>

# Create service key (external access)
cf create-service-key <instance-name> <key-name>

Kubernetes Operations

Prerequisites

  • Kubernetes cluster with kubectl v1.7+
  • Helm v3.1.2+
  • SMCTL v1.10.1+

Setup Service Operator

1. Install cert-manager:

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml

2. Create Service Manager resources:

smctl provision sm-operator service-manager service-operator-access --mode sync
smctl bind sm-operator sm-operator-binding --mode sync
smctl get-binding sm-operator-binding -o json

3. Deploy operator:

helm repo add sap-btp-operator https://sap.github.io/sap-btp-service-operator/
helm install sap-btp-operator sap-btp-operator/sap-btp-operator \
  --namespace sap-btp-operator --create-namespace \
  --set manager.secret.clientid=<id> \
  --set manager.secret.clientsecret=<secret>

Create Resources

ServiceInstance:

apiVersion: services.cloud.sap.com/v1alpha1
kind: ServiceInstance
metadata:
  name: my-service-instance
spec:
  serviceOfferingName: <service-offering>
  servicePlanName: <plan-name>

ServiceBinding:

apiVersion: services.cloud.sap.com/v1alpha1
kind: ServiceBinding
metadata:
  name: my-binding
spec:
  serviceInstanceName: my-service-instance

Reference: See references/kubernetes-operator.md for complete guide.


BTP CLI Operations

Alternative to SMCTL using the unified BTP CLI:

# Create instance
btp create services/instance \
  --subaccount <subaccount-id> \
  --service <service-name> \
  --plan <plan-id> \
  --parameters '{"key":"value"}' \
  --labels '{"env":["dev"]}'

# Get instance details
btp get services/instance <instance-id> \
  --subaccount <subaccount-id> \
  --show-parameters

# Create binding
btp create services/binding \
  --subaccount <subaccount-id> \
  --binding <binding-name> \
  --service-instance <instance-id>

# Platform management
btp list services/platform --subaccount <id>
btp register services/platform --subaccount <id> --name <name> --type <type>
btp unregister services/platform <platform-id> --subaccount <id>

API Operations

Retrieve OAuth2 Token

curl '<uaa_url>/oauth/token' -X POST \
  -H 'Accept: application/json' \
  -d 'grant_type=client_credentials&client_id=<clientid>&client_secret=<clientsecret>'

Response:

{
  "access_token": "<token>",
  "token_type": "bearer",
  "expires_in": 43199,
  "scope": "<xsappname>.job.read <xsappname>.event.read"
}

API Base URI

https://service-manager.cfapps.<region>.hana.ondemand.com/v1/

Rate Limiting

Three concurrent tiers enforced:

  • Level 1: All APIs - 10,000/hour, 1,000/minute
  • Level 2: Resource-specific - 1,000-6,000/hour
  • Level 3: Instance operations - 50-6,000/hour

HTTP 429 returned with Retry-After header when limits exceeded.

Filtering

Query parameters:

  • fieldQuery - Filter by resource attributes
  • labelQuery - Filter by resource labels
  • Operators: eq, ne, in, contains, etc.

Reference: See references/rate-limiting-filtering.md for complete rate limits and filtering details.


SMCTL Command Reference

Key Commands

CategoryCommandsDescription
Authenticationlogin, logoutManage sessions
Instancesprovision, deprovision, list-instancesService instance lifecycle
Bindingsbind, unbind, list-bindingsService binding management
Brokersregister-broker, update-brokerService broker operations
Platformsregister-platform, list-platformsPlatform registration
MarketplacemarketplaceBrowse service offerings

Common Flags

  • --mode sync/async - Execution mode (default: async)
  • -c, --parameters - JSON configuration
  • -o, --output - Output format (json, yaml, text)
  • -v, --verbose - Detailed output

Reference: See references/smctl-commands.md for complete command reference with all flags and examples.


Common Operations

Check Async Operation Status

# Get operation URL from provision/bind response
smctl status /v1/service_instances/<id>/operations/<op-id>

API:

GET /v1/{resourceType}/{resourceID}/operations/{operationID}

Response states: in progress, succeeded, failed

Delete Service Instance

Prerequisites:

  1. Remove all service bindings
  2. Remove all service keys
  3. Instance not bound to applications
# Force delete without confirmation
smctl deprovision my-instance -f

# Sync mode
smctl deprovision my-instance --mode sync

Note: Kyma/Kubernetes instances cannot be deleted from BTP cockpit.

Assign Administrator Role

  1. Navigate to subaccount > Security > Trust Configuration > SAP ID Service
  2. Enter user email
  3. Click Show Assignments > Add User
  4. Assign Role Collection > Select "Subaccount Service Administrator"

Troubleshooting

Issue: Cannot see service in marketplace

Check:

  1. Service entitlement added to subaccount?
  2. Quota assigned (enterprise accounts)?
  3. Correct region selected?

Issue: Instance creation fails

Check:

  1. Valid plan selected?
  2. Parameters JSON syntax correct?
  3. Quota not exceeded?
  4. Required dependencies provisioned?

Debug:

smctl get-instance <name> -o json
# Check "last_operation" for error details

Issue: Rate limit exceeded (HTTP 429)

Solution:

  1. Check Retry-After header
  2. Implement exponential backoff
  3. Batch operations where possible
  4. Consider caching responses

Issue: Binding credentials missing

Check:

  1. Binding completed successfully?
  2. Correct binding name referenced?
  3. Secret created (Kubernetes)?
# SMCTL
smctl get-binding <name> -o json

# Kubernetes
kubectl get secrets <binding-name> -o yaml

Issue: X.509 authentication fails

Check:

  1. Certificate not expired?
  2. Correct certificate/key pair?
  3. Certificate chain complete?
  4. Client ID matches certificate?

Best Practices

1. Use Sync Mode for Scripts

smctl provision my-instance service plan --mode sync

2. Label Resources

smctl provision my-instance service plan \
  -c '{}' \
  --labels '{"environment":"production","team":"platform"}'

3. Use Service Keys for External Access

Instead of binding to apps, create service keys for external clients.

4. Implement Retry Logic

For async operations, poll status with exponential backoff.

5. Choose Appropriate Plans

  • subaccount-admin: Full management
  • subaccount-audit: Read-only monitoring
  • container: Isolated per-instance access

6. Secure Credentials

  • Rotate service keys periodically
  • Use X.509 for production
  • Store credentials in secret managers

Bundled Resources

Templates (5 files)

Ready-to-use templates in templates/ directory:

  • service-instance-cf.json - Cloud Foundry instance parameters
  • service-binding-cf.json - Cloud Foundry binding parameters
  • service-instance-k8s.yaml - Kubernetes ServiceInstance CRD
  • service-binding-k8s.yaml - Kubernetes ServiceBinding CRD
  • oauth-token-request.sh - OAuth2 token retrieval script

Reference Documentation (7 files)

Detailed documentation in references/ directory:

  1. api-reference.md - Complete API endpoints, operations, and examples
  2. smctl-commands.md - Full SMCTL CLI reference with all flags and usage
  3. btp-cli-commands.md - Comprehensive BTP CLI command reference
  4. kubernetes-operator.md - Service Operator setup, CRDs, migration guide
  5. rate-limiting-filtering.md - Rate limits, filtering, and best practices
  6. roles-permissions.md - Plans, roles, scopes, and authorization details
  7. service-catalog-legacy.md - Legacy svcat and broker proxy setup (deprecated)

Quick Reference Templates


Official Documentation Links

Primary Resources

API Documentation

Related Documentation


Instructions for Claude

When using this skill:

  1. Identify the environment - Cloud Foundry, Kyma, Kubernetes, or Other
  2. Choose appropriate tool - SMCTL, BTP CLI, CF CLI, kubectl, or cockpit
  3. Use correct authentication - OAuth2, X.509, or interactive
  4. Check rate limits - Implement retry logic for bulk operations
  5. Verify async completion - Poll status for provision/bind operations
  6. Reference templates - Use provided templates for common operations
  7. Check reference files - Detailed information in references/ directory

For Cloud Foundry: Use cf CLI or cockpit For Kubernetes: Use ServiceInstance/ServiceBinding CRDs For Other environments: Use SMCTL or BTP CLI For API access: Retrieve OAuth2 token first

When troubleshooting:

  • Check operation status for async operations
  • Verify credentials and permissions
  • Review rate limits if getting 429 errors
  • Check prerequisites (entitlements, quotas, dependencies)

License: GPL-3.0 Version: 1.1.1 Maintained by: Eduard Jiglau Email: hello@sap-ai-skills.com Website: https://sap-ai-skills.com Repository: https://github.com/secondsky/sap-skills

FAQ

What does the sap-btp-service-manager skill do?

This skill provides comprehensive knowledge for SAP Service Manager on SAP Business Technology Platform (BTP). It should be used when managing service instances, bindings, brokers, and platforms across Cloud Foundry, Kyma, Kubernetes, and other environments. Use when provisioning services via SMCTL CLI, BTP CLI, or REST APIs, configuring OAuth2 authentication, working with the SAP BTP Service Operator in Kubernetes, troubleshooting service consumption issues, or implementing cross-environment service management. Keywords: SAP Service Manager, BTP, service instances, service bindings, SMCTL, service broker, OSBAPI, Cloud Foundry, Kyma, Kubernetes, service-manager, service-operator-access, subaccount-admin, OAuth2, X.509, service marketplace, service plans, rate limiting, cf create-service, btp create services/instance, ServiceInstance CRD, ServiceBinding CRD

How do I install sap-btp-service-manager?

Run npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-service-manager in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/sap-btp-service-manager/ (personal) or .claude/skills/sap-btp-service-manager/ (project).

Which AI agents can use sap-btp-service-manager?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is sap-btp-service-manager safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains sap-btp-service-manager?

It is published by secondsky in secondsky/sap-skills. It has 658 recorded installs.

More from secondsky/sap-skills

View all →

sap-abap

secondsky/sap-skills

Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing, dynamic programming, RTTI/RTTC, field symbols, data references, exception handling, or ABAP unit testing. Covers both classic ABAP and modern ABAP for Cloud Development patterns.

Data & Databases1.3K installs

sap-fiori-tools

secondsky/sap-skills

Develops SAP Fiori applications using SAP Fiori tools extensions for VS Code and SAP Business Application Studio. Use when: generating Fiori Elements or Freestyle SAPUI5 applications, configuring Page Editor for List Report or Object Page, working with annotations and Service Modeler, setting up deployment to ABAP or Cloud Foundry, creating adaptation projects, using Guided Development, previewing with mock data or live data, configuring SAP Fiori launchpad, or using AI-powered generation with Project Accelerator/Joule. Technologies: SAP Fiori Elements, SAPUI5, OData V2/V4, CAP, SAP BTP, ABAP, Cloud Foundry, fiori-mcp-server (MCP tools for AI-assisted generation).

AI & Agents1.2K installs

sap-cap-capire

secondsky/sap-skills

SAP Cloud Application Programming Model (CAP) development skill using Capire documentation. Use when: building CAP applications, defining CDS models, implementing services, working with SAP HANA/SQLite/PostgreSQL databases, deploying to SAP BTP Cloud Foundry or Kyma, implementing Fiori UIs, handling authorization, multitenancy, or messaging. Covers CDL/CQL/CSN syntax, Node.js and Java runtimes, event handlers, OData services, and CAP plugins.

Backend & APIs1.2K installs

sap-btp-developer-guide

secondsky/sap-skills

Develops business applications on SAP Business Technology Platform (BTP) using CAP (Node.js/Java) or ABAP Cloud. Use when: building cloud applications on SAP BTP, deploying to Cloud Foundry or Kyma runtimes, integrating with SAP HANA Cloud, implementing SAP Fiori UIs, connecting to remote SAP systems, building multitenant SaaS applications, extending SAP S/4HANA or SuccessFactors, setting up CI/CD pipelines, implementing observability, or following SAP development best practices. Keywords: SAP BTP, Business Technology Platform, CAP, Cloud Application Programming Model, ABAP Cloud, Cloud Foundry, Kyma, SAP HANA Cloud, SAP Fiori, SAPUI5, CI/CD, observability, multitenant, SaaS, SAP BTP ABAP environment, SAP Business Application Studio, SAP Cloud SDK, SAP Integration Suite, SAP Event Mesh, SAP Connectivity Service, SAP Destination Service, XSUAA, OAuth, OpenID Connect, OData, CDS, Core Data Services, ABAP CDS, ABAP RESTful Application Programming Model, RAP, ABAP development, SAP BTP deve

DevOps & Cloud1.1K installs

sap-btp-best-practices

secondsky/sap-skills

SAP BTP best practices for enterprise architecture, account management, security, and operations, with verification evidence tracked in the repository ledger. Use when planning BTP implementations, setting up account hierarchies, configuring environments, implementing authentication, designing CI/CD pipelines, establishing governance, building Platform Engineering teams, implementing failover strategies, or managing application lifecycle on SAP BTP. Keywords: SAP BTP, account hierarchy, global account, directory, subaccount, Cloud Foundry, Kyma, ABAP, SAP Identity Authentication, CI/CD, governance, Platform Engineering, failover, multi-region, SAP BTP best practices

sap-btp-connectivity

secondsky/sap-skills

SAP BTP Connectivity skill covering Destination Service, Connectivity Service, Cloud Connector, Connectivity Proxy, and Transparent Proxy for Kubernetes. Use when configuring destinations (HTTP, RFC, LDAP, MAIL, TCP), setting up cloud-to-on-premise connectivity, implementing OAuth and principal propagation, deploying connectivity proxies in Kubernetes/Kyma, troubleshooting connectivity errors (405, 407, 503), or configuring multitenancy.

DevOps & Cloud950 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs