
Btp Mcp Server
io.github.ABRANJAN07Published by GitHub account ABRANJAN07v1.0.0Updated Oct 24, 2026
Discover SAP BTP services, browse service catalog, check running instances, query dests, & more
Overview
A local MCP server that connects an AI assistant to SAP BTP APIs so it can browse the service catalog, check running instances, and inspect destinations.
- What you can do
- Browse the global BTP service catalog and the plans each service offers, including free plans, and get a service recommendation for a described use case, such as async messaging in a CAP app or connecting to an on-premise SAP system. List the service instances running in a subaccount and check whether they are healthy. Read the destinations configured in the subaccount and the authentication they use. Responses are cached for five minutes by default, and list endpoints fetch every page rather than only the first results.
- When to use it
- Useful for SAP BTP developers who want to ask an assistant about their landscape instead of switching to BTP Cockpit: which services and plans exist, what is already running and healthy, which destinations are configured, and which service fits a given use case.
- Requirements
- Runs locally as a Python package installed with pip. Needs a Service Manager service key from the BTP subaccount, supplied through environment variables: BTP_CLIENT_ID, BTP_CLIENT_SECRET, BTP_TOKEN_URL, BTP_SM_URL, BTP_SUBACCOUNT_ID and BTP_DESTINATION_URL. Network access to the BTP APIs is required; CACHE_TTL_SECONDS is optional.
Installation
In SourceWeft
- Open Btp Mcp Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
SAP BTP Services Discovery — MCP Server
A production-ready MCP (Model Context Protocol) server that exposes SAP BTP platform APIs as tools for any MCP-compatible AI agent — Claude Code, Cursor, Joule Studio, LangGraph agents, or any other MCP client.
[image]Connect any AI agent to your SAP BTP landscape via the Model Context Protocol.
[PyPI version] [Python] [MCP] [License: MIT]
What is this?
The BTP MCP Server is an open-source Model Context Protocol server that connects AI agents to the SAP Business Technology Platform (BTP) APIs.
Instead of switching to BTP Cockpit to answer common developer questions, you can ask your AI agent directly:
- "What BTP services are available in my account?"
- "Is HANA Cloud already running in my subaccount?"
- "I need async messaging in my CAP app — what should I use?"
- "What destinations are configured and what authentication do they use?"
Works with Claude Code, Cursor, Joule Studio, LangGraph agents, and any other MCP-compatible AI client.
Tools
Installation
Prerequisites
You need a Service Manager service key from your BTP subaccount.
Steps to get one:
- Go to BTP Cockpit → your subaccount → Services → Service Marketplace
- Search for Service Manager → Create instance with plan
subaccount-admin - Create a Service Key on the instance
- The key JSON contains your credentials — see Configuration below
Configuration
All configuration is via environment variables. Copy .env.example to .env
and fill in the values from your Service Manager service key:
Note: Never commit your
.envfile to GitHub. Use.env.example(with no real values) as a reference template.
Usage
With Claude Desktop
Add to your claude_desktop_config.json:
Mac: ~/.claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Restart Claude Desktop. Then ask:
- "What BTP services do I have available?"
- "Are there any failed service instances?"
- "I need to connect to an on-premise SAP system — what BTP service handles that?"
With Claude Code / Cursor
With a LangGraph agent
With Joule Studio (BTP)
Deploy in HTTP mode and register as a BTP Destination:
Then in BTP Cockpit → Destinations → create a destination pointing to your server URL. In Joule Studio Agent Builder → Tools → Add MCP Server → select the destination.
Running locally from source
Running tests
Tests use mocked BTP responses — no real credentials needed.
Expected output: 17 tests passed
Project structure
How it works
Caching: BTP API responses are cached for 5 minutes by default. The service catalog and instance list change rarely — caching keeps responses fast without sacrificing data freshness.
Pagination: All list endpoints fetch every page from BTP, not just the first 50 results.
Roadmap
This is Phase 2 of a 6-phase project building toward a full AI-powered BTP operations platform.
Coming soon (Phase 3)
- LangGraph ReAct agent with multi-turn conversation memory
- FastAPI SSE streaming endpoint
- Code generation for recommended services (CAP binding config, CLI commands, YAML manifests)
Entitlements API (temporarily disabled)
The get_btp_entitlements tool requires a separate
Cloud Management Service (CIS Central plan) service key.
The code is fully written and commented out — see
ENTITLEMENTS_SETUP.md to enable it when ready.
Contributing
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
License
MIT — see LICENSE for details.
Author
Built by Abhijeet Ranjan as part of a series on AI + SAP BTP integration.
Follow the journey on LinkedIn for Phase 3 updates.
Source: README.md at commit d6753a8
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.