SAP BTP Cloud Foundry MCP Server
by Shreesha4994
README.md
# SAP BTP Cloud Foundry MCP Server
[](https://badge.fury.io/js/sap-btp-cf-mcp-server)
[](https://opensource.org/licenses/MIT)
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)
1. Install via NPM (recommended):
```bash
npx sap-btp-cf-mcp-server
```
2. Add to your Cline MCP settings (`~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`):
```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"
}
}
}
}
```
3. Restart VS Code
#### For Claude Desktop
1. Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```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"
}
}
}
}
```
2. Restart Claude Desktop
### From Source
```bash
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 Foundry
- `cf_target` - Switch organization and/or space
- `cf_get_target` - Get current target information
### Application Management
- `cf_push` - Deploy applications
- `cf_app` - Get application details
- `cf_apps` - List all applications
- `cf_start` - Start an application
- `cf_stop` - Stop an application
- `cf_restart` - Restart an application
- `cf_restage` - Restage an application
- `cf_scale` - Scale application resources
- `cf_delete_app` - Delete an application
- `cf_logs` - Get application logs
### Environment Variables
- `cf_set_env` - Set environment variable
- `cf_unset_env` - Unset environment variable
- `cf_get_env` - Get all environment variables
### Service Management
- `cf_create_service` - Create service instance
- `cf_delete_service` - Delete service instance
- `cf_bind_service` - Bind service to application
- `cf_unbind_service` - Unbind service from application
- `cf_services` - List all service instances
- `cf_service` - Get service instance details
- `cf_marketplace` - List available services
### Organization & Space Management
- `cf_orgs` - List all organizations
- `cf_spaces` - List all spaces
- `cf_create_space` - Create a new space
### Route Management
- `cf_map_route` - Map route to application
- `cf_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:
```json
{
"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
1. **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
2. **Username/Password**: Your SAP BTP credentials
- Available from SAP BTP Cockpit
3. **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
```bash
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
```bash
npm install -g sap-btp-cf-mcp-server
```
Or use directly with npx:
```bash
npx sap-btp-cf-mcp-server
```
## š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## š License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## š¤ Author
**Shreesha KJ**
- Email: s.kj@sap.com
- GitHub: [@Shreesha4994](https://github.com/Shreesha4994)
## š Acknowledgments
- Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol/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
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues