AnthropicAiQueryNodeConfiguration
Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform
Configuration for Anthropic AI Query node that uses Claude to extract information from data
public record AnthropicAiQueryNodeConfiguration : SourceTargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IEquatable<AnthropicAiQueryNodeConfiguration>
Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → SourceTargetPathNodeConfiguration → AnthropicAiQueryNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IEquatable<AnthropicAiQueryNodeConfiguration>
Properties
ApiKeyConfigurationName
Name of the AiConfiguration entity in GlobalConfiguration to load the API key from. When set, the API key is read from the configuration entity and never exposed in the data context. Takes precedence over AnthropicAiQueryNodeConfiguration.ApiKey.
public string ApiKeyConfigurationName { get; set; }
Property Value
ApiKey
The Anthropic API key for authentication. Prefer using AnthropicAiQueryNodeConfiguration.ApiKeyConfigurationName to avoid exposing the key in pipeline definitions.
public string ApiKey { get; set; }
Property Value
Model
The Claude model to use (e.g., "claude-sonnet-4-6", "claude-opus-4-1").
Optional on the node when the referenced AiConfiguration supplies aiModel; that
value takes precedence. There is deliberately no hard-coded default model — a pinned model
id goes out of date, so the model must be provided explicitly (node or AiConfiguration).
public string Model { get; set; }
Property Value
Question
The question/prompt to ask the AI about the data
public string Question { get; set; }
Property Value
DataPaths
Optional context data paths to include in the query (e.g., ["$.ExtractedText", "$.DocumentMetadata"])
public String[] DataPaths { get; set; }
Property Value
SystemPrompt
System prompt to set the context for the AI
public string SystemPrompt { get; set; }
Property Value
MaxTokens
Maximum tokens for the response. A maxTokens value on the referenced AiConfiguration entity takes precedence; this property is the fallback.
public int MaxTokens { get; set; }
Property Value
Temperature
Temperature for response generation (0.0 to 1.0). A temperature value on the referenced AiConfiguration entity takes precedence; this property is the fallback.
public double Temperature { get; set; }
Property Value
ResponseFormat
Expected response format (e.g., "json", "text")
public string ResponseFormat { get; set; }
Property Value
IncludeRawResponse
Whether to include the raw AI response in the output
public bool IncludeRawResponse { get; set; }
Property Value
RawResponseOutputPath
Output path for the raw AI response (if IncludeRawResponse is true)
public string RawResponseOutputPath { get; set; }
Property Value
ContinueOnError
Whether to continue processing if the AI query fails
public bool ContinueOnError { get; set; }
Property Value
McpServerUrl
Optional URL of the OctoMesh MCP server (e.g. "https://localhost:5017"). When set, Claude can use MCP tools to query live OctoMesh data instead of relying on static context. The tenant ID is appended automatically: {McpServerUrl}/{tenantId}/mcp
public string McpServerUrl { get; set; }
Property Value
MaxToolRounds
Maximum number of tool use rounds to prevent infinite loops (default: 10)
public int MaxToolRounds { get; set; }
Property Value
McpToolNames
Optional list of MCP tool names to expose to Claude. If set, only these tools are available. Reduces context size by excluding unused tools (e.g., ["query_entities_simple", "navigate_associations"]).
public String[] McpToolNames { get; set; }
Property Value
McpServiceAccountConfigName
Optional well-known name of a System.Communication/ServiceAccountConfiguration entity
used to authenticate the MCP tool calls. When set, the node acquires an OAuth2
client-credentials token and sends it as a Authorization: Bearer header on the
{McpServerUrl}/{tenantId}/mcp requests. Required once the MCP server enforces
authentication (see AB#4315).
public string McpServiceAccountConfigName { get; set; }
Property Value
McpDelegateToCaller
When true, the MCP calls run under the end user's identity instead of the
service account's: the node exchanges the caller's access token for a delegated one
(OctoMesh on-behalf-of grant, AB#5026/AB#5031) via
AnthropicAiQueryNodeConfiguration.McpServiceAccountConfigName, so the MCP server sees the user's own roles
and data permissions rather than the service account's full octo_api reach.
public bool McpDelegateToCaller { get; set; }
Property Value
Remarks:
Requires a trigger that carries a caller token — today FromHttpRequest@2 with
allowAnonymous: false. Fail-closed: with no caller token, or when the
delegated token cannot be acquired, the node fails; it never falls back to the service
account and never sends an unauthenticated MCP request. Channel assistants (Teams,
Signal, e-mail) have no caller and must leave this off.
Default false keeps the existing service-account behaviour byte for byte,
including its degrade-to-unauthenticated paths.
Identity
The general execution-identity property (AB#5127). On this node it drives the MCP call
identity rather than a repository session:
delegates to the calling user (on-behalf-of, the same as legacy
AnthropicAiQueryNodeConfiguration.McpDelegateToCaller = true);
and use the service account's own token.
public NodeExecutionIdentity Identity { get; set; }
Property Value
NodeExecutionIdentity
Remarks:
The default is — not the
default of the data nodes — because the AI
node's historical behaviour (AnthropicAiQueryNodeConfiguration.McpDelegateToCaller absent) is to call MCP as
the service account. AnthropicAiQueryNodeConfiguration.McpDelegateToCaller stays supported as an alias:
setting either it or identity: Caller selects delegation, so both spellings keep
working.
DelegatesToCaller
Whether this node's MCP calls run on the caller's identity (AB#5127 alias resolution):
true when either the legacy AnthropicAiQueryNodeConfiguration.McpDelegateToCaller flag is set or
AnthropicAiQueryNodeConfiguration.Identity is . Either "caller"
spelling wins, so a pipeline can use whichever it likes.
public bool DelegatesToCaller { get; }
Property Value
ConversationHistoryPath
Optional JSON path to conversation history array. Each entry should have "role" (user/assistant) and "content" fields. When set, previous messages are included for multi-turn conversations.
public string ConversationHistoryPath { get; set; }
Property Value
JsonFormatSample
Sample JSON format for structured responses
public string JsonFormatSample { get; set; }
Property Value
Path
public string Path { get; set; }
Property Value
TargetPath
public string TargetPath { get; set; }
Property Value
TargetValueWriteMode
public TargetValueWriteModes TargetValueWriteMode { get; set; }
Property Value
TargetValueWriteModes
TargetValueKind
public ValueKinds TargetValueKind { get; set; }
Property Value
ValueKinds
DocumentMode
public DocumentModes DocumentMode { get; set; }
Property Value
DocumentModes
Description
public string Description { get; set; }
Property Value
Constructors
AnthropicAiQueryNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public AnthropicAiQueryNodeConfiguration()