MCP serverMCP servertypeExposes tools to a coding agent over MCP.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

mcp-sap-focusedrun

SAP Focused Run's Landscape Management Database as MCP tools — hosts, systems, databases, cloud tenants, technical instances, ABAP clients, software components and product versions.

Focused Run is where a large landscape is actually described, and the LMDB Public API is the machine-readable form of that description. This exposes it so the question "what is running where, at which version" is answerable in a sentence. A find_customer tool resolves customer ids, names and networks with fuzzy search and deliberately minimal data transfer, which is the entry point for everything else. Python on FastMCP, Apache-2.0.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
Agent access to your systemsBTPAgent access to your systemscapabilityGiving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. [Serving your application over MCP](capability:mcp-servers) exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to [agent access to your code](capability:agent-code-access).
Requires
SAP Focused RunSAP Focused Runoutside the atlasThe LMDB Public API this server exposes as tools, reached with a dedicated technical user.
Optional
DockerDockeroutside the atlasRunning the server as a packaged container image rather than via the local Python environment.installation

Who is behind it

Derek VincentDerek VincentPersonMaintains this
In the atlas: maintains 1, contributes to 1
@derekvincent
maintainer

Before choosing this

Conditions

PracticalFunctional boundary

It reads the landscape inventory, not the systems in it — nothing here reaches a running application, and nothing here changes anything. A landscape description is also commercially sensitive in its own right: versions and hosts are what a targeting exercise starts from.

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your systemsAn MCP server uses SAP APIs to supply tools, resources or data to an agent.
  • § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
  • § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
  • § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.

MCP does not replace the API's documented-use boundary. Check that every endpoint is published for the intended use and whether the policy's AI-call or extraction provisions apply to the design.

SAP API Policy 4.2026a →

What it declares

Every artifact

Type
MCP server
Origin
Independently maintained

Connections4

Where mcp-sap-focusedrun runsOn-premiseBy its type: an MCP server is called by an MCP clientcallsdocumentedmay needif deploying the server as acontainer instead of runningit directly with uvdocumentedoutboundYour MCP client, actorYour MCP clientDocker, SoftwareDockerSoftwaremcp-sap-focusedrun, modulemcp-sap-focusedrunSAP Focused Run, SAP solutionSAP Focused RunSAP solution
SAPnot SAP's, or the project's ownstated in the documentdocumented onlyunder a condition

README

quoted from derekvincent/mcp-sap-focusedrun under Apache-2.0, read
derekvincent/mcp-sap-focusedrun/README.mdOn GitHub

MCP Server for SAP Focused Run

License: Apache 2.0 Python 3.13+ Built with FastMCP

This project provides a Model-Context-Protocol (MCP) server that acts as a bridge between a Large Language Model (LLM) and an SAP Focused Run system. It exposes the Focused Run Landscape Management Database (LMDB) Public API as a set of tools that an LLM can easily query.

Key Features

  • Customer Resolution: New find_customer tool to resolve Customer IDs, Names, and Networks with minimal data transfer and fuzzy search capabilities.
  • Exposes comprehensive SAP Focused Run endpoints: Hosts, Systems, Databases, Cloud Tenants, Technical Instances, ABAP Clients, Software Components, and Product Versions.
  • High-Performance Async Architecture: Built on httpx.AsyncClient with connection pooling and async transport support (stdio, sse, streamable-http).
  • Production Resilience: Built-in exponential backoff retries for transient SAP API errors (502, 503, 504) and network blips.
  • Identity-Isolated Caching: 5-minute TTL cache with strict SHA-256 identity isolation, ensuring no data leakage between different tenants or credentials.
  • Security-First Logging: Sensitive values like usernames and tokens are automatically redacted in logs.
  • Packaged as a standard Python application with a command-line entry point.
  • Includes predefined MCP Prompts for deep system analysis and landscape discovery.

Quick Start

Prerequisites
  • uv installed.
  • Python 3.13+
  • FocusedRun technical user with API access to a SAP FocusedRun instance with the following roles SAP_FRN_LDB_ALL and SAP_FRN_LDB_DISP.
  • SAP ICF service sap/frun/landscape/landscape_api activated.
  • An MCP client Cursor, Gemini, Claude Desktop, VS Code with Copilot, etc.
Installation
  1. Clone the repository:

    git clone <your-repository-url>
    cd mcp-sap-focusedrun
  2. Install dependencies using uv: This project uses uv for fast Python package management.

    uv sync

Usage

The server is configured using environment variables. Create a .env file in the root of the project directory and add the following credentials:

