MCP Server

The Flogo MCP Server trigger is an implementation that facilitates connections between Large Language Model (LLM) applications (MCP Clients) and various data sources through tools, prompts, and resources. This section covers the essential configuration settings for the MCP Server, including limitations, trigger settings, handler settings, and output configurations.

Note: The TIBCO Flogo® Connector for Model Context Protocol (MCP) includes the following key features:
  • Scope-based access control for JWT authentication: The Required Scope field on MCP Server handlers enables per-tool, per-prompt, and per-resource authorization based on JWT token scopes.

  • Structured content support for tool responses: The Reply Settings tab with Tool Output Schema and a structuredContent field in Map from Flow Outputs enable MCP tools to return structured, schema-validated responses alongside text responses.

  • Enhanced tokenInfo claims: The tokenInfo object in Map to Flow Inputs now exposes additional standard JWT claims (iss, sub, aud, name, email, given_name, family_name, preferred_username) for richer authorization and audit logging.

  • OAuth 2.0 authentication support.

Trigger Settings

Field Required Description
Trigger Settings
Server Name Yes The MCP server name.
Server Version Yes The MCP Server version.
Server Type   The following server types are supported:
  • STDIO

  • HTTP

HTTP Server Port   The port for HTTP Server. The default port is 8080.
Stateless Server  

Specifies whether the server operates in stateless mode. Set to True for containerized deployments with a load balancer, where each request is treated independently.

Note: In stateless mode, the elicitation, sampling, and logging activities are not supported, as they require a stateful connection to the client.
HTTP Server Endpoint Path   Endpoint path for HTTP Server. Default is /mcp.
Enable TLS  

Enable TLS for HTTP Server. Default is False.

