Navigation
API > API/Plugins > API/Plugins/MCPClientToolset
A toolset that connects to an external MCP (Model Context Protocol) server.
Use the async factory Create() to construct an instance. Depending on the FConfig settings the factory will use one of three startup paths:
- OAuth 2.0 Authorization Code + PKCE (bOAuth = true)
- Streamable HTTP transport (bStreamableHTTP = true)
- Legacy HTTP+SSE transport (default)
Transport options: Legacy SSE (MCP pre-2025-03-26): GET /sse — server→client event stream (long-lived) POST /message — client→server JSON-RPC requests
Streamable HTTP (MCP 2025-03-26): POST {ServerUrl} — single endpoint; response is application/json or text/event-stream
| Name | FMCPClientToolset |
| Type | class |
| Header File | /Engine/Plugins/Experimental/Toolsets/MCPClientToolset/Source/MCPClientToolset/Public/MCPClientToolset/MCPClientToolset.h |
| Include Path | #include "MCPClientToolset/MCPClientToolset.h" |
Syntax
class FMCPClientToolset :
public UE::ToolsetRegistry::FToolset ,
public TSharedFromThis< FMCPClientToolset >
Inheritance Hierarchy
- FToolset → FMCPClientToolset
- FSharedFromThisBase → TSharedFromThis → FMCPClientToolset
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMCPClientToolset
(
FPrivateToken, |
MCPClientToolset/MCPClientToolset.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FMCPClientToolset() |
MCPClientToolset/MCPClientToolset.h |
Structs
| Name | Remarks |
|---|---|
| FConfig | Configuration for one MCP server connection. |
| FPrivateToken | Opaque tag used so MakeShared can invoke the private-intent constructor. |
| FSSEStreamState | - SSE state - |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AccessToken | FString | MCPClientToolset/MCPClientToolset.h | ||
| CachedSchemaJson | FString | - Cached schema - | MCPClientToolset/MCPClientToolset.h | |
| Config | FConfig | - Config / capabilities - | MCPClientToolset/MCPClientToolset.h | |
| CreatePromise | TSharedPtr< TPromise< TValueOrError< TSharedPtr< FMCPClientToolset >, FString > > > | -Create() promise, fulfilled after handshake - | MCPClientToolset/MCPClientToolset.h | |
| MessageEndpointUrl | FString | MCPClientToolset/MCPClientToolset.h | ||
| NextRequestId | int32 | - Request tracking - | MCPClientToolset/MCPClientToolset.h | |
| OAuthAuthEndpoint | FString | MCPClientToolset/MCPClientToolset.h | ||
| OAuthCodeVerifier | FString | MCPClientToolset/MCPClientToolset.h | ||
| OAuthCSRFState | FString | MCPClientToolset/MCPClientToolset.h | ||
| OAuthLocalPort | int32 | MCPClientToolset/MCPClientToolset.h | ||
| OAuthRegistrationEndpoint | FString | MCPClientToolset/MCPClientToolset.h | ||
| OAuthRouteHandle | FHttpRouteHandle | MCPClientToolset/MCPClientToolset.h | ||
| OAuthRouter | TSharedPtr< IHttpRouter > | MCPClientToolset/MCPClientToolset.h | ||
| OAuthState | EOAuthState | MCPClientToolset/MCPClientToolset.h | ||
| OAuthTimeoutHandle | FTSTicker::FDelegateHandle | MCPClientToolset/MCPClientToolset.h | ||
| OAuthTokenEndpoint | FString | MCPClientToolset/MCPClientToolset.h | ||
| PendingRequests | TMap< int32, TSharedPtr< TPromise< TSharedPtr< FJsonObject > > > > | MCPClientToolset/MCPClientToolset.h | ||
| RefreshToken | FString | MCPClientToolset/MCPClientToolset.h | ||
| Self | TSharedPtr< FMCPClientToolset > | MCPClientToolset/MCPClientToolset.h | ||
| ServerVersion | FString | MCPClientToolset/MCPClientToolset.h | ||
| SSEBuffer | FString | MCPClientToolset/MCPClientToolset.h | ||
| SSERequest | TSharedPtr< IHttpRequest, ESPMode::ThreadSafe > | MCPClientToolset/MCPClientToolset.h | ||
| SSEStreamState | TSharedPtr< FSSEStreamState, ESPMode::ThreadSafe > | MCPClientToolset/MCPClientToolset.h | ||
| SSETickerHandle | FTSTicker::FDelegateHandle | MCPClientToolset/MCPClientToolset.h | ||
| StreamableSessionId | FString | - Streamable HTTP state - | MCPClientToolset/MCPClientToolset.h | |
| TokenExpiresAt | FDateTime | MCPClientToolset/MCPClientToolset.h |
Functions
Public
Public Virtual
Overridden from FToolset
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| MCPClientToolset/MCPClientToolset.h | |||
virtual FString GetJsonSchemaInternal() |
MCPClientToolset/MCPClientToolset.h | ||
virtual FString GetToolsetDescription() |
MCPClientToolset/MCPClientToolset.h | ||
virtual FString GetToolsetName() |
MCPClientToolset/MCPClientToolset.h | ||
virtual FString GetToolsetVersion() |
MCPClientToolset/MCPClientToolset.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TFuture< TValueOrError< TSharedPtr< FMCPClientToolset >, FString > > Create
(
FConfig Config |
Async factory. | MCPClientToolset/MCPClientToolset.h |