API_BASE_URL="https://<your-focused-run-host>/sap/frun/landscape/landscape_api"
SAP_CLIENT="100"
API_USER="YOUR_API_USER"
API_PASSWORD="YOUR_API_PASSWORD"
CUSTOM_HEADERS='{"x-custom-header": "value"}'

Or pass the configuration directly in your MCP client config (no .env file needed):

{
  "mcpServers": {
    "sap-focusedrun": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-sap-fucsedrun",
        "run",
        "mcp-sap-focusedrun"
      ],
      "env": {
        "API_BASE_URL": "https://<sap focused run host>/sap/frun/landscape/landscape_api",
        "SAP_CLIENT": "100",
        "API_USER": "YOUR_API_USER",
        "API_PASSWORD": "YOUR_API_PASSWORD",
        "CUSTOM_HEADERS": "{\"x-custom-header\": \"value\"}"
      }
    }
  }
}

or via the Docker image:

docker build -t mcp-sap-focusedrun .
docker run -it --rm --name sap-mcp -p 8000:8000 --env-file .env mcp-sap-focusedrun

Configuration

VariableRequiredDefaultDescription
API_BASE_URLX-Base url for the Focused Run API
SAP_CLIENTX100SAP FocusedRun Client
API_USERX-Technical user name
API_PASSWORDX-Technical user password
CUSTOM_HEADERS-Optional JSON string of custom HTTP headers
CF_ACCESS_CLIENT_ID-Cloudflare Access Client ID (optional)
CF_ACCESS_CLIENT_SECRET-Cloudflare Access Client Secret (optional)
MCP_SERVER_AUTH_TOKEN-Required for SSE/HTTP transport (raw token value)
MCP_ALLOWED_HOSTS127.0.0.1, localhostComma-separated list of allowed host headers. Required when deploying behind a proxy (like K8s Ingress) to prevent 421 DNS Rebinding errors. (e.g. mcp.my-domain.com,mcp-service)
TRANSPORTstdiosse, streamable-http, or stdio
PORT8000The port to bind to when running via HTTP
HOST0.0.0.0The host interface to bind to
LOG_LEVELINFOLogging level (DEBUG, INFO, WARNING, ERROR)
CACHE_TTL300API response cache TTL in seconds
CACHE_MAXSIZE100Max number of responses to cache

Configuration Overrides (via HTTP Headers)

When running the server in sse or streamable-http mode, you can dynamically override the configuration for each request. This is ideal for multi-tenant setups.

Supported Overrides
HeaderOverrides Env Var
x-api-base-urlAPI_BASE_URL
x-api-userAPI_USER
x-api-passwordAPI_PASSWORD
x-sap-clientSAP_CLIENT
x-cf-access-client-idCF_ACCESS_CLIENT_ID
x-cf-access-client-secretCF_ACCESS_CLIENT_SECRET

Precedence: Header values take absolute precedence over environment variables. If a header is not provided, the server falls back to the default value defined in your environment.

Authentication

When using HTTP transports, provide your MCP_SERVER_AUTH_TOKEN in the Authorization header: Authorization: Bearer <your_token>

The server is robust and handles tokens with or without the Bearer prefix gracefully.

Running Tests

To run the test suite and verify the connection to your SAP Focused Run system, run the tests using uv:

uv run pytest

Tools Provided

  • find_customer: (New) Resolves customer names or network IDs to a minimal data set (CUSTOMER_NETWORK, CUSTOMER_NETWORK_NAME, CUSTOMER_NAME). Performs an exhaustive recursive search across the entire landscape with client-side deduplication.
  • search_lmdb_by_product_version: (New) Searches for customer systems in the LMDB by product version name. Supports wildcard queries (e.g., SAP ERP or *SAP ERP*), customer name/network filtering, and case-insensitive client-side filtering on environment tier (e.g., DEV, QAS, PROD, Sandbox, DR).
  • get_lmdb_hosts: Fetches host information from the LMDB.
  • get_lmdb_systems: Fetches technical systems.
  • get_lmdb_technical_instances: Fetches technical instances.
  • get_lmdb_databases: Fetches database instances.
  • get_lmdb_cloud_tenants: Fetches registered cloud tenants.
  • get_lmdb_installed_software_components: Fetches installed software components.
  • get_lmdb_installed_product_versions: Fetches installed product versions.
  • get_lmdb_abap_clients: Fetches configured ABAP clients.
  • get_lmdb_single_database: Explicit endpoint for single databases.

Current Issues

  1. The following API's endpoint have not been fully tested:
    1. landscape_api_single_database - This API services itself seem to have issues.
