Skip to main content
Glama

businessobject-function-test

Execute business object functions with input parameters to test functionality and verify results using real data.

Instructions

#Test a Business Object Function

Execute a business object function with provided input parameters for testing purposes. This allows you to test your functions with real data and see the results.

Common Base Data Type IDs:

  • String: "22ED1F787B6B0926AB0577860AF7543705341C053EB1B4A74E7CC199A0645E52"

  • Integer: "B9B1191E0B70BA0845CF4F6A4F4C017594F8BA84FD2F1849966081D53A8C836D"

  • Boolean: "2788FB5AA776C62635F156C820190D0FD3D558765201881A77382093F7248B39"

  • Date: "06A9841478D7BE17C423F11C38CD6829E372093DBEC144F2A85FC7165BE8CD80"

  • Float: "C09139C72F5A8A7E0036BA66CE301748BD617F463683EE03F92EDAAAA4AF8BC7"

  • Any: "D31053204B4A612390A2D6ECDF623E979C14ADC070A7CB9B08B2099C3011BCAB"

Parameter Usage:

  • Use parameter "name" if no alias is defined

  • Use parameter "alias" instead of name if alias is defined in the function

  • Values must match the expected data type

Error Handling:

  • Wrong BO/function name → 404 error

  • Missing required parameters → 400 error

  • Wrong parameter names → 400/500 error

  • Invalid parameter values → 400/500 error

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
businessObjectNameYes
functionNameYes
inputParametersNoInput parameters for the function

Implementation Reference

  • The handler function for the 'businessobject-function-test' tool. It fetches the function's input parameters, maps provided test values to them, fetches data types, constructs a test request, executes the test via simplifier.testServerBusinessObjectFunction, and formats the success or error response.
    }, async ({ businessObjectName, functionName, inputParameters }) => { return wrapToolResult(`test Business Object function ${businessObjectName}.${functionName}`, async () => { const boParameters = (await simplifier.getServerBusinessObjectFunction(businessObjectName, functionName)).inputParameters const testParameters: BusinessObjectTestParameter[] = await Promise.all(boParameters.map(async cparam => { const dataType = await simplifier.getDataTypeByName(cparam.dataType.name) return { name: cparam.name, value: inputParameters.find(p => p.name === cparam.name)?.value, dataType: dataType, dataTypeId: dataType.id, optional: cparam.isOptional, transfer: true, } satisfies BusinessObjectTestParameter; })) const testRequest: BusinessObjectTestRequest = { parameters: testParameters }; const trackingKey = trackingToolPrefix + toolNameBusinessObjectFunctionTest const result = await simplifier.testServerBusinessObjectFunction(businessObjectName, functionName, testRequest, trackingKey); // Format the response nicely if (result.success) { return { success: true, message: `Function '${functionName}' executed successfully`, result: result.result, executedWith: { businessObject: businessObjectName, function: functionName, parameters: testParameters.map(p => ({ name: p.name, value: p.value, dataType: p.dataTypeId })) } }; } else { return { success: false, message: `Function '${functionName}' execution failed`, error: result.error || result.message || "Unknown error", executedWith: { businessObject: businessObjectName, function: functionName, parameters: testParameters.map(p => ({ name: p.name, value: p.value, dataType: p.dataTypeId })) } }; } }); });
  • Zod input schema for the tool defining parameters: businessObjectName (string), functionName (string), inputParameters (array of {name: string, value: unknown}).
    { businessObjectName: z.string(), functionName: z.string(), inputParameters: z.array(z.object({ name: z.string().describe("Parameter name (or alias if defined)"), value: z.unknown().describe("Parameter value - can be any JSON value"), })).optional().default([]).describe("Input parameters for the function") },
  • Registration of the tool using McpServer.tool() method, specifying name, description, input schema, hints, and handler function.
    server.tool(toolNameBusinessObjectFunctionTest, functionTestDescription, { businessObjectName: z.string(), functionName: z.string(), inputParameters: z.array(z.object({ name: z.string().describe("Parameter name (or alias if defined)"), value: z.unknown().describe("Parameter value - can be any JSON value"), })).optional().default([]).describe("Input parameters for the function") }, { title: "Test a Business Object Function", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }, async ({ businessObjectName, functionName, inputParameters }) => {

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