rfc-mcp
rfc-mcp
Servidor MCP que expone módulos de función habilitados para SAP RFC (BAPIs/RFCs) a agentes de IA a través de una interfaz de descubrimiento primero, construido sobre el conector pyrfc de SAP — además de lectura automática de código fuente ABAP (ADT cuando es accesible, con respaldo transparente de RFC en caso contrario, ver docs/adt_rfc_integration_plan.md).
Configuración
Consulta docs/setup.md para los requisitos previos de SAP NW RFC SDK + Python 3.11 (necesarios antes de que funcionen las llamadas reales a SAP) y docs/architecture.md para la descripción general de las capas, incluido el modelo de política de lectura/escritura, la protección del lector genérico de tablas y el registro de auditoría.
Inicio rápido una vez instalados los requisitos previos:
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.pyLa conectividad real con SAP requiere además el SDK propietario SAP NW RFC SDK y el conector archivado/retirado pyrfc==3.3.1. Lee la advertencia de soporte y los pasos de instalación en docs/setup.md antes de ejecutar uv sync --extra sap o la prueba de humo.
Related MCP server: SAP RFC MCP Server
Herramientas
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)— una sola herramienta, sin opción de transporte expuesta al llamador; ver docs/architecture.md.
Habilidad de conocimiento ABAP
.claude/skills/sap-abap/ incluye la habilidad de Claude sap-abap de terceros para que un agente que use este servidor también tenga a mano un conocimiento preciso del lenguaje ABAP. Está licenciada por separado (GPL-3.0, con su propio LICENSE/NOTICE.md) del resto de este proyecto — ver más abajo.
Alcance
La base, la capa de conexión, el descubrimiento, la ejecución y la integración con MCP están construidos y probados, incluida una política de lectura/escritura denegada por defecto, una protección a nivel de tabla contra la superficie de inyección del lector genérico de tablas (RFC_READ_TABLE y otros), y el registro de auditoría de cada decisión de política y resultado de llamada. No construido: autenticación/RBAC multiinquilino más allá de la política única a nivel de servidor, limitación de velocidad, métricas/trazado y empaquetado de despliegue — ver la sección "Fuera de alcance" de docs/architecture.md para saber qué se difiere deliberadamente y por qué.
Las llamadas de escritura devuelven un transaction_id opaco. Reutilízalo para escrituras relacionadas y luego pásalo a commit o rollback. Esto fija toda la LUW de SAP a una única conexión RFC; las transacciones abandonadas expiran y se revierten automáticamente.
Postura de seguridad
Las lecturas y escrituras se deniegan a menos que sus nombres de función coincidan con listas permitidas explícitas. La configuración de ejemplo solo permite el descubrimiento, la lectura de código fuente y la prueba de humo inofensiva
STFC_CONNECTION.Las anotaciones de herramientas MCP describen el riesgo de lectura/escritura para clientes capaces, pero son metadatos informativos, no un límite de autorización. La política del servidor y las autorizaciones de tabla/
S_RFCde la cuenta de servicio de SAP siguen siendo obligatorias.Las credenciales de stdio provienen del entorno y nunca se colocan en los argumentos de las herramientas MCP. No expongas el servidor a través de HTTP sin implementar la especificación de autorización de MCP y la limitación de velocidad a nivel de despliegue.
Consulta SECURITY.md para obtener orientación sobre informes y despliegue.
Licencia
MIT (ver LICENSE), con una excepción: .claude/skills/sap-abap/ es contenido de terceros incluido bajo GPL-3.0 — ver su propio LICENSE y NOTICE.md. Incluir ese directorio no coloca el resto del proyecto bajo 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