MCP server for SAP BTP account administration: inspect the global account, subaccounts, directories and environment instances via the Cloud Management Service Accounts API.
Server provides 5 read-only tools with consistent naming (verb_noun pattern: get_*, list_*) and clear descriptions (avg 150 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not documented in the source code, and parameter descriptions lack detail on constraints, formats, and error recovery guidance. No tool annotations (readOnlyHint) despite all being read-only. Error handling exists but lacks actionable recovery steps for LLMs.
Return details of the global account bound to the cis service key. Optionally expand the contained subaccounts. Maps to GET /accounts/v1/globalAccount. Read-only.
Return the full details of a single subaccount by its guid. Maps to GET /accounts/v1/subaccounts/{guid}. Read-only.
List the environment instances of a subaccount (for example Cloud Foundry orgs or Kyma) with their name, type and state. Maps to GET /accounts/v1/subaccounts/{guid}/environmentInstances. Read-only.
List the directory entries of the global account with their guid, displayName and parent, describing the account hierarchy. Maps to GET /accounts/v1/directories. Read-only.
List the subaccounts of the global account with their guid, displayName, subdomain, region and state. Maps to GET /accounts/v1/subaccounts. Read-only.
Output schemas not documented. Tools return JSON but LLMs cannot infer response structure (fields, types, nested objects). This forces LLMs to guess at available fields and risks failed downstream tool calls.
No tool annotations despite all tools being read-only. Missing readOnlyHint annotation prevents clients from optimizing caching and retry logic. Annotation support is current MCP spec (2026-07-28).
Parameter descriptions lack constraint details. 'expandSubaccounts' description does not specify valid values (true/false only), format, or what happens if omitted. 'subaccountGuid' lacks format hint (UUID?) or length constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error responses in client.ts (ApiError, ConfigurationError) lack actionable recovery guidance. Errors like 'Accounts Service request failed with HTTP 401' do not tell LLM what to do next (check credentials? retry? call different tool?).
list_subaccounts and list_directories have no pagination parameters (limit, offset, page_size). Large account hierarchies could return thousands of items, exhausting context window. No documented result limits.