Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add MCP handshake, session sharing, local-mode credentials, idle/re-init, Encoding mapping, OperationName, Tag resolution; add set_operation_name action.

Test REST, GraphQL, and MCP HTTP endpoints from the Designer, then export a working request into the solution.

ReferenceSolutionDesignerData ExplorerMQTT | OPC | PLC | SQL | WebData

Info

New in 10.1.5 (draft). Page is a work-in-progress preview. Screenshots and final wording will land before the 10.1.5 release.


The WebData Tools tab exposes a request builder and a response viewer for three API styles, REST, GraphQL, and MCP HTTP. Use it to validate endpoints, inspect payloads, and export a working request into the solution as a ReportsWebData entry.

Table of Contents
maxLevel2
minLevel2
stylenone


Connection Target

Choose where the request points at the top of the tab.

Mode

Description

Local

Load a request from an existing ReportsWebData entry in the solution. Use this mode to replay a configured request.

Remote

Enter a URL and request parameters directly. The request is not tied to a solution object.

In Local mode, credentials and headers come from the selected ReportsWebData row, not from the Remote-mode Authorization and Headers fields. This matters for MCP execution: the session handshake uses the row's Authorization and Headers, so a token typed into the Remote-mode UI while a Local row is selected does not apply to the executed request.


Request Builder

API

Select the API style in the API drop-down.

Value

Body editor

REST

Raw request body. The Method drop-down controls the HTTP verb.

GraphQL

GraphQL query text. Variables go in the body as JSON. The Operation Name field selects a named operation when the query document declares more than one.

McpHttp

MCP tool arguments as JSON. The tool name is set through Select Tool.

Method

For REST, choose a verb, GET, POST, PUT, PATCH, or DELETE. GraphQL and McpHttp ignore the Method field.

URL

Enter the full endpoint URL. Tag substitution is supported. Write {{Tag.Name}} to inject a tag value at execution time.. In the Designer tester, tokens resolve to the tag's InitialValue at design time. At runtime, the same tokens resolve against the live RTDB value.

Authorization

The Authorization field is multi-line. The first line selects the scheme, following lines supply the credentials.

Scheme

Lines

NoAuth

Single line, NoAuth.

BearerToken

Line 1, BearerToken. Line 2, the token string.

BasicAuth

Line 1, BasicAuth. Line 2, the username. Line 3, the password. The client sends a Base64-encoded header.

Headers

Enter custom headers as key=value;key=value on a single line. Use a semicolon between pairs inside the field.

Body

The body editor label reflects the selected API, REST body, GraphQL query, or MCP arguments. Tag substitution is supported in all three editors.


Actions

Button

Description

Execute

Send the request and populate the Response viewer.

Stop

Cancel an in-progress request.

Refresh Tools

McpHttp mode. Initializes an MCP session at the current URL and lists the available tools.

Select Tool

McpHttp mode. Pick a tool from the discovered list. The input schema is shown below the selector.

Export

Open the export dialog. Creates a new ReportsWebData row with the current API, URL, method, authorization, headers, and body.


MCP Session Handshake

MCP servers that follow the streamable-HTTP spec (2025-03-26) require a session before any tools/list or tools/call. The tester performs the full handshake automatically:

  1. POST initialize to the endpoint.
  2. Capture Mcp-Session-Id from the response headers.
  3. POST notifications/initialized.

Only then does the tester send the actual request. All three execution paths, Refresh Tools, Remote Execute, and Local Execute, run the handshake. Strict MCP servers would otherwise reject a cold tools/call.

Session Sharing

The session ID and the initialized flag are keyed on the endpoint URL and shared across the three execution paths. A handshake performed by Refresh Tools benefits a subsequent Execute against the same URL. Changing the URL triggers a fresh handshake against the new endpoint.

Idle and Re-init

The tester mirrors runtime McpHttpSession behavior. An idle session is closed after five minutes. A server returning HTTP 404 on a tool call triggers automatic session re-init and one retry. Any other HTTP error surfaces in the Response viewer as received.

Local-mode Credentials

When Local Execute runs against a ReportsWebData row configured as McpHttp, the handshake and the tool call both use the row's Authorization and Headers. The Remote-mode Authorization and Headers fields on the tab are ignored for that execution. Change credentials by editing the row, not the tab.


Response Viewer

Responses appear in three tabs.

  • Pretty JSON. Parsed and indented when the response is JSON.
  • Raw. The response body as received. Truncated at 8000 characters for display. The export dialog stores the full body.
  • Headers. HTTP status line and response headers.

Export to Solution

Click Export to open the Export WebData dialog. Choose a name, confirm, and a new entry is added under Reports → WebData. The solution-side runtime, Reports WebData Reference, handles execution at runtime.

The exported entry carries the API, URL, method, authorization, headers, and body from the tab. Edit the entry in the WebData grid to refine it afterwards.

Encoding Mapping

The export derives the Encoding column on the new row from the response Content-Type header, not from a hardcoded value.

Response Content-Type

Exported Encoding

application/json, +json variants

JSON

application/xml, text/xml

XML

text/html

HTML

text/plain, other text/*

Text

Empty or missing

JSON (default)

GraphQL Operation Name

When the tab is in GraphQL mode, the Operation Name field persists to the row's OperationName column, which is new in 10.1.5. It is not packed into ToolName. See the GraphQL OperationName section of Reports WebData - GraphQL and MCP Client for runtime semantics.


MCP Tab Actions

The WebData Tools tab exposes designer_action controls for MCP clients. Each action drives the same tab state as the UI controls.

Action

Description

set_mode

Switch between Local and Remote.

set_api

Set REST, GraphQL, or McpHttp. Invalid values return an error with the accepted list.

set_url

Set the URL field.

set_method

Set the REST verb.

set_authorization

Set the multi-line Authorization field. The action hint shows the per-line format.

set_headers

Set headers as key=value;key=value. The action hint shows the expected format.

set_body

Set the body editor. The response echoes the target editor name, REST body, GraphQL query, or MCP arguments.

set_operation_name

GraphQL mode. Set the Operation Name field. Persists to the row's OperationName column on export.

execute

Send the request.

stop

Cancel a pending request.

get_response

Return status, headers, and body, with up to 8000 characters of response text.

get_state

Return the full tab state, including authorization, headers, body editor, and MCP input schema.

list_webdata

List the ReportsWebData entries in the solution.

select_webdata

Load a saved entry into the tab. Invalid names return a warning with the available list.

refresh_tools

McpHttp mode. Initialize the session and list tools.

select_tool

McpHttp mode. Select a tool by name. Invalid names return a warning with the available list.

export

Run the export. Returns a success or failure message, including a duplicate-name error.


In this section...

Page Tree
root@parent