Apache-2.0, read
Agent access to your systems
  1. mcp-integration-suiteMCP server for the general Integration Suite functionsfrom BTP/BAIP
  2. mcp-is-tpmJava MCP server for Integration Suite Trading Partner Managementfrom BTP/BAIP
  3. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  4. abap2UI5 for VS CodeVS Code extension to preview, activate and lint abap2UI5 appsfrom ABAP
  5. SF-MCPMCP server with 62 tools over SAP SuccessFactors OData APIsfrom SAP SuccessFactors
  6. hybris-mcp-liteRead-only MCP server over a local SAP Commerce Cloud's HACfrom SAP Commerce
  7. calmcpMCP server with read tools over the SAP Cloud ALM APIsfrom BTP/BAIP
  8. CostingGeek/sap-mcpPython MCP server fetching sales orders from SAP's business data graphfrom BTP/BAIP
  9. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  10. cloud-alm-itsm-mcpMCP server querying installations via the SAP Cloud ALM ITSM APIfrom BTP/BAIP
  11. hana-mcp-serverMCP server for schema discovery and guarded SQL on SAP HANAfrom BTP/BAIP
  12. sap_analytics_cloud_mcpMCP server for the SAP Analytics Cloud REST APIfrom BTP/BAIP
  13. mcp-sap-cpiMCP server for Cloud Integration runtime: messages, logs, deploymentfrom BTP/BAIP
  14. AI Core MCP ServerSAP AI Core APIs as MCP tools from one JSON config filefrom BTP/BAIP
  15. BTP CF MCP ServerCloud Foundry V3 API on SAP BTP as MCP toolsfrom BTP/BAIP
  16. BTP MCP ServerBTP Core Services as MCP tools with in-chat dashboardsfrom BTP/BAIP
  17. btp-sap-odata-to-mcp-serverExposes S/4HANA or ECC OData services as MCP toolsfrom BTP/BAIP
  18. CI MCP ServerSAP Cloud Integration OData APIs as MCP toolsfrom BTP/BAIP
  19. odata-mcp-proxyConfig-driven proxy turning OData and REST endpoints into MCP toolsfrom BTP/BAIP
  20. sap-pi-mcp-serverMCP server for SAP PI and PO monitoring and directory metadatafrom BTP/BAIP
  21. sap-bdc-mcp-serverMCP server managing Delta shares in SAP Business Data Cloudfrom BTP/BAIP
  22. @mariodefe/sap-datasphere-mcpMCP server with forty-five tools across a Datasphere tenantfrom BTP/BAIP
  23. midasol/sap-mcp-serverPython MCP server for SAP Gateway OData operationsfrom BTP/BAIP
  24. odata_mcp_goGo binary bridging any OData v2 or v4 service to MCPfrom BTP/BAIP
  25. odata_mcpPython bridge generating MCP tools from OData v2 metadatafrom BTP/BAIP
  26. sap-bdc-mcpMCP tooling for SAP Business Data Cloud discovery and contractsfrom BTP/BAIP
  27. mcp-sap-datasphere-serverRead-only MCP server for exploring SAP Dataspherefrom BTP/BAIP
  28. sap-mcp-serverReads SAP ECC and S/4HANA for an agent over Gateway OData and RFC, with a Node bridge that speaks the RFC protocol without the proprietary SAP NetWeaver RFC SDK.from ABAP
  29. cap-mcp-bridgeMCP server generating tools from a CAP or OData V4 service's metadatafrom CAP
  30. MCP Server for SAP BTP AdministrationSAP-hosted MCP endpoint for BTP account administrationfrom BTP/BAIP
  31. SAP LeanIX MCP ServerHosted MCP endpoint onto an SAP LeanIX instancefrom BTP/BAIP
  32. SAP-samples/hana-cli-claude-pluginClaude Code plugin registering hana-cli's MCP serverfrom BTP/BAIP
  33. SAP-samples/hana-developer-cli-tool-exampleDeveloper-centric command line for SAP HANAfrom BTP/BAIP
  34. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  35. sap-security-mcpRead-only security analysis MCP server for SAP audits and SoD reviewfrom ABAP
  36. cpi-mcp-serverGo MCP server over Cloud Integration packages and integration flowsfrom BTP/BAIP
  37. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP
  38. pyrfc-mcpMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP

Details

Sources3
sap-ai-mcp-serversdiscovered herechecked
github.com/derekvincent/mcp-sap-focusedruntree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viasap-ai-mcp-servers
first seen in the atlas
ecosystem and domainbtp, operations-and-runtime
History in the atlas3
  1. The concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
  2. Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README. Filed on the BTP door because there is no door for the SAP product it fronts and hard rule 9 allows one — the same strain recorded on the LeanIX entries.
  3. First seen.
For your agent
Ref
artifact:derekvincent-mcp-sap-focusedrun
JSON
/artifacts/derekvincent-mcp-sap-focusedrun.json
MCP
Connecting an agent