> ## Documentation Index
> Fetch the complete documentation index at: https://ai.easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ODataToolDescriptor

> A tool advertised on `tools/list`.

## Definition

**Assembly:** Microsoft.OData.Mcp.Core.dll

**Namespace:** Microsoft.OData.Mcp.Core.Catalog

**Inheritance:** System.Object

## Syntax

```csharp theme={null}
Microsoft.OData.Mcp.Core.Catalog.ODataToolDescriptor
```

## Summary

A tool advertised on `tools/list`.

## Constructors

### &#x20;.ctor

#### Syntax

```csharp theme={null}
public ODataToolDescriptor()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public Object()
```

## Properties

### &#x20;BindingParameterType

Gets or sets the EDM binding parameter type for a named operation tool, or `null` when the tool is unbound or not an operation.

#### Syntax

```csharp theme={null}
public string BindingParameterType { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;Description

Gets or sets the description.

#### Syntax

```csharp theme={null}
public string Description { get; set; }
```

#### Property Value

Type: `string`

### &#x20;DestructiveHint

Gets or sets a value indicating whether the tool is destructive.

#### Syntax

```csharp theme={null}
public bool DestructiveHint { get; set; }
```

#### Property Value

Type: `bool`

### &#x20;ElicitUrlProperties

Gets or sets JSON property names on the action result that are URLs to elicit, or `null`
when the term is omitted (the runtime then uses [McpVocabulary.DefaultElicitUrlProperties](https://ai.easyaf.dev/odata-mcp/api-reference/Microsoft/OData/Mcp/Core/Vocabularies/McpVocabulary.md#defaulteliciturlproperties)).

#### Syntax

```csharp theme={null}
public System.Collections.Generic.IReadOnlyList<string> ElicitUrlProperties { get; set; }
```

#### Property Value

Type: `System.Collections.Generic.IReadOnlyList<string>?`

### &#x20;EntitySetName

Gets or sets the entity set this named tool targets, if any.

#### Syntax

```csharp theme={null}
public string EntitySetName { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;IdempotentHint

Gets or sets a value indicating whether the tool is idempotent.

#### Syntax

```csharp theme={null}
public bool IdempotentHint { get; set; }
```

#### Property Value

Type: `bool`

### &#x20;InputSchema

Gets or sets the JSON Schema for arguments. Query properties must not include '\$'.

#### Syntax

```csharp theme={null}
public string InputSchema { get; set; }
```

#### Property Value

Type: `string`

### &#x20;IsTask

Gets or sets a value indicating whether a named action tool is annotated `Microsoft.OData.Mcp.V1.Task`.

#### Syntax

```csharp theme={null}
public bool IsTask { get; set; }
```

#### Property Value

Type: `bool`
`true` when the EDM action is a task; otherwise, `false`.

### &#x20;Name

Gets or sets the tool name.

#### Syntax

```csharp theme={null}
public string Name { get; set; }
```

#### Property Value

Type: `string`

### &#x20;OpenWorldHint

Gets or sets a value indicating whether the tool reaches an external world.

#### Syntax

```csharp theme={null}
public bool OpenWorldHint { get; set; }
```

#### Property Value

Type: `bool`

### &#x20;OperationKind

Gets or sets whether this tool is a named action, a named function, or neither.

#### Syntax

```csharp theme={null}
public Microsoft.OData.Mcp.Core.Catalog.ODataOperationKind OperationKind { get; set; }
```

#### Property Value

Type: `Microsoft.OData.Mcp.Core.Catalog.ODataOperationKind`

### &#x20;OperationName

Gets or sets the EDM short name of the action or function, or `null` when the tool is not an operation.

#### Syntax

```csharp theme={null}
public string OperationName { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;OutputSchema

Gets or sets the JSON Schema for `structuredContent`, or `null` when the tool's result is not a fixed JSON shape.

#### Syntax

```csharp theme={null}
public string OutputSchema { get; set; }
```

#### Property Value

Type: `string?`

#### Remarks

List tools and named `action_*` / `function_*` tools whose EDM return type is known declare one.
Describe tools return text or JSON depending on `format`, and CRUD data tools forward OData bodies, so they
leave this `null`. Operations with no return type also leave it `null`.

### &#x20;ReadOnlyHint

Gets or sets a value indicating whether the tool is read-only.

#### Syntax

```csharp theme={null}
public bool ReadOnlyHint { get; set; }
```

#### Property Value

Type: `bool`

### &#x20;Title

Gets or sets the title.

#### Syntax

```csharp theme={null}
public string Title { get; set; }
```

#### Property Value

Type: `string`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.