Documentation Index Fetch the complete documentation index at: https://easyaf.dev/llms.txt
Use this file to discover all available pages before exploring further.
Definition
Assembly: Microsoft.OData.Mcp.Core.dll
Namespace: Microsoft.OData.Mcp.Core.Tools
Inheritance: System.Object
Syntax
Microsoft . OData . Mcp . Core . Tools . McpToolFactory
Summary
Factory for creating MCP tools dynamically from OData metadata.
This factory generates MCP tools based on the parsed OData model, creating tools for
CRUD operations, queries, and navigation between entities. The tools are generated
dynamically to match the structure and capabilities of the OData service.
Constructors
.ctor
Initializes a new instance of the McpToolFactory class.
Syntax
public McpToolFactory ( Microsoft . Extensions . Logging . ILogger < Microsoft . OData . Mcp . Core . Tools . McpToolFactory > logger , System . Net . Http . IHttpClientFactory httpClientFactory )
Parameters
Name Type Description loggerMicrosoft.Extensions.Logging.ILogger<Microsoft.OData.Mcp.Core.Tools.McpToolFactory>The logger instance. httpClientFactorySystem.Net.Http.IHttpClientFactoryThe HTTP client factory for OData requests.
Exceptions
Exception Description ArgumentNullExceptionThrown when logger or httpClientFactory is null.
.ctor Inherited
Syntax
Methods
BuildDefaultSelectForEntityType
Builds a default $select statement for an entity type, excluding binary and stream fields.
Syntax
public static string BuildDefaultSelectForEntityType ( Microsoft . OData . Mcp . Core . Models . EdmEntityType entityType , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description entityTypeMicrosoft.OData.Mcp.Core.Models.EdmEntityTypeThe entity type to build the select for. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?The generation options.
Returns
Type: string?
A comma-separated list of property names to select, or null if all properties should be included.
Equals Inherited Virtual
Syntax
public virtual bool Equals ( object obj )
Parameters
Name Type Description objobject?-
Returns
Type: bool
Equals Inherited
Syntax
public static bool Equals ( object objA , object objB )
Parameters
Name Type Description objAobject?- objBobject?-
Returns
Type: bool
Filters tools based on user authorization context.
Syntax
public System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition > FilterToolsForUser ( System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition > tools , System . Collections . Generic . IEnumerable < string > userScopes , System . Collections . Generic . IEnumerable < string > userRoles , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description toolsSystem.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>The tools to filter. userScopesSystem.Collections.Generic.IEnumerable<string>The user’s OAuth2 scopes. userRolesSystem.Collections.Generic.IEnumerable<string>The user’s roles. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for authorization filtering.
Returns
Type: System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>
A collection of tools the user is authorized to access.
Exceptions
Exception Description ArgumentNullExceptionThrown when tools is null.
Generates CRUD operation tools for a specific entity type.
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateCrudToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmEntityType entityType , Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description entityTypeMicrosoft.OData.Mcp.Core.Models.EdmEntityTypeThe entity type to generate CRUD tools for. modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe complete OData model for context. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of CRUD tool definitions.
Exceptions
Exception Description ArgumentNullExceptionThrown when entityType or model is null.
Generates tools for entity set operations (collection-level operations).
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateEntitySetToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmEntitySet entitySet , Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description entitySetMicrosoft.OData.Mcp.Core.Models.EdmEntitySetThe entity set to generate tools for. modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe complete OData model for context. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of entity set tool definitions.
Exceptions
Exception Description ArgumentNullExceptionThrown when entitySet or model is null.
Generates MCP tools for a specific entity type.
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateEntityToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmEntityType entityType , Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description entityTypeMicrosoft.OData.Mcp.Core.Models.EdmEntityTypeThe entity type to generate tools for. modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe complete OData model for context. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of generated MCP tool definitions for the entity type.
Exceptions
Exception Description ArgumentNullExceptionThrown when entityType or model is null.
Generates navigation tools for entity relationships.
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateNavigationToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmEntityType entityType , Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description entityTypeMicrosoft.OData.Mcp.Core.Models.EdmEntityTypeThe entity type to generate navigation tools for. modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe complete OData model for context. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of navigation tool definitions.
Exceptions
Exception Description ArgumentNullExceptionThrown when entityType or model is null.
Generates query tools for the OData model.
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateQueryToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe OData model to generate query tools for. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of query tool definitions.
Exceptions
Exception Description ArgumentNullExceptionThrown when model is null.
Generates all MCP tools for the specified OData model.
Syntax
public System . Threading . Tasks . Task < System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition >> GenerateToolsAsync ( Microsoft . OData . Mcp . Core . Models . EdmModel model , Microsoft . OData . Mcp . Core . Tools . McpToolGenerationOptions options = null )
Parameters
Name Type Description modelMicrosoft.OData.Mcp.Core.Models.EdmModelThe OData model to generate tools for. optionsMicrosoft.OData.Mcp.Core.Tools.McpToolGenerationOptions?Options for tool generation.
Returns
Type: System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>>
A collection of generated MCP tool definitions.
Exceptions
Exception Description ArgumentNullExceptionThrown when model is null.
Gets all available tool names.
Syntax
public System . Collections . Generic . IEnumerable < string > GetAvailableToolNames ()
Returns
Type: System.Collections.Generic.IEnumerable<string>
A collection of all tool names that have been generated.
GetHashCode Inherited Virtual
Syntax
public virtual int GetHashCode ()
Returns
Type: int
Gets the tool definition by name.
Syntax
public Microsoft . OData . Mcp . Core . Tools . McpToolDefinition GetTool ( string toolName )
Parameters
Name Type Description toolNamestringThe name of the tool to retrieve.
Returns
Type: Microsoft.OData.Mcp.Core.Tools.McpToolDefinition?
The tool definition if found; otherwise, null.
GetType Inherited
Syntax
public System . Type GetType ()
Returns
Type: System.Type
IsBinaryOrStreamField
Determines if a property is a binary or stream field that should be excluded by default.
Syntax
public static bool IsBinaryOrStreamField ( Microsoft . OData . Mcp . Core . Models . EdmProperty property )
Parameters
Name Type Description propertyMicrosoft.OData.Mcp.Core.Models.EdmPropertyThe property to check.
Returns
Type: bool
True if the property is a binary or stream field; otherwise, false.
MemberwiseClone Inherited
Syntax
protected internal object MemberwiseClone ()
Returns
Type: object
ReferenceEquals Inherited
Syntax
public static bool ReferenceEquals ( object objA , object objB )
Parameters
Name Type Description objAobject?- objBobject?-
Returns
Type: bool
ToString Inherited Virtual
Syntax
public virtual string ToString ()
Returns
Type: string?
Validates that the generated tools are compatible with the MCP specification.
Syntax
public System . Collections . Generic . IEnumerable < string > ValidateTools ( System . Collections . Generic . IEnumerable < Microsoft . OData . Mcp . Core . Tools . McpToolDefinition > tools )
Parameters
Name Type Description toolsSystem.Collections.Generic.IEnumerable<Microsoft.OData.Mcp.Core.Tools.McpToolDefinition>The tools to validate.
Returns
Type: System.Collections.Generic.IEnumerable<string>
A collection of validation errors, or empty if all tools are valid.
Exceptions
Exception Description ArgumentNullExceptionThrown when tools is null.
Microsoft.OData.Mcp.Core.Tools.IMcpToolFactory