Skip to main content

Import

import { resource, resourceRegistry } from "veryfront/resource";

Examples

import { resource } from "veryfront/resource";
import { z } from "zod";

const docs = resource({
  pattern: "docs/:section",
  description: "API documentation",
  paramsSchema: z.object({ section: z.string() }),
  load: async ({ section }) => {
    return { content: await readDocs(section) };
  },
});

API

resource(config)

Create MCP-discoverable resource
PropertyTypeDescription
pattern?stringURI template pattern for parameterized resources
descriptionstringResource description
paramsSchemaz.ZodSchema<TParams>Zod schema for URI parameters
load(params: TParams) => Promise<TData> | TDataFunction returning resource content
subscribe?(params: TParams) => AsyncIterable<TData>Async iterable for real-time resource updates
mcp?McpConfigMCP server configuration
Returns: Resource<TParams, TData>

Exports

Functions

NameDescription
resourceCreate MCP-discoverable resource

Types

NameDescription
Resourceresource() return type
ResourceConfigresource() config

Constants

NameDescription
resourceRegistryGlobal resource registry