rfc-mcp
Allows interaction with SAP systems via RFC-enabled function modules (BAPIs/RFCs), providing tools for discovering and inspecting functions, invoking them with read/write modes, managing transactions, and reading ABAP source code.
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., "@rfc-mcpWhat BAPI functions are available for material?"
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.
rfc-mcp
MCP server exposing SAP RFC-enabled function modules (BAPIs/RFCs) to AI
agents through a discovery-first interface, built on SAP's pyrfc
connector — plus automatic ABAP source reading (ADT when reachable,
transparent RFC fallback otherwise, see
docs/adt_rfc_integration_plan.md).
Setup
See docs/setup.md for the SAP NW RFC SDK + Python 3.11 prerequisites (required before real SAP calls work) and docs/architecture.md for the layer overview, including the read/write policy model, the generic-table-reader guard, and audit logging.
Quick start once prerequisites are installed:
uv sync --extra dev
copy .env.example .env # fill in connection + policy settings
uv run pytest # unit tests, fake pyrfc, no SAP needed
uv run mcp dev src/rfc_mcp/mcp/server.pyReal SAP connectivity additionally requires the proprietary SAP NW RFC SDK
and the archived/yanked pyrfc==3.3.1 connector. Read the support warning
and installation steps in docs/setup.md before running
uv sync --extra sap or the smoke test.
Related MCP server: SAP RFC MCP Server
Tools
search_rfc_functions(pattern, group=None, limit=50)get_rfc_function_interface(function_name)call_rfc_function(function_name, parameters, mode="read"|"write", transaction_id=None)commit_rfc_transaction(transaction_id, wait=False)rollback_rfc_transaction(transaction_id)read_abap_source(object_type, object_name, function_group=None)— one tool, no transport choice exposed to the caller; see docs/architecture.md.
ABAP knowledge skill
.claude/skills/sap-abap/ vendors the third-party
sap-abap Claude Skill so an agent using this server also has accurate
ABAP language knowledge on hand. It's licensed separately (GPL-3.0, its own
LICENSE/NOTICE.md) from the rest of this project — see below.
Scope
Foundation, connection layer, discovery, execution, and MCP integration are
built and tested, including a deny-by-default read/write policy, a table-level guard
against the generic-table-reader injection surface (RFC_READ_TABLE et
al.), and audit logging of every policy decision and call outcome. Not
built: multi-tenant auth/RBAC beyond the single server-wide policy, rate
limiting, metrics/tracing, and deployment packaging — see
docs/architecture.md's "Out of scope" section for
what's deliberately deferred and why.
Write calls return an opaque transaction_id. Reuse it for related writes,
then pass it to commit or rollback. This pins the entire SAP LUW to one RFC
connection; abandoned transactions expire and roll back automatically.
Security posture
Reads and writes are denied unless their function names match explicit allowlists. The example configuration only permits discovery, source reading, and the harmless
STFC_CONNECTIONsmoke test.MCP tool annotations describe read/write risk for capable clients, but are advisory metadata—not an authorization boundary. Server policy and the SAP service account's
S_RFC/table authorizations remain mandatory.Stdio credentials come from the environment and are never placed in MCP tool arguments. Do not expose the server over HTTP without implementing the MCP authorization specification and deployment-level rate limiting.
See SECURITY.md for reporting and deployment guidance.
License
MIT (see LICENSE), with one carved-out exception:
.claude/skills/sap-abap/ is vendored third-party
content under GPL-3.0 — see its own LICENSE and NOTICE.md. Including
that directory does not place the rest of the project under GPL-3.0.
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.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to integrate with SAP systems via OData REST APIs for querying entity sets, performing CRUD operations, and executing function imports. It features automatic service discovery, CSRF token management, and smart connection handling without requiring the SAP RFC SDK.1112
- AlicenseNot gradedqualityNot gradedmaintenanceAn enterprise-grade MCP server that enables AI agents to execute SAP RFC functions and read business data securely through the Model Context Protocol.
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to securely connect with SAP ABAP and BTP services, allowing execution of function modules, BAPIs, table reads, and various BTP operations through MCP.1Apache 2.0
- FlicenseAqualityCmaintenanceEnables AI agents to read, write, activate, and transport ABAP code in SAP systems via ABAP ADT REST API, without needing SAP GUI.424
Related MCP Connectors
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.
Runtime permission, approval, and audit layer for AI agent tool execution.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/yassinbahri/pyrfc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server