cloud-alm-itsm-mcp
Provides tools for querying installations in SAP Cloud ALM ITSM API, supporting OAuth 2.0 authentication, pagination, and filtering by system type, customer number, product name, and full-text search.
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., "@cloud-alm-itsm-mcplist BTP installations"
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 Cloud ALM ITSM MCP Server
A Model Context Protocol (MCP) server for querying installations in SAP Cloud ALM ITSM API.
Features
OAuth 2.0 Authentication: Automatically handles token requests and caching
Installation Queries: Multiple query methods for flexible data retrieval
Get all installations with pagination
Filter by system type (BTP, Public Cloud, etc.)
Filter by customer number
Filter by product name
Full-text search across multiple fields
Related MCP server: ARC-1
Prerequisites
Node.js 18+
TypeScript
SAP Cloud ALM ITSM API credentials (client ID, client secret, endpoints)
Installation
Clone or navigate to the project directory:
cd cloud-alm-itsm-mcpInstall dependencies:
npm installCreate a
.envfile from the template:cp .env.example .envUpdate
.envwith your SAP Cloud ALM credentials:cloud_alm_token_endpoint=https://your-tenant.authentication.eu10.hana.ondemand.com cloud_alm_api=https://your-api-endpoint.eu10.alm.cloud.sap cloud_alm_itsm_api_clientid=your_client_id cloud_alm_itsm_api_clientsecret=your_client_secret reporter=your_reporter_email
Building
Build the TypeScript code to JavaScript:
npm run buildThis creates compiled JavaScript files in the dist/ directory.
Running
Development Mode
For development with automatic TypeScript compilation:
npm run devProduction Mode
After building:
npm startAvailable Tools
1. get_installations
Retrieve installations from SAP Cloud ALM ITSM API with optional pagination.
Parameters:
offset(number, optional): Starting index for pagination (default: 0)limit(number, optional): Maximum number of results (default: 50)
Example:
{
"offset": 0,
"limit": 50
}2. get_installations_by_system_type
Filter installations by system type (e.g., BTP, Public Cloud).
Parameters:
system_type(string, required): The system type to filter byoffset(number, optional): Starting index (default: 0)limit(number, optional): Maximum results (default: 50)
Example:
{
"system_type": "BTP",
"offset": 0,
"limit": 50
}3. get_installations_by_customer
Filter installations by customer number.
Parameters:
customer_nbr(string, required): The customer numberoffset(number, optional): Starting index (default: 0)limit(number, optional): Maximum results (default: 50)
Example:
{
"customer_nbr": "0001801161",
"offset": 0,
"limit": 50
}4. get_installations_by_product
Filter installations by product name.
Parameters:
product_txt(string, required): Product name to filter byoffset(number, optional): Starting index (default: 0)limit(number, optional): Maximum results (default: 50)
Example:
{
"product_txt": "SAP HANA Cloud",
"offset": 0,
"limit": 50
}5. search_installations
Full-text search across multiple fields (system name, customer, product, installation name, etc.).
Parameters:
query(string, required): Search query stringoffset(number, optional): Starting index (default: 0)limit(number, optional): Maximum results (default: 50)
Example:
{
"query": "BTP",
"offset": 0,
"limit": 50
}MCP Client Configuration
To use this server with an MCP client (like Claude Desktop), add it to your client configuration:
Claude Desktop (.config/claude_desktop_config.json)
{
"mcpServers": {
"cloud-alm-itsm": {
"command": "node",
"args": ["/path/to/cloud-alm-itsm-mcp/dist/index.js"],
"env": {
"cloud_alm_token_endpoint": "https://your-tenant.authentication.eu10.hana.ondemand.com",
"cloud_alm_api": "https://your-api-endpoint.eu10.alm.cloud.sap",
"cloud_alm_itsm_api_clientid": "your_client_id",
"cloud_alm_itsm_api_clientsecret": "your_client_secret",
"reporter": "your_reporter_email"
}
}
}
}Authentication Details
The server uses OAuth 2.0 with the client credentials flow:
Token Request: Uses client ID and secret to obtain an access token
Token Caching: Tokens are cached and automatically refreshed when expired (with a 5-minute buffer)
API Requests: All API calls include the Bearer token in the Authorization header
Error Handling
The server includes comprehensive error handling:
Token acquisition errors are caught and reported
API errors include response details
Missing required parameters are validated
Network errors are handled gracefully
Response Format
All tools return JSON responses with the following structure:
For single installation queries:
{
"count": 50,
"totalCount": 202,
"results": [
{
"customerNbr": "...",
"productNbr": "...",
...
}
]
}For filtered/search queries:
[
{
"customerNbr": "...",
"productNbr": "...",
...
}
]Project Structure
cloud-alm-itsm-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ ├── auth.ts # OAuth 2.0 authentication client
│ ├── api.ts # SAP Cloud ALM ITSM API client
├── dist/ # Compiled JavaScript (generated)
├── tests/ # Test data and API examples
├── package.json
├── tsconfig.json
├── .env.example # Environment variables template
└── README.md # This fileDevelopment
Type Safety
The project uses TypeScript with strict mode enabled for full type safety.
Dependencies
@modelcontextprotocol/sdk: MCP server implementationaxios: HTTP client for API requestsdotenv: Environment variable management
Troubleshooting
Token expires before token refresh
If you get authentication errors, ensure your OAuth client credentials are valid and the token endpoint is accessible.
API endpoint not responding
Check your .env configuration, particularly:
cloud_alm_api: Correct API endpoint URLreporter: Valid reporter email for the API
Missing environment variables
Ensure all required variables are set in your .env file:
cloud_alm_token_endpointcloud_alm_apicloud_alm_itsm_api_clientidcloud_alm_itsm_api_clientsecretreporter
License
MIT
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gregorwolf/cloud-alm-itsm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server