BTP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BTP_SM_URL | Yes | Service Manager URL from Service Manager service key | |
| BTP_CLIENT_ID | Yes | Client ID from Service Manager service key | |
| BTP_TOKEN_URL | Yes | OAuth2 token URL from Service Manager service key | |
| BTP_CLIENT_SECRET | Yes | Client secret from Service Manager service key | |
| BTP_SUBACCOUNT_ID | Yes | Subaccount GUID from BTP Cockpit | |
| CACHE_TTL_SECONDS | No | Optional cache TTL in seconds | 300 |
| BTP_DESTINATION_URL | Yes | Destination service URL (region-specific) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_btp_servicesA | Lists all SAP BTP services available in the global service catalog. These are services that EXIST in BTP — not necessarily what your subaccount is running. Use list_btp_instances to see what is actually provisioned and running. Optionally filter by keyword (searches name, description, and tags). Examples of when to use this tool:
|
| get_btp_service_plansA | Returns all available plans for a specific BTP service. Plans differ in capacity, features, and cost. Some have a free tier. Use this to understand what options exist before creating an instance. |
| list_btp_instancesA | Lists all service instances currently provisioned in your BTP subaccount. An instance is one running copy of a BTP service that you created. Shows the current state: SUCCEEDED (healthy), FAILED, or IN_PROGRESS. Examples of when to use this tool:
|
| get_btp_destinationsA | Lists all destinations configured in your BTP subaccount. A destination is a saved connection to an external system. Instead of hardcoding URLs in your code, you define a named destination in BTP and reference it by name. Filter options: proxy_type: "OnPremise" (via Cloud Connector) or "Internet" (cloud) auth_type: e.g. "OAuth2ClientCredentials", "BasicAuthentication" Examples of when to use this tool:
|
| recommend_btp_serviceA | Recommends the right BTP service(s) for a described use case. Also checks whether the recommended services are already running as instances in your subaccount. Note: Entitlement checking is temporarily disabled. The 'is_entitled' field always shows null until re-enabled. Examples of when to use this tool:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct aspect of BTP: destinations, service plans, instances, services catalog, and recommendations. No overlaps cause confusion.
All tools follow the consistent 'verb_btp_noun' pattern, using snake_case with clear verbs (get, list, recommend).
With 5 tools, the set is well-scoped for BTP subaccount management—neither sparse nor excessive.
Covers discovery and recommendations well but lacks CRUD operations for instances, destinations, or entitlements, leaving notable gaps.