SAP BTP Cloud Foundry MCP Server
An MCP server for automating SAP BTP Cloud Foundry operations, providing tools for deploying, managing, and monitoring applications.
README
SAP BTP Cloud Foundry MCP Server
An MCP (Model Context Protocol) server for automating SAP BTP Cloud Foundry operations. This server provides comprehensive tools for deploying, managing, and monitoring applications on SAP BTP Cloud Foundry.
š Quick Start
Installation
For Cline (VS Code)
-
Install via NPM (recommended):
npx sap-btp-cf-mcp-server -
Add to your Cline MCP settings (
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):{ "mcpServers": { "sap-btp-cf": { "command": "npx", "args": ["-y", "sap-btp-cf-mcp-server"], "env": { "CF_API_ENDPOINT": "https://api.cf.us10.hana.ondemand.com", "CF_USERNAME": "your-username", "CF_PASSWORD": "your-password", "CF_ORG": "your-org", "CF_SPACE": "your-space" } } } } -
Restart VS Code
For Claude Desktop
-
Add to your Claude Desktop config (
~/Library/Application Support/Claude/claude_desktop_config.json):{ "mcpServers": { "sap-btp-cf": { "command": "npx", "args": ["-y", "sap-btp-cf-mcp-server"], "env": { "CF_API_ENDPOINT": "https://api.cf.us10.hana.ondemand.com", "CF_USERNAME": "your-username", "CF_PASSWORD": "your-password", "CF_ORG": "your-org", "CF_SPACE": "your-space" } } } } -
Restart Claude Desktop
From Source
git clone https://github.com/Shreesha4994/sap-btp-cf-mcp-server.git
cd sap-btp-cf-mcp-server
npm install
npm run build
Features
Authentication & Session Management
cf_login- Authenticate with Cloud Foundrycf_target- Switch organization and/or spacecf_get_target- Get current target information
Application Management
cf_push- Deploy applicationscf_app- Get application detailscf_apps- List all applicationscf_start- Start an applicationcf_stop- Stop an applicationcf_restart- Restart an applicationcf_restage- Restage an applicationcf_scale- Scale application resourcescf_delete_app- Delete an applicationcf_logs- Get application logs
Environment Variables
cf_set_env- Set environment variablecf_unset_env- Unset environment variablecf_get_env- Get all environment variables
Service Management
cf_create_service- Create service instancecf_delete_service- Delete service instancecf_bind_service- Bind service to applicationcf_unbind_service- Unbind service from applicationcf_services- List all service instancescf_service- Get service instance detailscf_marketplace- List available services
Organization & Space Management
cf_orgs- List all organizationscf_spaces- List all spacescf_create_space- Create a new space
Route Management
cf_map_route- Map route to applicationcf_unmap_route- Unmap route from application
Deployment Workflows
cf_deploy_workflow- Complete deployment workflow (push, bind services, configure, start)
Prerequisites
- Cloud Foundry CLI installed and accessible in PATH
- SAP BTP account with appropriate permissions
- Node.js installed
Configuration
The server is configured in the MCP settings with the following environment variables:
{
"sap-btp-cf": {
"command": "node",
"args": ["/path/to/sap-btp-cf-server/build/index.js"],
"env": {
"CF_API_ENDPOINT": "https://api.cf.us10.hana.ondemand.com",
"CF_USERNAME": "your-username",
"CF_PASSWORD": "your-password",
"CF_ORG": "your-org",
"CF_SPACE": "your-space"
}
}
}
Getting Your Credentials
-
API Endpoint: Your region-specific CF API endpoint
- US10:
https://api.cf.us10.hana.ondemand.com - EU10:
https://api.cf.eu10.hana.ondemand.com - Check your SAP BTP Cockpit for your specific endpoint
- US10:
-
Username/Password: Your SAP BTP credentials
- Available from SAP BTP Cockpit
-
Organization & Space: Your target org and space
- Optional - can be specified in tool calls if not set as defaults
Usage Examples
Deploy an Application
Deploy my application located at ./my-app with 2 instances and 512M memory
This will use the cf_push tool.
Create and Bind Service
Create a HANA service instance called my-hana-db with plan hdi-shared, then bind it to my-app
This will use cf_create_service and cf_bind_service tools.
Complete Deployment Workflow
Deploy my-app from ./app-dir, bind services my-hana and my-xsuaa, and set environment variable NODE_ENV to production
This will use the cf_deploy_workflow tool for a complete automated deployment.
Scale Application
Scale my-app to 3 instances with 1GB memory
This will use the cf_scale tool.
View Logs
Show me the recent logs for my-app
This will use the cf_logs tool.
Development
Building
npm run build
Project Structure
sap-btp-cf-server/
āāā src/
ā āāā index.ts # Main MCP server
ā āāā cf-client.ts # Cloud Foundry CLI wrapper
ā āāā types.ts # TypeScript type definitions
āāā build/ # Compiled JavaScript
āāā package.json
āāā tsconfig.json
Benefits
- Speed: Execute complex CF operations with simple commands
- Error Prevention: Structured inputs with validation
- Automation: Multi-step workflows in single operations
- Consistency: Standardized deployment patterns
- Integration: Seamless integration with other development tools
Troubleshooting
Server Not Connected
- Verify the build path in MCP settings matches the compiled output location
- Check that Node.js is installed and accessible
- Ensure Cloud Foundry CLI is installed:
cf --version
Authentication Errors
- Verify your credentials are correct
- Check your API endpoint matches your region
- Ensure you have appropriate permissions in the org/space
Tool Execution Errors
- Check CF CLI is working:
cf target - Verify you're logged in:
cf auth - Check application/service names are correct
š¦ Installation from NPM
npm install -g sap-btp-cf-mcp-server
Or use directly with npx:
npx sap-btp-cf-mcp-server
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š¤ Author
Shreesha KJ
- Email: s.kj@sap.com
- GitHub: @Shreesha4994
š Acknowledgments
- Built with the Model Context Protocol SDK
- Powered by Cloud Foundry CLI
- Designed for SAP BTP Cloud Foundry
š Project Status
This project is actively maintained. Issues and feature requests are welcome!
Made with ā¤ļø for the SAP Developer Community
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.