Skip to main content
Glama

connector-wizard-rfc-create

Create RFC connector calls for SAP system functions. Select function names to generate connector calls that enable integration with remote SAP systems.

Instructions

Create one or more calls for an RFC connector using the wizard

The RFC connector requires calls to refer to existing functions on the remote SAP system. To find available functions, use the resource template simplifier://connector-wizard/{connectorName}/search/{term}/{page}. Select the desired function names and pass them to this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectorNameYesName of the RFC Connector to add calls to
rfcFunctionNamesYesNames of the SAP system's functions for which to create connector calls

Implementation Reference

  • The main execution handler for the 'connector-wizard-rfc-create' tool. It fetches details for RFC functions, prepares payload, and creates connector calls using the Simplifier client.
    async ({connectorName, rfcFunctionNames}) => { return wrapToolResult(`create ${rfcFunctionNames.length} connector calls using the RFC connector wizard`, async () => { const trackingKey = trackingToolPrefix + toolNameConnectorWizardRfcCreate; // required, so that the functions are "persisted" in Simplifier await simplifier.viewRFCFunctions(connectorName, rfcFunctionNames, trackingKey); const details = await simplifier.rfcWizardGetCallDetails(connectorName, rfcFunctionNames) const descriptions: {[k: string]: string} = {} const newNames: {[k: string]: string} = {} for(const func of rfcFunctionNames) { const match = details.calls.find(callDetails => callDetails.call.nameNonTechnicalized === func); if(!match) { throw new Error(`Details for function ${func} could not be retrieved`); } descriptions[func] = match.call.description; newNames[func] = match.call.name; } const payload: RFCWizardCreateCallsPayload = { callsRfc: rfcFunctionNames, descriptions: descriptions, newNames: newNames, } await simplifier.rfcWizardCreateCalls(connectorName, payload); return payload; }); }
  • Zod input schema defining parameters: connectorName (string) and rfcFunctionNames (array of strings).
    inputSchema: { connectorName: z.string().describe(`Name of the RFC Connector to add calls to`), rfcFunctionNames: z.array(z.string()).describe(`Names of the SAP system's functions for which to create connector calls`), },
  • Tool name constant and full server.registerTool call registering the tool with description, schema, annotations, and handler.
    const toolNameConnectorWizardRfcCreate = "connector-wizard-rfc-create" server.registerTool(toolNameConnectorWizardRfcCreate, { description: `# Create one or more calls for an RFC connector using the wizard The RFC connector requires calls to refer to existing functions on the remote SAP system. To find available functions, use the resource template \`simplifier://connector-wizard/{connectorName}/search/{term}/{page}\`. Select the desired function names and pass them to this tool. `, inputSchema: { connectorName: z.string().describe(`Name of the RFC Connector to add calls to`), rfcFunctionNames: z.array(z.string()).describe(`Names of the SAP system's functions for which to create connector calls`), }, annotations: { title: "Create RFC connector calls using the call wizard", readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true }, }, async ({connectorName, rfcFunctionNames}) => { return wrapToolResult(`create ${rfcFunctionNames.length} connector calls using the RFC connector wizard`, async () => { const trackingKey = trackingToolPrefix + toolNameConnectorWizardRfcCreate; // required, so that the functions are "persisted" in Simplifier await simplifier.viewRFCFunctions(connectorName, rfcFunctionNames, trackingKey); const details = await simplifier.rfcWizardGetCallDetails(connectorName, rfcFunctionNames) const descriptions: {[k: string]: string} = {} const newNames: {[k: string]: string} = {} for(const func of rfcFunctionNames) { const match = details.calls.find(callDetails => callDetails.call.nameNonTechnicalized === func); if(!match) { throw new Error(`Details for function ${func} could not be retrieved`); } descriptions[func] = match.call.description; newNames[func] = match.call.name; } const payload: RFCWizardCreateCallsPayload = { callsRfc: rfcFunctionNames, descriptions: descriptions, newNames: newNames, } await simplifier.rfcWizardCreateCalls(connectorName, payload); return payload; }); } );

Latest Blog Posts

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/SimplifierIO/simplifier-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server