Class McpServiceInvoker
java.lang.Object
com.flowable.platform.mcp.serviceregistry.McpServiceInvoker
- All Implemented Interfaces:
ServiceInvoker
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final tools.jackson.databind.json.JsonMapperstatic final Stringprotected final io.modelcontextprotocol.json.McpJsonMapperprotected final io.modelcontextprotocol.json.schema.JsonSchemaValidatorprotected final ServiceRegistryEngineConfiguration -
Constructor Summary
ConstructorsConstructorDescriptionMcpServiceInvoker(ServiceRegistryEngineConfiguration serviceRegistryEngineConfiguration, tools.jackson.databind.json.JsonMapper jsonMapper) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddGlobalMcpSetting(String serviceKey, String key, Object value) buildArguments(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationVariablesContainer variablesContainer) protected StringcollectTextContent(io.modelcontextprotocol.spec.McpSchema.CallToolResult callToolResult) protected ServiceInvocationResultResponseconvertResult(io.modelcontextprotocol.spec.McpSchema.CallToolResult callToolResult, String toolName, String url) protected ObjectconvertToMcpArgument(ServiceInvocationVariablesContainer serviceInvocationVariablesContainer, Object value, ServiceInputParameter inputParameter) protected io.modelcontextprotocol.client.McpSyncClientcreateClient(String url, Map<String, String> authHeaders) protected StringcreateExceptionMessage(String prefix, ServiceDefinitionModel serviceDefinitionModel, org.flowable.common.engine.api.variable.VariableContainer variableContainer) protected ServiceInvocationResultResponsecreateResultResponse(tools.jackson.databind.JsonNode resultNode, Map<String, Object> metadata) protected McpServiceAuthenticationgetAuthentication(ServiceDefinitionModel serviceDefinitionModel) invoke(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext) protected StringlookupStringProperty(ServiceDefinitionModel serviceDefinitionModel, String field, String defaultValue) resolveAuthenticationHeaders(ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer) protected StringresolveCredentials(McpServiceAuthentication.Credentials credentials, org.flowable.common.engine.impl.el.ExpressionManager expressionManager, ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) protected StringresolveExpressionAsString(String value, org.flowable.common.engine.impl.el.ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer) protected StringresolveOAuth2ClientToken(String oauth2RegistrationKey, ServiceDefinitionModel serviceDefinitionModel, org.flowable.common.engine.api.variable.VariableContainer variableContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) protected StringresolveSecret(String secretName, ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) protected StringresolveUrl(ServiceDefinitionModel serviceDefinition, ServiceInvocationVariablesContainer variablesContainer) voidprotected tools.jackson.databind.JsonNodetryParseAsJson(String text)
-
Field Details
-
KEY
- See Also:
-
serviceRegistryEngineConfiguration
-
jsonMapper
protected final tools.jackson.databind.json.JsonMapper jsonMapper -
mcpJsonMapper
protected final io.modelcontextprotocol.json.McpJsonMapper mcpJsonMapper -
mcpJsonSchemaValidator
protected final io.modelcontextprotocol.json.schema.JsonSchemaValidator mcpJsonSchemaValidator -
globalMcpSettings
-
-
Constructor Details
-
McpServiceInvoker
public McpServiceInvoker(ServiceRegistryEngineConfiguration serviceRegistryEngineConfiguration, tools.jackson.databind.json.JsonMapper jsonMapper)
-
-
Method Details
-
invoke
public ServiceInvocationResultResponse invoke(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext) - Specified by:
invokein interfaceServiceInvoker
-
resolveUrl
protected String resolveUrl(ServiceDefinitionModel serviceDefinition, ServiceInvocationVariablesContainer variablesContainer) -
lookupStringProperty
protected String lookupStringProperty(ServiceDefinitionModel serviceDefinitionModel, String field, String defaultValue) -
buildArguments
protected Map<String,Object> buildArguments(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationVariablesContainer variablesContainer) -
convertToMcpArgument
protected Object convertToMcpArgument(ServiceInvocationVariablesContainer serviceInvocationVariablesContainer, Object value, ServiceInputParameter inputParameter) -
createClient
-
getAuthentication
-
resolveAuthenticationHeaders
protected Map<String,String> resolveAuthenticationHeaders(ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer) -
resolveCredentials
protected String resolveCredentials(McpServiceAuthentication.Credentials credentials, org.flowable.common.engine.impl.el.ExpressionManager expressionManager, ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) -
resolveSecret
protected String resolveSecret(String secretName, ServiceDefinitionModel serviceDefinitionModel, ServiceInvocationVariablesContainer variablesContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) -
resolveOAuth2ClientToken
protected String resolveOAuth2ClientToken(String oauth2RegistrationKey, ServiceDefinitionModel serviceDefinitionModel, org.flowable.common.engine.api.variable.VariableContainer variableContainer, org.flowable.common.engine.impl.interceptor.CommandContext commandContext) -
resolveExpressionAsString
protected String resolveExpressionAsString(String value, org.flowable.common.engine.impl.el.ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer) -
createExceptionMessage
protected String createExceptionMessage(String prefix, ServiceDefinitionModel serviceDefinitionModel, org.flowable.common.engine.api.variable.VariableContainer variableContainer) -
convertResult
protected ServiceInvocationResultResponse convertResult(io.modelcontextprotocol.spec.McpSchema.CallToolResult callToolResult, String toolName, String url) -
createResultResponse
protected ServiceInvocationResultResponse createResultResponse(tools.jackson.databind.JsonNode resultNode, Map<String, Object> metadata) -
collectTextContent
protected String collectTextContent(io.modelcontextprotocol.spec.McpSchema.CallToolResult callToolResult) -
tryParseAsJson
-
getGlobalMcpSettings
-
setGlobalMcpSettings
-
addGlobalMcpSetting
-