Class Resource
- Namespace
- ModelContextProtocol.Protocol
- Assembly
- ModelContextProtocol.Core.dll
Represents a known resource that the server is capable of reading.
public class Resource
- Inheritance
-
Resource
- Inherited Members
Remarks
See the schema for details.
Properties
Annotations
Gets or sets optional annotations for the resource.
[JsonPropertyName("annotations")]
public Annotations? Annotations { get; init; }
Property Value
Remarks
These annotations can be used to specify the intended audience (User, Assistant, or both) and the priority level of the resource. Clients can use this information to filter or prioritize resources for different roles.
Description
Gets or sets a description of what this resource represents.
[JsonPropertyName("description")]
public string? Description { get; init; }
Property Value
Remarks
This can be used by clients to improve the LLM's understanding of available resources. It can be thought of like a \"hint\" to the model.
The description should provide clear context about the resource's content, format, and purpose. This helps AI models make better decisions about when to access or reference the resource.
Client applications can also use this description for display purposes in user interfaces or to help users understand the available resources.
MimeType
Gets or sets the MIME type of this resource.
[JsonPropertyName("mimeType")]
public string? MimeType { get; init; }
Property Value
Remarks
MimeType specifies the format of the resource content, helping clients to properly interpret and display the data. Common MIME types include "text/plain" for plain text, "application/pdf" for PDF documents, "image/png" for PNG images, and "application/json" for JSON data.
This property may be null if the MIME type is unknown or not applicable for the resource.
Name
Gets or sets a human-readable name for this resource.
[JsonPropertyName("name")]
public required string Name { get; init; }
Property Value
Size
Gets or sets the size of the raw resource content (before base64 encoding), in bytes, if known.
[JsonPropertyName("size")]
public long? Size { get; init; }
Property Value
- long?
Remarks
This can be used by applications to display file sizes and estimate context window usage.
Uri
Gets or sets the URI of this resource.
[JsonPropertyName("uri")]
public required string Uri { get; init; }