Class: Resource
Defined in: packages/core/src/domain/Resource.ts:27
Represents an MCP Resource — a data source accessible via URI.
Resources are leaf nodes in the domain model hierarchy. They expose data that LLMs can read (e.g., files, database records, API responses).
Example
import { Resource, createAnnotations, Role } from '@vinkius-core/mcp-fusion';
const resource = new Resource('config');
resource.uri = 'file:///etc/app/config.json';
resource.mimeType = 'application/json';
resource.size = 1024;
resource.annotations = createAnnotations({
audience: [Role.ASSISTANT],
priority: 0.8,
});See
- GroupItem for group membership
- Annotations for audience/priority metadata
Extends
Constructors
Constructor
new Resource(name): Resource;Defined in: packages/core/src/domain/Resource.ts:37
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
Resource
Overrides
GroupItem.constructorProperties
annotations
annotations: Annotations | undefined;Defined in: packages/core/src/domain/Resource.ts:35
Resource annotations for audience, priority, and freshness
description
description: string | undefined;Defined in: packages/core/src/domain/BaseModel.ts:33
Detailed description of this entity's purpose
Inherited from
icons
icons: Icon[] | undefined;Defined in: packages/core/src/domain/BaseModel.ts:37
Visual icons associated with this entity
Inherited from
meta
meta: Map<string, unknown> | undefined;Defined in: packages/core/src/domain/BaseModel.ts:35
Arbitrary key-value metadata for extensibility
Inherited from
mimeType
mimeType: string | undefined;Defined in: packages/core/src/domain/Resource.ts:33
MIME type of the resource content (e.g. "application/json")
name
readonly name: string;Defined in: packages/core/src/domain/BaseModel.ts:29
Unique identifier within the parent scope
Inherited from
nameSeparator
readonly nameSeparator: string;Defined in: packages/core/src/domain/BaseModel.ts:27
Separator character for constructing fully qualified names
Inherited from
parentGroups
readonly parentGroups: Group[];Defined in: packages/core/src/domain/GroupItem.ts:28
Groups that contain this item (many-to-many relationship)
Inherited from
size
size: number | undefined;Defined in: packages/core/src/domain/Resource.ts:31
Size in bytes (if known)
title
title: string | undefined;Defined in: packages/core/src/domain/BaseModel.ts:31
Human-readable display title
Inherited from
uri
uri: string | undefined;Defined in: packages/core/src/domain/Resource.ts:29
URI that uniquely identifies this resource
DEFAULT_SEPARATOR
readonly static DEFAULT_SEPARATOR: string = ".";Defined in: packages/core/src/domain/BaseModel.ts:24
Default separator used in fully qualified names
Inherited from
Methods
addParentGroup()
addParentGroup(parentGroup): boolean;Defined in: packages/core/src/domain/GroupItem.ts:41
Add this item to a parent group.
Parameters
| Parameter | Type | Description |
|---|---|---|
parentGroup | Group | The group to join |
Returns
boolean
false if already a member, true if added
Inherited from
getFullyQualifiedName()
getFullyQualifiedName(): string;Defined in: packages/core/src/domain/GroupItem.ts:58
Returns the simple name (leaf items have no hierarchy prefix)
Returns
string
Inherited from
GroupItem.getFullyQualifiedName
removeParentGroup()
removeParentGroup(parentGroup): boolean;Defined in: packages/core/src/domain/GroupItem.ts:53
Remove this item from a parent group.
Parameters
| Parameter | Type | Description |
|---|---|---|
parentGroup | Group | The group to leave |
Returns
boolean
false if not found, true if removed