Note: When deploying an MCP server trigger application on TIBCO® Control Plane, set TLS to False and rely on the secure connection managed by the ingress controller.
  • Server Certificate: Path to the server certificate file (prefix with file://) or base64 encoded certificate value. For example, file:///path/to/cert.pem or MIIDXTCCAkWgAwIBAgIJALa... (base64 encoded value).

  • Server Private Key: Path to the server private key file (prefix with file://) or base64 encoded private key value. For example, file:///path/to/privatekey.pem or MIIDXTCCAkWgAwIBAgIJALa... (base64 encoded value).

Authentication Type  

The following Authentication Types are supported:

  • None

  • API Key

  • JWT Token

  • OAuth 2.0

  • Note: When configuring JWT tokens, ensure the following requirements:
    • Tokens must be signed using a symmetric algorithm.

    • The JWT payload must contain an expiration claim.

    • The Flogo MCP Server reads scopes from the JWT payload using two supported claim formats: the scp claim (JSON array) or the scope claim (space-delimited string). The scopes claim name is not supported. Ensure your identity provider is configured to emit scopes under the scp or scope claim.

Secret   The secret for authentication. The secret can be used for authentication when the Authentication Type is "API Key" or "JWT Token".
OAuth Issuer  

Authorization server issuer URL. This value must match the iss claim in incoming JWTs.

Example: https://login.microsoftonline.com/{tenant}/v2.0

JWKS URL  

JSON Web Key Set endpoint URL. The trigger fetches signing keys from this URL to verify incoming JWT signatures and automatically refreshes the key set when keys rotate.

Audience  

Expected aud claim value (RFC 8707 Resource Indicator). Incoming tokens must include this value in their audience.

Authorization Servers  

Optional comma-separated list of authorization server issuer URLs advertised at /.well-known/oauth-protected-resource. Defaults to the OAuth Issuer value.

Required Scopes  

Optional space-separated list of scopes required on every request. Per-handler scopes set on individual MCP primitives still apply.

Resource URL  

Optional canonical resource URL advertised in the protected resource metadata document and used as the WWW-Authenticate resource_metadata target. Defaults to the public URL of this MCP server.

Handler Settings
MCP Primitive Type   The following MCP primitive types are supported:
  • Tool

  • Prompt

  • Resource - textResourceContent and blobResourceContent

    Note:
    • A mimeType for textResourceContent could be "text/plain".

    • A mimeType for blobResourceContent could be "image/png" or "application/pdf".

These primitives use a JSON Schema data model. You can define input arguments as JSON Schema on the Output Settings tab.

MCP Primitive Name Yes Name of the MCP primitive.
MCP Primitive Description No Description of the MCP primitive.
Tool Title No Human-readable display title for the tool, separate from the tool name.
ReadOnly Tool   Specifies whether the tool can modify its environment. Set to True if the tool is read-only.
Destructive Tool   Specifies the nature of updates. Set to True if the tool may perform destructive actions (for example, deleting data). If False, it only performs additive updates.
Idempotent Tool   Specifies if repeated calls with the same arguments have additional effects. If True, subsequent identical calls will not change the environment further.
Open World Tool   Specifies if the tool can interact with external entities. If True, it can interact with an "open world" of external entities. If False, its interactions are limited to a closed domain.
Required Scope No

Specifies the scope that must be present in the JWT token’s scp claim for the client to be authorized to invoke this MCP primitive (tool, prompt, or resource). The value is matched exactly and is case-sensitive against the list of scopes extracted from the token. When left empty, no scope check is performed, and any authenticated client with a valid JWT token can invoke this primitive. Example values: orders:read, inventory:write, admin:manage.

Note: This field is applicable only when the trigger’s Authentication Type is set to JWT Token.
Resource URI Yes Set Resource URI when the primitive type is configured to Resource. You can set a static resource name (docs://readme) or a dynamic resource name (users://{id}/profile). When configuring a dynamic resource path, ensure that the corresponding JSON Schema defining path parameters are configured on the Output Settings tab.

When configuring a dynamic resource path, the path parameter is automatically generated in the corresponding JSON Schema on the Output Settings tab.

Output Settings

The Output Settings tab has the following fields:

Field Description
Schema for Arguments The JSON schema for the tool, prompt, or resource arguments.
Schema for HTTP headers The JSON schema for the HTTP headers. Configure only if you want to handle HTTP headers from tool/prompt/resource request.

Map to Flow Inputs

Use the Map to Flow Inputs tab to map the trigger output to the flow input based on the arguments JSON schema.

Flow Input Description
arguments The arguments from the trigger that you can map to flow inputs.
httpHeaders The HTTP headers from the trigger that you can map to flow inputs
tokenInfo

The token information from the trigger, which includes scopes and expiration details from the JWT token, that you can map to flow inputs.

The tokenInfo object includes scopes, expiration, iss, sub, aud, name, email, given_name, family_name, and preferred_username claims from the JWT token.

Reply Settings

The Reply Settings tab has the following field:

Field Description
Tool Output Schema A JSON Schema that defines the structure of the tool’s structured response. When configured, MCP clients can discover the expected output structure at design time. The schema follows the standard JSON Schema specification and defines the properties, types, and descriptions of each field in the structured response. When no schema is configured, the tool returns only a text response via the response field. When configured, the tool can additionally return a structuredContent object in the trigger reply.

Map from Flow Outputs

Use the Map from Flow Outputs tab to map the flow output to the trigger reply.

Trigger Reply Field Type Description
response Object

The primary tool response. Map the flow output to the text content returned to the MCP client. This field is required and acts as the fallback response for clients that do not support structured content.

The response object includes the following fields:

  • data: The text content returned to the MCP client. Type: string.

  • audience: Optional. MCP content annotation that specifies the intended audience for this response. Type: array of strings. Accepted values are "user" (content intended for the human end-user only) and "assistant" (content intended for the LLM only, not displayed to the human). Set both ["user", "assistant"] to deliver content to both consumers. When omitted, the MCP client decides how to route the content.

  • priority: Optional. MCP content annotation that indicates the display importance of the response, ranging from 0.0 (least important) to 1.0 (most important). Type: number. For example, use 1.0 for critical alerts that must be surfaced to the user, or 0.3 for low-priority background context provided to the LLM.

  • error: The error message returned to the MCP client when tool execution fails. Type: string. When set, the response is marked as an error result.

structuredContent Object The structured data response. Maps the flow output to a structured content object returned to the MCP client alongside the text response. The structure of this object should conform to the Tool Output Schema defined in the Reply Settings tab. When both response and structuredContent are mapped, MCP clients receive both. Clients that support structured content can use the structuredContent object; others fall back to the response text.